kbd.h
Go to the documentation of this file.
00001 00052 #ifndef DRV_KBD_H 00053 #define DRV_KBD_H 00054 00055 #include "hw/kbd_map.h" 00056 00057 #include "cfg/cfg_kbd.h" // CONFIG_KBD_OBSERVER 00058 #include <cfg/compiler.h> 00059 00060 #include <struct/list.h> 00061 00069 #define KBD_POLL_SOFTINT 1 00070 /* \} */ 00071 00075 typedef struct KbdHandler 00076 { 00077 Node link; 00078 keymask_t (*hook)(keymask_t); 00079 int8_t pri; 00080 uint8_t flags; 00081 } KbdHandler; 00082 00083 #define KHF_RAWKEYS BV(0) 00086 void kbd_init(void); 00087 keymask_t kbd_peek(void); 00088 keymask_t kbd_peekMask(keymask_t mask); 00089 keymask_t kbd_get(void); 00090 keymask_t kbd_getMask(keymask_t mask); 00091 keymask_t kbd_get_timeout(mtime_t timeout); 00092 void kbd_addHandler(struct KbdHandler *handler); 00093 void kbd_remHandler(struct KbdHandler *handler); 00094 keymask_t kbd_setRepeatMask(keymask_t mask); 00095 00096 #if CONFIG_KBD_OBSERVER 00097 struct Subject; 00098 00100 extern struct Subject kbd_subject; 00101 00102 enum 00103 { 00104 /* Event for key presses. */ 00105 KBD_EVENT_KEY = 0x100 00106 }; 00107 #endif 00108 //defgroup kbd 00110 #endif /* DRV_KBD_H */
![(please configure the [header_logo] section in trac.ini)](/chrome/site/bertos_logo.png)