/shark/trunk/drivers/input/include/drivers/shark_keyb26.h |
---|
71,16 → 71,16 |
BYTE status; |
} KEY_EVT; |
#define isRepeated(k) (k.status == KEY_REPEATED) |
#define isReleased(k) (k.status == KEY_RELEASED) |
#define isRepeated(k) ((k).status == KEY_REPEATED) |
#define isReleased(k) ((k).status == KEY_RELEASED) |
#define isScanCode(k) (k.flag & SCAN_BIT) |
#define isLeftShift(k) (k.flag & SHFL_BIT) |
#define isRightShift(k) (k.flag & SHFR_BIT) |
#define isLeftCtrl(k) (k.flag & CNTL_BIT) |
#define isRightCtrl(k) (k.flag & CNTR_BIT) |
#define isLeftAlt(k) (k.flag & ALTL_BIT) |
#define isRightAlt(k) (k.flag & ALTR_BIT) |
#define isScanCode(k) ((k).flag & SCAN_BIT) |
#define isLeftShift(k) ((k).flag & SHFL_BIT) |
#define isRightShift(k) ((k).flag & SHFR_BIT) |
#define isLeftCtrl(k) ((k).flag & CNTL_BIT) |
#define isRightCtrl(k) ((k).flag & CNTR_BIT) |
#define isLeftAlt(k) ((k).flag & ALTL_BIT) |
#define isRightAlt(k) ((k).flag & ALTR_BIT) |
#define keyb_getchar() keyb_getch(BLOCK) |
/shark/trunk/drivers/input/shark/shark_keyb.c |
---|
338,18 → 338,20 |
#endif |
found = FALSE; |
for (i = 0; i < lastExc; i++) |
if ((keyExcTable[i].evt.scan == dt.scan) && |
(keyExcTable[i].evt.flag == dt.flag) && |
if (((keyExcTable[i].evt.flag & ~SCAN_BIT) == (dt.flag & ~SCAN_BIT)) && |
(keyExcTable[i].evt.status == dt.status)) { |
if ( ((keyExcTable[i].evt.scan == dt.scan) || (keyExcTable[i].evt.scan == 0)) && |
((keyExcTable[i].evt.ascii == dt.ascii) || (keyExcTable[i].evt.ascii == 0)) ){ |
#ifdef __KEYB_DEBUG__ |
printk("shark_keyb.c: Key_Hook ( %2x - %2x - %1d) -> ( %2x - %2x - %1d)\n", |
dt.scan, dt.flag, dt.status, |
keyExcTable[i].evt.scan, keyExcTable[i].evt.flag, keyExcTable[i].evt.status); |
dt.scan, dt.ascii, dt.flag, dt.status, |
keyExcTable[i].evt.scan, keyExcTable[i].evt.ascii, keyExcTable[i].evt.flag, keyExcTable[i].evt.status); |
#endif |
keyExcTable[i].func(&dt); |
if (keyExcTable[i].lock == TRUE) |
found = TRUE; |
} |
} |
/* when the port is full, data is lost */ |
if (!found) |
port_send(pkeyPort, (BYTE *) (&dt), NON_BLOCK); |