From 74093436ecc9adb81f9c25582f7939589aa80108 Mon Sep 17 00:00:00 2001 From: "Adam D. Ruppe" Date: Thu, 13 May 2021 14:00:33 -0400 Subject: [PATCH] fix little things --- minigui.d | 2 +- terminal.d | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/minigui.d b/minigui.d index b3696c0..99ca1fb 100644 --- a/minigui.d +++ b/minigui.d @@ -4807,7 +4807,7 @@ class Window : Widget { wid = this; auto event = new Event(ev.pressed ? "keydown" : "keyup", wid); event.originalKeyEvent = ev; - event.character = ev.character; + //event.character = ev.character; event.key = ev.key; event.state = ev.modifierState; event.shiftKey = (ev.modifierState & ModifierState.shift) ? true : false; diff --git a/terminal.d b/terminal.d index 3b4e0ea..1c52c25 100644 --- a/terminal.d +++ b/terminal.d @@ -8279,8 +8279,18 @@ version(TerminalDirectToEmulator) { return; } + auto keyToSend = ev.key; + + static if(UsingSimpledisplayX11) { + if((ev.state & ModifierState.alt) && ev.originalKeyEvent.charsPossible.length) { + keyToSend = cast(Key) ev.originalKeyEvent.charsPossible[0]; + } + } + + + defaultKeyHandler!(typeof(ev.key))( - ev.key + keyToSend , (ev.state & ModifierState.shift)?true:false , (ev.state & ModifierState.alt)?true:false , (ev.state & ModifierState.ctrl)?true:false @@ -8291,6 +8301,10 @@ version(TerminalDirectToEmulator) { }); widget.addEventListener("char", (Event ev) { + if(skipNextChar) { + skipNextChar = false; + return; + } dchar c = ev.character; if(c == 0x1c) /* ctrl+\, force quit */ {