Я видел много обсуждений, которые подобны этой проблеме, но я еще не смог получить эту работу.
Я недавно повредил левый палец мизинца довольно плохо. Я получил Четверку Fragpedal и пытаюсь повторно отобразить педали на вещи как управление и высокий звук и вкладка.
Устройство ведет себя как мышь - по умолчанию, педали отображаются на колесике прокрутки, колесике прокрутки вниз, щелкают правой кнопкой и щелкают левой кнопкой. Когда я выполняю xinput, я получаю следующее:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Good Work Systems, Inc. GWS IDI Device id=9 [slave pointer (2)]
⎜ ↳ PixArt USB Optical Mouse id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Good Work Systems, Inc. GWS IDI Device id=10 [slave keyboard (3)]
↳ Lenovo Lenovo Black Silk USB Keyboard id=12 [slave keyboard (3)]
↳ Lenovo Lenovo Black Silk USB Keyboard id=13 [slave keyboard (3)]
Педали являются "Хорошим Системным устройством" Работы.
Самое близкое, которое я получил к тому, чтобы заставлять это вести себя, как я хочу, создавало и редактировало .xbindkeys конфигурацию как таковую:
# Copy
"xte 'keydown Control_L' 'key C' 'keyup Control_L'"
b:5
# Cut
"xte 'keydown Control_L' 'key X' 'keyup Control_L"
b:4
# Paste
"xte 'keydown Control_L' 'key V' 'keyup Control_L'"
b:3
# Select All
"xte 'keydown Control_L' 'key A' 'keyup Control_L'"
b:1
Но это влияет на мои обычные кнопки мыши также. Как я указываю keymapping для каждого устройства?
Нанесите на карту кнопки мыши своего устройства к неиспользованным кнопкам мыши, затем используйте свой xbindkeys, чтобы относиться к тем.
xinput list
, чтобы найти, что идентификационное xinput set-button-map
повторно наносит на карту Ваши кнопки к другим кнопкам мыши. Например, если xinput list
указывает, что id Вашего устройства равняется 15, и у Вашего устройства есть четыре кнопки, сделайте xinput set-button-map 15 10 11 12 13
. Вы теперь установили щелчки мыши 15 устройства быть b:10, b:11, b:12, и b:13. Я понимаю, что этому 2 года в этой точке и уже ответило, но для дальнейшего использования, можно указать идентификатор устройства в вызове к xte
.
# Copy
"xte -i 9 'keydown Control_L' 'key C' 'keyup Control_L'"
b:5
# Cut
"xte -i 9 'keydown Control_L' 'key X' 'keyup Control_L"
b:4
# Paste
"xte -i 9 'keydown Control_L' 'key V' 'keyup Control_L'"
b:3
# Select All
"xte -i 9 'keydown Control_L' 'key A' 'keyup Control_L'"
b:1
Это должно ограничить изменение в едином устройстве, определенном идентификатором, данным как -i
. Так как эти идентификаторы могут быть отображены по-другому при каждом запуске, можно хотеть к scriptify изменение, таким образом, можно выполнить его вручную.
(см. также https://askubuntu.com/a/492745),