forked from joejulian/gio
app/internal/xkb: fix events sent when modifier keys are pressed
When modifier keys are active DispatchKey should not send a
key.EditEvent for the key that was pressed. For example when pressing
Ctrl+Alt+e DispatchEvent should not generate a key.EditEvent{Text:"e"}.
Signed-off-by: aarzilli <alessandro.arzilli@gmail.com>
This commit is contained in:
@@ -185,8 +185,11 @@ func (x *Context) DispatchKey(keyCode uint32) (events []event.Event) {
|
|||||||
C.xkb_compose_state_reset(x.compState)
|
C.xkb_compose_state_reset(x.compState)
|
||||||
str = x.utf8Buf[:size]
|
str = x.utf8Buf[:size]
|
||||||
case C.XKB_COMPOSE_NOTHING:
|
case C.XKB_COMPOSE_NOTHING:
|
||||||
|
mod := x.Modifiers()
|
||||||
|
if mod&(key.ModCtrl|key.ModAlt|key.ModSuper) == 0 {
|
||||||
str = x.charsForKeycode(kc)
|
str = x.charsForKeycode(kc)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// Report only printable runes.
|
// Report only printable runes.
|
||||||
var n int
|
var n int
|
||||||
for n < len(str) {
|
for n < len(str) {
|
||||||
|
|||||||
Reference in New Issue
Block a user