Как настроить трекбол Elecom Huge для прокрутки вместе с мячом?

Также можно добавить новую строку только перед первой строкой каждого блока комментариев, используя sedветки:

sed -n '1{p;d}; /^#/{s/^/\n/;:x;p;n;/^#/bx}; /^#/!p' filename

Здесь:

  • 1{p;d}позволяет избежать добавления новой строки перед первой строкой.

  • /^#/{s/^/\n/;:x;p;n;/^#/bx}заключается в добавлении новой строки перед каждым блоком комментариев. Вот разбивка того, что он делает:

    • /^#/соответствует строкам, начинающимся с #. Для этих строк sedвыполнит блок команд в фигурных скобках.

    • s/^/\n/добавляет новую строку перед соответствующей строкой.

    • :x;p;n;/^#/bxопределяет метку x, печатает пространство шаблонов (p), заменяет пространство шаблонов следующей строкой ввода(n)и возвращает к x, если новое пространство шаблонов является комментарием (/^#/bx).

  • /^#/!pобычно печатает строки, не являющиеся комментариями.

РЕДАКТИРОВАТЬ :Вы также можете сделать команду недемпотентной следующим образом:

sed -n '1{p;d}; /^\s*$/bx; /^#/{s/^/\n/;:x;p;n;/^#/bx}; /^#/!p' filename
1
16.12.2020, 12:58
1 ответ

С помощью xinput listможно легко идентифицировать устройство Elecom по имени. В этом случае строка имени будет ELECOM TrackBall Mouse HUGE TrackBall. Поскольку устройства Elecom сообщают как об указателях, так и о клавиатурах, требуется дополнительный префикс pointer:.

Затем необходимо идентифицировать идентификатор рассматриваемой кнопки. Используя xev, легко увидеть, что кнопка Forward(, расположенная рядом с Fn1и Fn2), имеет идентификатор 9. Осталось включить метод прокрутки и выбрать кнопку прокрутки. Следующие две строки дополняют это:

xinput set-prop "pointer:ELECOM TrackBall Mouse HUGE TrackBall" 'libinput Button Scrolling Button' 9
xinput set-prop "pointer:ELECOM TrackBall Mouse HUGE TrackBall" 'libinput Scroll Method Enabled' 0 0 1

На данный момент прокрутка настроена по желанию, но кнопка еще не служит средней кнопкой. Чтобы изменить это поведение, мы переназначаем кнопки так, чтобы кнопка 9отображалась как2(средняя ):

.
xinput set-button-map $(xinput list --id-only "pointer:ELECOM TrackBall Mouse HUGE TrackBall") \
1 2 3 4 5 6 7 8 2 10 11 12

Чтобы сделать эти настройки постоянными, указанные выше строки можно поместить, например. в ~/.xinitrcдля запуска в начале сеанса Xorg.

2
18.03.2021, 22:42

Теги

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