diff options
author | Matthias Hentges <oe@hentges.net> | 2006-05-13 21:38:48 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2006-05-13 21:38:48 +0000 |
commit | 6111c2a083e44bdbd2cf342eb367ac34157ce328 (patch) | |
tree | e9f54a25b603272f07550da7c6332b60f4b69f3f /packages/linux/linux-openzaurus-2.6.16 | |
parent | a66cc8b939a0a2e762521979bf6c16735c68088c (diff) |
linux: Poodle / locomo: Enable SysRQ (Address+Home) and fix key-repeat rate
Diffstat (limited to 'packages/linux/linux-openzaurus-2.6.16')
-rw-r--r-- | packages/linux/linux-openzaurus-2.6.16/locomo-sysrq+keyrepeat.patch | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/packages/linux/linux-openzaurus-2.6.16/locomo-sysrq+keyrepeat.patch b/packages/linux/linux-openzaurus-2.6.16/locomo-sysrq+keyrepeat.patch new file mode 100644 index 0000000000..365ee1366e --- /dev/null +++ b/packages/linux/linux-openzaurus-2.6.16/locomo-sysrq+keyrepeat.patch @@ -0,0 +1,66 @@ +--- linux-2.6.16/drivers/input/keyboard/locomokbd.c.orig 2006-05-13 22:53:33.810228656 +0200 ++++ linux-2.6.16/drivers/input/keyboard/locomokbd.c 2006-05-13 22:56:56.544408376 +0200 +@@ -45,17 +45,20 @@ + #define LOCOMOKBD_NUMKEYS 128 + + +-#define LOCOMO_KEY_CALENDER KEY_F1 +-#define LOCOMO_KEY_ADDRESS KEY_F2 +-#define LOCOMO_KEY_CANCEL KEY_F4 +-#define LOCOMO_KEY_CENTER KEY_F5 +-#define LOCOMO_KEY_MAIL KEY_F10 +-#define LOCOMO_KEY_OK KEY_F11 ++#define LOCOMO_KEY_CALENDER KEY_LEFTCTRL ++#define LOCOMO_KEY_ADDRESS KEY_LEFTALT /* Needed SysRQ */ ++#define LOCOMO_KEY_HOME KEY_SYSRQ /* Need that for SysRQ */ + #define LOCOMO_KEY_MENU KEY_F12 ++#define LOCOMO_KEY_MAIL KEY_F10 ++#define LOCOMO_KEY_OK KEY_F11 /* Don't hardwire to KP_RETURN */ ++#define LOCOMO_KEY_CANCEL KEY_POWER ++#define LOCOMO_KEY_CENTER KEY_F5 /* Don't hardwire to KP_RETURN */ ++ ++#define LOCOMO_KEY_FN KEY_F9 + + static unsigned char locomokbd_keycode[LOCOMOKBD_NUMKEYS] = { +- 0, LOCOMO_KEY_CANCEL, LOCOMO_KEY_CALENDER, KEY_HOME, 0, 0, 0, 0, 0, 0, /* 0 - 9 */ +- KEY_HOME, 0, 0, 0, 0, 0, 0, LOCOMO_KEY_MENU, KEY_HOME, LOCOMO_KEY_ADDRESS, /* 10 - 19 */ ++ 0, LOCOMO_KEY_CANCEL, LOCOMO_KEY_CALENDER, LOCOMO_KEY_HOME, 0, 0, 0, 0, 0, 0, /* 0 - 9 */ ++ 0, 0, 0, 0, 0, 0, 0, LOCOMO_KEY_MENU, 0, LOCOMO_KEY_ADDRESS, /* 10 - 19 */ + 0, 0, 0, 0, 0, LOCOMO_KEY_MAIL, 0, 0, 0, 0, /* 20 - 29 */ + 0, 0, 0, LOCOMO_KEY_CENTER, 0, LOCOMO_KEY_MAIL, 0, 0, 0, 0, /* 30 - 39 */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, KEY_RIGHT, /* 40 - 49 */ +@@ -65,7 +68,7 @@ + 0, 0, 0, 0, 0, 0, KEY_ENTER, KEY_RIGHTSHIFT, KEY_K, KEY_J, /* 80 - 89 */ + KEY_G, KEY_F, KEY_X, KEY_S, 0, 0, 0, 0, 0, 0, /* 90 - 99 */ + 0, 0, KEY_DOT, 0, KEY_COMMA, KEY_N, KEY_B, KEY_C, KEY_Z, KEY_A, /* 100 - 109 */ +- KEY_LEFTSHIFT, KEY_TAB, KEY_LEFTCTRL, 0, 0, 0, 0, 0, 0, 0, /* 110 - 119 */ ++ KEY_LEFTSHIFT, KEY_TAB, LOCOMO_KEY_FN, 0, 0, 0, 0, 0, 0, 0, /* 110 - 119 */ + KEY_M, KEY_SPACE, KEY_V, KEY_APOSTROPHE, KEY_SLASH, 0, 0, 0 /* 120 - 128 */ + }; + +@@ -76,7 +79,7 @@ + #define NR_SCANCODES 128 + + #define KB_DELAY 8 +-#define SCAN_INTERVAL (HZ/10) ++#define SCAN_INTERVAL (HZ/20) + #define LOCOMOKBD_PRESSED 1 + + struct locomokbd { +@@ -146,6 +149,7 @@ + locomokbd_charge_all(membase); + + num_pressed = 0; ++ + for (col = 0; col < KB_COLS; col++) { + + locomokbd_activate_col(membase, col); +@@ -155,7 +159,7 @@ + for (row = 0; row < KB_ROWS; row++) { + scancode = SCANCODE(col, row); + if (rowd & KB_ROWMASK(row)) { +- /* printk(KERN_ERR "locomokbd: COL [%i] ROW [%i] scancode [%i] keycode [%i]\n",col,row,scancode,locomokbd->keycode[scancode]); */ ++ printk(KERN_ERR "locomokbd: ROW [%i] COL [%i] scancode [%i] keycode [%i]\n",row,col,scancode,locomokbd->keycode[scancode]); + num_pressed += 1; + input_report_key(locomokbd->input, locomokbd->keycode[scancode], 1); + } else { |