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:
@@ -1965,6 +1965,24 @@ engine_hanja_input_languages(struct ct *t)
|
||||
CT_EQ_INT(t, LangEN, im.l->lang);
|
||||
CT_CHECK(t, keystroke(Khangul, 0, &com));
|
||||
CT_EQ_INT(t, LangKO, im.l->lang);
|
||||
CT_CHECK(t, keystroke(Kzenkaku, 0, &com));
|
||||
CT_EQ_INT(t, LangJP, im.l->lang);
|
||||
CT_CHECK(t, keystroke(Kkana, 0, &com));
|
||||
CT_EQ_INT(t, LangJPK, im.l->lang);
|
||||
CT_CHECK(t, keystroke(Kkana, 0, &com));
|
||||
CT_EQ_INT(t, LangJP, im.l->lang);
|
||||
CT_CHECK(t, keystroke(Kzenkaku, 0, &com));
|
||||
CT_EQ_INT(t, LangEN, im.l->lang);
|
||||
CT_CHECK(t, keystroke(Khenkan, 0, &com));
|
||||
CT_EQ_INT(t, LangJP, im.l->lang);
|
||||
sclear(&com);
|
||||
if(typekeys(t, "ka", &com)){
|
||||
CT_CHECK(t, keystroke(Khenkan, 0, &com));
|
||||
CT_EQ_INT(t, 0, im.sel);
|
||||
CT_CHECK(t, keystroke(Kmuhenkan, 0, &com));
|
||||
checkstr(t, "無変換 commits", "カ", &com);
|
||||
CT_EQ_INT(t, LangEN, im.l->lang);
|
||||
}
|
||||
}
|
||||
|
||||
init();
|
||||
|
||||
@@ -55,6 +55,7 @@ ipc_masks_modifiers(struct ct *t)
|
||||
CT_EQ_UINT(t, Kret, ipckeysym(0xff0d, '\r'));
|
||||
CT_EQ_UINT(t, Kret, ipckeysym(0xff8d, '\r')); /* KP_Enter */
|
||||
CT_EQ_UINT(t, Ktab, ipckeysym(0xfe20, 0)); /* ISO_Left_Tab */
|
||||
CT_EQ_UINT(t, Kdown, ipckeysym(0xff99, 0)); /* KP_Down */
|
||||
CT_EQ_UINT(t, Kback, ipckeysym(0xff08, 8));
|
||||
CT_EQ_UINT(t, Kspec + 0xff, ipckeysym(0xffff, 0x7f)); /* Delete */
|
||||
CT_EQ_UINT(t, 0x1f642, ipckeysym(0x101f642, 0x1f642));
|
||||
|
||||
Reference in New Issue
Block a user