engine: Ctrl+Shift chords belong to the application
Ctrl+Shift+V switched to Vietnamese and ate the key, in every terminal where it pastes; Ctrl+Shift+T and N opened no tab. Only a plain Ctrl+letter is a strans command now; a chord with Shift, Alt, or Super commits what is pending and passes, as Alt and Super chords already did. Caps Lock still works: the keysym's case never mattered.
This commit is contained in:
@@ -1636,16 +1636,20 @@ engine_emoji_preedit_languages(struct ct *t)
|
||||
CT_CHECK(t, !keystroke(Kmodfirst+2, 0, &com));
|
||||
impre(&im, &shown);
|
||||
checkstr(t, "modifier preserves Japanese", "か", &shown);
|
||||
CT_CHECK(t, keystroke('E', Mctrl|Mshift, &com));
|
||||
CT_CHECK(t, keystroke('E', Mctrl, &com));
|
||||
checkstr(t, "committed Japanese preedit", "か", &com);
|
||||
CT_CHECK(t, search.lang);
|
||||
CT_EQ_INT(t, LangJP, im.l->lang);
|
||||
CT_CHECK(t, !keystroke('E', Mctrl|Malt, &com));
|
||||
CT_EQ_INT(t, 0, search.lang);
|
||||
CT_CHECK(t, keystroke('E', Mctrl|Mshift, &com));
|
||||
CT_CHECK(t, keystroke('E', Mctrl, &com));
|
||||
CT_CHECK(t, !keystroke('E', Mctrl|Msuper, &com));
|
||||
CT_EQ_INT(t, 0, search.lang);
|
||||
CT_CHECK(t, keystroke('E', Mctrl|Mshift, &com));
|
||||
CT_CHECK(t, keystroke('E', Mctrl, &com));
|
||||
CT_CHECK(t, !keystroke('V', Mctrl|Mshift, &com));
|
||||
CT_EQ_INT(t, 0, search.lang);
|
||||
CT_EQ_INT(t, LangJP, im.l->lang);
|
||||
CT_CHECK(t, keystroke('E', Mctrl, &com));
|
||||
CT_EQ_INT(t, LangJP, im.l->lang);
|
||||
CT_CHECK(t, keystroke('a', 0, &com));
|
||||
CT_CHECK(t, !keystroke(Kmodfirst+2, 0, &com));
|
||||
|
||||
Reference in New Issue
Block a user