summaryrefslogtreecommitdiff
path: root/packages/linux/linux-openzaurus-2.6.16
diff options
context:
space:
mode:
authorMatthias Hentges <oe@hentges.net>2006-05-13 21:38:48 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-05-13 21:38:48 +0000
commit6111c2a083e44bdbd2cf342eb367ac34157ce328 (patch)
treee9f54a25b603272f07550da7c6332b60f4b69f3f /packages/linux/linux-openzaurus-2.6.16
parenta66cc8b939a0a2e762521979bf6c16735c68088c (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.patch66
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 {