X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Fkbd.h;h=307cf5e20a924f28f15bfa75e5bda7a0793494e7;hb=b25aabb82dd47404b0697e1394fd3a14963e1224;hp=6b7e0cbdf3c62200e1b3ef63e62c958c6d9e1564;hpb=b92829994618e41c2b1bc9e48d5ce37797e175c7;p=bertos.git diff --git a/drv/kbd.h b/drv/kbd.h index 6b7e0cbd..307cf5e2 100755 --- a/drv/kbd.h +++ b/drv/kbd.h @@ -16,6 +16,9 @@ /*#* *#* $Log$ + *#* 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. *#* @@ -32,6 +35,7 @@ #include #include #include +#include // CONFIG_KBD_OBSERVER /** * \name Keyboard polling modes. @@ -58,11 +62,24 @@ 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); + +#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 */