From 02f579c8bae012c2590718888109efe11f20bcad Mon Sep 17 00:00:00 2001 From: s-ol Date: Thu, 16 May 2024 11:41:28 +0200 Subject: early keymap support --- virtual-programs/keyboard.folk | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'virtual-programs') diff --git a/virtual-programs/keyboard.folk b/virtual-programs/keyboard.folk index f28da39b..46b2ebf0 100644 --- a/virtual-programs/keyboard.folk +++ b/virtual-programs/keyboard.folk @@ -47,7 +47,8 @@ set keyboardDevices [walkInputEventPaths] foreach keyboard $keyboardDevices { Claim the keyboards are $keyboardDevices Start process "keyboard-$keyboard" { - source "lib/key-codes.tcl" + source "lib/Keymap.tcl" + set km [keymap load "us"] set KEY_STATES [list up down repeat] Wish $::thisProcess shares statements like \ @@ -74,19 +75,17 @@ foreach keyboard $keyboardDevices { if {$type == 0x01} { ;# EV_KEY set shift [dict get $modifiers shift] - set key [keyFromCode $code $shift] + set key [keymap resolve $km $code $shift] if {$key eq ""} { continue } set keyState [lindex $KEY_STATES $value] set isDown [expr {$keyState != "up"}] - if {[string match *SHIFT $key]} { + if {$key eq "Shift"} { dict set modifiers shift $isDown - } - if {[string match *CTRL $key]} { + } elseif {$key eq "Control"} { dict set modifiers ctrl $isDown - } - if {[string match *ALT $key]} { + } elseif {$key eq "Alt"} { dict set modifiers alt $isDown } -- cgit v1.2.3