Configure upcased key as combination with shift mod

This commit is contained in:
Thibault Jouan
2015-04-15 01:09:18 +00:00
parent 56197c85f8
commit 9c9aa1dabb
7 changed files with 63 additions and 9 deletions

View File

@@ -21,8 +21,10 @@ module Uh
@events.emit :connected, args: @display
end
def grab_key keysym
@display.grab_key keysym.to_s, KEY_MODIFIERS[:mod1]
def grab_key keysym, mod = nil
mod_mask = KEY_MODIFIERS[:mod1]
mod_mask |= KEY_MODIFIERS[mod] if mod
@display.grab_key keysym.to_s, mod_mask
end
def handle_pending_events
@@ -31,7 +33,11 @@ module Uh
def handle event
case event.type
when :key_press then @events.emit :key, event.key.to_sym
when :key_press
key_selector = event.modifier_mask & KEY_MODIFIERS[:shift] == 1 ?
[event.key.to_sym, :shift] :
event.key.to_sym
@events.emit :key, *key_selector
end
end