Skip to content

Commit 5870944

Browse files
add mouse button mappings for remapper
1 parent 027cd81 commit 5870944

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

internal/keys/keys.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,14 @@ var KeyCodeMap = map[string]uint16{
8787
// Tablet pen buttons
8888
"btn_tool_pen": evdev.BTN_TOOL_PEN, "btn_touch": evdev.BTN_TOUCH,
8989
"btn_stylus": evdev.BTN_STYLUS, "btn_stylus2": evdev.BTN_STYLUS2,
90+
// Mouse buttons
91+
"btn_left": evdev.BTN_LEFT, "lclick": evdev.BTN_LEFT, "leftclick": evdev.BTN_LEFT, "lbutton": evdev.BTN_LEFT, "leftbutton": evdev.BTN_LEFT, "mouse1": evdev.BTN_LEFT,
92+
"btn_right": evdev.BTN_RIGHT, "rclick": evdev.BTN_RIGHT, "rightclick": evdev.BTN_RIGHT, "rbutton": evdev.BTN_RIGHT, "rightbutton": evdev.BTN_RIGHT, "mouse2": evdev.BTN_RIGHT,
93+
"btn_middle": evdev.BTN_MIDDLE, "mclick": evdev.BTN_MIDDLE, "middleclick": evdev.BTN_MIDDLE, "mbutton": evdev.BTN_MIDDLE, "middlebutton": evdev.BTN_MIDDLE, "mouse3": evdev.BTN_MIDDLE,
94+
"btn_forward": evdev.BTN_FORWARD, "forward": evdev.BTN_FORWARD, "mouse4": evdev.BTN_FORWARD,
95+
"btn_back": evdev.BTN_BACK, "back": evdev.BTN_BACK, "mouse5": evdev.BTN_BACK,
96+
"btn_side": evdev.BTN_SIDE,
97+
"btn_extra": evdev.BTN_EXTRA,
9098
// Output aliases for scroll/wheel (map to REL codes for remap output)
9199
"scrollup": evdev.REL_WHEEL, "scrolldown": evdev.REL_WHEEL,
92100
"scrollleft": evdev.REL_HWHEEL, "scrollright": evdev.REL_HWHEEL,
@@ -161,6 +169,10 @@ func init() {
161169
evdev.BTN_THUMBL: "btn_thumbl", evdev.BTN_THUMBR: "btn_thumbr",
162170
evdev.BTN_TOOL_PEN: "btn_tool_pen", evdev.BTN_TOUCH: "btn_touch",
163171
evdev.BTN_STYLUS: "btn_stylus", evdev.BTN_STYLUS2: "btn_stylus2",
172+
// Mouse buttons canonical names
173+
evdev.BTN_LEFT: "btn_left", evdev.BTN_RIGHT: "btn_right", evdev.BTN_MIDDLE: "btn_middle",
174+
evdev.BTN_FORWARD: "btn_forward", evdev.BTN_BACK: "btn_back",
175+
evdev.BTN_SIDE: "btn_side", evdev.BTN_EXTRA: "btn_extra",
164176
}
165177
for code, name := range canonicalOverrides {
166178
CodeToNameMap[code] = name

internal/listener/listener.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,9 @@ func CreateKeyInjector() (*evdev.InputDevice, error) {
482482
for i := range codes {
483483
codes[i] = evdev.EvCode(i + 1)
484484
}
485+
// Add mouse button codes (BTN_LEFT through BTN_EXTRA: 0x110-0x116)
486+
codes = append(codes, evdev.BTN_LEFT, evdev.BTN_RIGHT, evdev.BTN_MIDDLE,
487+
evdev.BTN_SIDE, evdev.BTN_EXTRA, evdev.BTN_FORWARD, evdev.BTN_BACK)
485488
return evdev.CreateDevice(injectorDeviceName, evdev.InputID{BusType: injectorBusType, Vendor: injectorVendorID, Product: injectorProductID, Version: injectorVersion},
486489
map[evdev.EvType][]evdev.EvCode{
487490
evdev.EV_KEY: codes,

0 commit comments

Comments
 (0)