2011-06-16 14:49:21 +03:00
|
|
|
Index: allegro-4.4.2/src/linux/lkeybd.c
|
|
|
|
===================================================================
|
2011-06-19 13:29:22 +03:00
|
|
|
--- allegro-4.4.2.orig/src/linux/lkeybd.c 2011-06-19 11:32:20.000000000 +0200
|
|
|
|
+++ allegro-4.4.2/src/linux/lkeybd.c 2011-06-19 11:32:31.000000000 +0200
|
2011-06-16 22:01:55 +03:00
|
|
|
@@ -143,7 +143,10 @@
|
|
|
|
/* convert Allegro format scancodes into key_shifts flag bits */
|
|
|
|
static unsigned short modifier_table[__allegro_KEY_MAX - __allegro_KEY_MODIFIERS] =
|
|
|
|
{
|
|
|
|
- __allegro_KB_SHIFT_FLAG, __allegro_KB_SHIFT_FLAG, __allegro_KB_CTRL_FLAG,
|
|
|
|
+ __allegro_KB_SHIFT_FLAG, __allegro_KB_SHIFT_FLAG,
|
|
|
|
+ /* note: we drop LCONTROL here, as the NanoNote uses it as modifier key
|
|
|
|
+ 'Fn', passing it as CTRL causes problems with ASE's key bindings */
|
|
|
|
+ /*__allegro_KB_CTRL_FLAG*/ 0,
|
|
|
|
__allegro_KB_CTRL_FLAG, __allegro_KB_ALT_FLAG, __allegro_KB_ALT_FLAG,
|
|
|
|
__allegro_KB_LWIN_FLAG, __allegro_KB_RWIN_FLAG, __allegro_KB_MENU_FLAG,
|
|
|
|
__allegro_KB_SCROLOCK_FLAG, __allegro_KB_NUMLOCK_FLAG, __allegro_KB_CAPSLOCK_FLAG
|
2011-06-19 13:29:22 +03:00
|
|
|
@@ -204,7 +207,10 @@
|
2011-06-16 14:49:21 +03:00
|
|
|
map = 0;
|
|
|
|
if (key[__allegro_KEY_LSHIFT] || key[__allegro_KEY_RSHIFT]) map |= 1;
|
|
|
|
if (key[__allegro_KEY_ALTGR]) map |= 2;
|
|
|
|
- if (key[__allegro_KEY_LCONTROL] || key[__allegro_KEY_RCONTROL]) map |= 4;
|
2011-06-19 13:29:22 +03:00
|
|
|
+
|
|
|
|
+ /* fixes for nanonote's keyboard: LCONTROL is 'Fn' modifier */
|
|
|
|
+ if (key[__allegro_KEY_LCONTROL]) map |= (1<<6);
|
|
|
|
+ if (key[__allegro_KEY_RCONTROL]) map |= 4;
|
2011-06-16 14:49:21 +03:00
|
|
|
if (key[__allegro_KEY_ALT]) map |= 8;
|
|
|
|
|
|
|
|
/* Map scancode to type and value */
|