engine: the Japanese keyboard's own keys; keypad arrows move through candidates
半角/全角, ひらがな/カタカナ, 変換, and 無変換 committed the reading and did nothing, like any function key. They now stand for what a Japanese keyboard means by them: toggling Japanese and English, switching kana modes, converting (or turning Japanese on), and turning it off; the Korean keys became a switch of the same shape. The keypad's arrows and page keys, with NumLock off, fold onto the plain ones as its Enter and Tab already did.
This commit is contained in:
11
ipc.c
11
ipc.c
@@ -166,7 +166,8 @@ ipcconnect(void)
|
||||
/*
|
||||
* Engine key for an X keysym and its Unicode value: printable characters
|
||||
* as themselves, the function keysyms 0xff00-0xffff as Kspec+offset.
|
||||
* The keypad and Shift+Tab (ISO_Left_Tab) variants fold onto Enter and Tab.
|
||||
* The keypad keys and Shift+Tab (ISO_Left_Tab) fold onto their plain
|
||||
* counterparts.
|
||||
*/
|
||||
uint32_t
|
||||
ipckeysym(uint32_t sym, uint32_t unicode)
|
||||
@@ -179,6 +180,14 @@ ipckeysym(uint32_t sym, uint32_t unicode)
|
||||
return Ktab;
|
||||
case 0xff8d:
|
||||
return Kret;
|
||||
case 0xff97:
|
||||
return Kup;
|
||||
case 0xff99:
|
||||
return Kdown;
|
||||
case 0xff9a:
|
||||
return Kpgup;
|
||||
case 0xff9b:
|
||||
return Kpgdown;
|
||||
}
|
||||
if(sym >= 0xff00 && sym <= 0xffff)
|
||||
return Kspec + (sym - 0xff00);
|
||||
|
||||
Reference in New Issue
Block a user