X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Fkbd.h;h=b9a253c3effbc38664c76435540055a5677737d5;hb=6720e3d937d90fea2a1cb270f87ac8b3bd7e7353;hp=863831cbfccfd8a1f028c60fcc78e449dd5ca7fa;hpb=a98a42143f3b9c130a36e59221817fa5260a8322;p=bertos.git diff --git a/drv/kbd.h b/drv/kbd.h index 863831cb..b9a253c3 100755 --- a/drv/kbd.h +++ b/drv/kbd.h @@ -16,6 +16,15 @@ /*#* *#* $Log$ + *#* Revision 1.5 2006/06/03 13:57:36 bernie + *#* Make keyboard repeat mask run-time configurable. + *#* + *#* Revision 1.4 2006/03/20 17:50:17 bernie + *#* Add FreeRTOS and Observers support. + *#* + *#* Revision 1.3 2006/02/27 22:39:45 bernie + *#* Misc build and doc fixes from project_grl. + *#* *#* Revision 1.2 2006/02/10 12:38:16 bernie *#* Add preliminary FreeRTOS support; Enforce CONFIG_* definitions. *#* @@ -29,9 +38,18 @@ #include #include #include +#include // CONFIG_KBD_OBSERVER +/** + * \name Keyboard polling modes. + * + * Define CONFIG_KBD_POLL to one of these. + * + * \{ + */ #define KBD_POLL_SOFTINT 1 #define KBD_POLL_FREERTOS 2 +/* \} */ /*! * Keyboard handler descriptor @@ -47,11 +65,25 @@ typedef struct KbdHandler #define KHF_RAWKEYS BV(0) /*!< Handler gets raw key events */ -extern void kbd_init(void); -extern keymask_t kbd_peek(void); -extern keymask_t kbd_get(void); -extern keymask_t kbd_get_timeout(mtime_t timeout); -extern void kbd_addHandler(struct KbdHandler *handler); -extern void kbd_remHandler(struct KbdHandler *handler); +void kbd_init(void); +keymask_t kbd_peek(void); +keymask_t kbd_get(void); +keymask_t kbd_get_timeout(mtime_t timeout); +void kbd_addHandler(struct KbdHandler *handler); +void kbd_remHandler(struct KbdHandler *handler); +keymask_t kbd_setRepeatMask(keymask_t mask); + +#if CONFIG_KBD_OBSERVER + struct Subject; + + /** Subject structure for keyboard observers. */ + extern struct Subject kbd_subject; + + enum + { + /* Event for key presses. */ + KBD_EVENT_KEY = 0x100 + }; +#endif #endif /* DRV_KBD_H */