Messages in this thread Patch in this message | | | From | Hiroshi Miura <> | Subject | [PATCH 2.5.59] support japanese JP106 keyboard on new console. | Date | Fri, 24 Jan 2003 12:14:53 +0900 (JST) |
| |
Hi,
After re-writting a console layer, a japanese keyboard is not supported (or degraded). This patch fixs it.
A USB keyboard driver may have same problem, but I don't have one.
--- linux-2.5.59/drivers/input/keyboard/atkbd.c 2002-12-03 07:59:41.000000000 +0900 +++ edited/linux-2.5.59/drivers/input/keyboard/atkbd.c 2003-01-24 09:13:11.000000000 +0900 @@ -309,6 +309,12 @@ if (atkbd_command(atkbd, &atkbd->oldset, ATKBD_CMD_GSCANSET)) atkbd->oldset = 2; + if (atkbd->id == 0xab02) { + printk("atkbd: jp109(106) keyboard found\n"); + param[0] = atkbd_set; + atkbd_command(atkbd, param, ATKBD_CMD_SSCANSET); + return 5; + } /* * For known special keyboards we can go ahead and set the correct set. * We check for NCD PS/2 Sun, NorthGate OmniKey 101 and @@ -531,6 +537,12 @@ else memcpy(atkbd->keycode, atkbd_set2_keycode, sizeof(atkbd->keycode)); + if (atkbd->set == 5) { + atkbd->keycode[0x13] = 0x70; /* Hiragana/Katakana */ + atkbd->keycode[0x6a] = 0x7c; /* Yen, pipe 124*/ + atkbd->set = 2; + } + atkbd->dev.name = atkbd->name; atkbd->dev.phys = atkbd->phys; atkbd->dev.id.bustype = BUS_I8042; @@ -544,7 +556,7 @@ input_register_device(&atkbd->dev); - printk(KERN_INFO "input: %s on %s\n", atkbd->name, serio->phys); + printk(KERN_INFO "input: %s (0x%x) on %s\n", atkbd->name, atkbd->id, serio->phys); } -- Hiroshi Miura --- http://www.da-cha.org/ NTTDATA Corp. Marketing & Business Strategy Planning Dept. --- miurahr@nttdata.co.jp Key fingerprint = 9117 9407 5684 FBF1 4063 15B4 401D D077 04AB 8617 -- My hacking life is happy as the day is long - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |