Проблема не в уровне X - даже спецификация USB-мыши допускает только колесо прокрутки влево-вправо.
Игровая мышь Catclysm имеет USB-интерфейсы как для мыши, так и для клавиатуры - в основном вам нужно указать мыши, какие кнопки вы хотите сопоставить с каким нажатием клавиши (клавиш).
Единственным официально поддерживаемым способом является запуск виртуальной машины Windows, загрузка с использованием официально поддерживаемого SteelSeries драйвера и загрузка вашей конфигурации во встроенную память мыши.
Я написал свой собственный драйвер, потратив некоторое время на обратное проектирование протокола, который они использовали. Он не охватывает многих функций, но я хочу играть в компьютерные игры и управлять своей оконной системой - для этого она работает нормально. См. https://github.com/owenRiddy/cataclysm-mouse
Это связано с тем, что шаблон соответствия . *
- это так называемое жадное соответствие , что означает, что он вернет самую большую строку, соответствующую вашему поиску шаблон.
Вам нужно использовать нежадное (или ленивое ) соответствие, которое возвращает самую короткую строку, соответствующую вашему шаблону. Вы можете сделать это, изменив жадное соответствие с . *
на . *?
. Однако grep
обычно не поддерживает это по умолчанию, но вы можете включить это, используя параметр -P
, который позволяет согласовывать регулярные выражения, подобные Perl.
Короче говоря, вы можете изменить свою команду grep на ). *? (? = grep -o -P '(? <=
.
Более подробную информацию об этом ответе можно найти на https://stackoverflow.com/questions/3027518/non-greedy-grep