From 0244a530f5bae982fe38bc852bdc3f4886ec0bac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20K=C3=BChling?= Date: Thu, 16 Jun 2011 21:01:55 +0200 Subject: [PATCH] liballegro: yet another keyboard fix for 'Fn' key. Keep Fn key (i.e. LCONTROL) from appearing in the key_shifts mask. Else allegro applications will think that ctrl+ was pressed. --- liballegro/patches/060-fix-keyboard-drv.patch | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/liballegro/patches/060-fix-keyboard-drv.patch b/liballegro/patches/060-fix-keyboard-drv.patch index 0330907..9144c14 100644 --- a/liballegro/patches/060-fix-keyboard-drv.patch +++ b/liballegro/patches/060-fix-keyboard-drv.patch @@ -1,8 +1,20 @@ Index: allegro-4.4.2/src/linux/lkeybd.c =================================================================== --- allegro-4.4.2.orig/src/linux/lkeybd.c 2011-06-16 13:35:57.000000000 +0200 -+++ allegro-4.4.2/src/linux/lkeybd.c 2011-06-16 13:46:23.000000000 +0200 -@@ -204,9 +204,13 @@ ++++ allegro-4.4.2/src/linux/lkeybd.c 2011-06-16 20:27:40.000000000 +0200 +@@ -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 +@@ -204,9 +207,13 @@ map = 0; if (key[__allegro_KEY_LSHIFT] || key[__allegro_KEY_RSHIFT]) map |= 1; if (key[__allegro_KEY_ALTGR]) map |= 2;