Кнопка касания кнопки Remap на мышке Microsoft Sculpt Comfort

Недавно я купил мышь Microsoft Sculpt Comfort. Он использует Bluetooth для подключения к моему ноутбуку, и все обычные кнопки мыши отлично работают как в Linux, так и в Windows 7. Однако в этом отличие от этой мыши заключается в том, что у нее есть специальный ключ Windows / Super на стороне, которая запускает начало / меню, когда нажат. Он также имеет сенсорный датчик, который обнаруживает, что боковая кнопка поглажена вверх или вниз и вибрирует мышь, чтобы подтвердить, что она была активирована.

Конечно, в Windows есть программа, которая позволяет мне изменить то, что делают удары, и отключить вибрацию.

В Linux xev обнаруживает только обычное нажатие клавиши, когда боковая кнопка нажата или нажата. Xev не сообщает о нажатиях кнопок мыши.

Итак, мой вопрос: могу ли я изменить, какие нажатия клавиш отправляются, когда под Linux?

Я хотел бы изменить привязку клавиш с Windows до down, Super , чтобы перейти (что сообщается xev) в ctrl + alt + left / право переключаться между рабочими пространствами.

Спасибо за любую помощь!

1
задан 3 August 2017 в 19:13

2 ответа

Так как Microsoft Sculpt Comfort Mouse не регистрирует нажатия кнопок мыши для супер и салфетки, но вместо этого регистрирует нажатия клавиш клавиатуры, я использовал пакеты «xautomation» и «xbindkeys» для прослушивания этих нажатий клавиш и отправьте Ctrl + Alt + Right / Left для переключения между рабочими пространствами. Это не идеальное решение, но оно работает как 8 из 10 раз.

#Move to left workspace
"xte 'keydown Control_L' 'keydown Alt_L' 'usleep 100' 'key Left' 'keyup Control_L' 'keyup Alt_L' 'keyup Left'"
   m:0x4+mod4+m:0x0+c:23
   #Control_L+Super_L+Tab

#Move to right workspace
"xte 'keydown Control_L' 'keydown Alt_L' 'usleep 100' 'key Right' 'keyup Control_L' 'keyup Alt_L' 'keyup Right'"
   m:0x4+mod4+m:0x0+c:22
   #Control_L+Super_L+Backspace

Что делает этот скрипт xbindkeys, он прослушивает нажатия клавиш, которые мыши переносят и прокручивают жесты, отправляют на компьютер. Если обнаружено, xautomation отправляет стандартное нажатие клавиши рабочего стола, Ctrl + alt + Alt / right.

Жесткий жест на мыши посылает нажатие клавиши alt + left Вправо + вправо . Жест по экрану мыши нажимает клавишу Влево + левая верхняя + вкладка. m: 0x4 + mod4 + m: 0x0 + c22 - это фактическая комбинация клавиш, которая обнаруживается с помощью xbindkeys.

Я немного потрудился с этим, чтобы увидеть, могу ли я повысить эффективность, но для теперь это выполняет свою работу. Я просто надеюсь, что оставил и backspace, что выходы мыши не завинчиваются с какой-либо работой, которую я делаю.

2
ответ дан 24 May 2018 в 10:20
  • 1
    Можете ли вы объяснить, как работает решение? Является ли передача мыши Control_L+Super_L+Tab (откуда идет Control_L + Super_L)? Или вы сопоставляете кнопки мыши с m:0x4+mod4+m:0x0+c:23 (Вы, казалось, говорили, что в вопросе не возникли события мыши)? – Volker Siegel 17 August 2014 в 03:12
  • 2
    Я отредактировал свое решение, чтобы объяснить, откуда идет Control_L + Super_L. Я также объяснил цель m: 0x0 + mod4 + m: 0x0 + c: 23. – user223544 7 December 2014 в 23:37

Я хотел отобразить одни и те же кнопки для навигации по вкладкам в Firefox в обоих направлениях. Я использую xbindkeys и xmacro. Это работает очень хорошо!

.xbindkeysrc

#Thumb down
"echo 'KeyStrPress Control_L KeyStrPress Tab KeyStrRelease Control_L KeyStrRelease Tab'|xmacroplay :0"
   Control+Mod4+Tab

#Thumb up
"echo 'KeyStrPress Control_L KeyStrPress Shift_L KeyStrPress ISO_Left_Tab KeyStrRelease Control_L KeyStrRelease Shift_L KeyStrRelease ISO_Left_Tab' |xmacroplay :0"
   Control+Mod4+BackSpace
0
ответ дан 24 May 2018 в 10:20

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

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