Allow button targets to handle keyboard events.

This commit is contained in:
Anna Rose Wiggins 2025-08-01 17:26:19 -04:00
parent 61fe5208e6
commit 32fa7d27e0
4 changed files with 123 additions and 88 deletions

View file

@ -8,13 +8,23 @@ import (
"github.com/holoplot/go-evdev"
)
func parseCodeButton(code string) (evdev.EvCode, error) {
prefix := CodePrefixButton
if strings.HasPrefix(code, CodePrefixKey+"_") {
prefix = CodePrefixKey
}
return parseCode(code, prefix)
}
func parseCode(code, prefix string) (evdev.EvCode, error) {
code = strings.ToUpper(code)
var codeLookup map[string]evdev.EvCode
switch prefix {
case CodePrefixButton:
case CodePrefixButton, CodePrefixKey:
codeLookup = evdev.KEYFromString
case CodePrefixAxis:
codeLookup = evdev.ABSFromString