File tree 1 file changed +9
-8
lines changed
1 file changed +9
-8
lines changed Original file line number Diff line number Diff line change @@ -332,14 +332,15 @@ void TermIO::keyModsOff(ConsoleCtl &con) noexcept
332
332
333
333
void TermIO::normalizeKey (KeyDownEvent &keyDown) noexcept
334
334
{
335
- TKey key (keyDown);
336
- if (key.mods & (kbShift | kbCtrlShift | kbLeftAlt))
335
+ TKey tKey (keyDown);
336
+ ushort newMods = tKey.mods & (kbShift | kbLeftCtrl | kbLeftAlt);
337
+ if (newMods != 0 )
337
338
{
338
339
// Modifier precedece: Shift < Ctrl < Alt.
339
- int largestMod = (key. mods & kbLeftAlt) ? 2
340
- : (key. mods & kbCtrlShift ) ? 1
340
+ int largestMod = (newMods & kbLeftAlt) ? 2
341
+ : (newMods & kbLeftShift ) ? 1
341
342
: 0 ;
342
- if (ushort keyCode = moddedKeyCodes[key .code ][largestMod])
343
+ if (ushort keyCode = moddedKeyCodes[tKey .code ][largestMod])
343
344
{
344
345
keyDown.keyCode = keyCode;
345
346
if (keyDown.charScan .charCode < ' ' )
@@ -350,9 +351,9 @@ void TermIO::normalizeKey(KeyDownEvent &keyDown) noexcept
350
351
// when available.
351
352
ushort origMods = keyDown.controlKeyState ;
352
353
keyDown.controlKeyState =
353
- ((origMods | key. mods ) & ~(kbCtrlShift | kbAltShift))
354
- | ((origMods & kbCtrlShift ? origMods : key. mods ) & kbCtrlShift)
355
- | ((origMods & kbAltShift ? origMods : key. mods ) & kbAltShift)
354
+ ((origMods | newMods ) & ~(kbCtrlShift | kbAltShift))
355
+ | ((origMods & kbCtrlShift ? origMods : newMods ) & kbCtrlShift)
356
+ | ((origMods & kbAltShift ? origMods : newMods ) & kbAltShift)
356
357
;
357
358
}
358
359
You can’t perform that action at this time.
0 commit comments