Кнопки перекарты на вторичном устройстве

Я видел много обсуждений, которые подобны этой проблеме, но я еще не смог получить эту работу.

Я недавно повредил левый палец мизинца довольно плохо. Я получил Четверку 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 для каждого устройства?

4
задан 16 October 2014 в 03:36

2 ответа

Нанесите на карту кнопки мыши своего устройства к неиспользованным кнопкам мыши, затем используйте свой xbindkeys, чтобы относиться к тем.

  1. Использование xinput list, чтобы найти, что идентификационное
  2. Использование Вашего устройства 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.
  3. Обновление Ваш .xbindkeysrc, чтобы повторно нанести на карту те кнопки к Вашим желаемым коротким путям.
3
ответ дан 17 November 2019 в 15:03

Я понимаю, что этому 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),

0
ответ дан 1 December 2019 в 10:05

Другие вопросы по тегам:

Похожие вопросы: