Підсумок запитання: Я хочу, щоб одна з моїх кнопок миші була зареєстрована як ліва кнопка Windows Super_Lна X11.
У своєму вікні менеджера я можу переміщувати вікна навколо, утримуючи «ліву кнопку Windows» (ліва супер) та перетягуючи вікно лівою кнопкою миші. Я хочу бути в змозі зробити це, не торкаючись клавіатури, тому хочу картувати ліву клавішу Супер на кнопку миші 11, щоб я міг утримувати кнопку 11 миші та натиснути + перетягнути вікна.
Найбільш очевидним рішенням є використання xbindkeys та xte на зразок цього ( .xbindkeysrc
):
"xte 'keydown Super_L'"
b:11
"xte 'keyup Super_L'"
b:11 + release
Це працює так:
- Коли я натискаю кнопку миші 11, Super_Lтакож натискаємо вниз
- Коли я відпускаю кнопку 11 миші, Super_Lтакож відпускається
Але є проблема: я не можу переміщувати Windows за допомогою Super_L+, Mouse1якщо я також утримую іншу кнопку миші, як-от кнопку миші 11. Використовуючи рішення вище, кнопка 11 миші все ще реєструється як натиснута та відпущена, і тому жодна з працюють оператори вікна.
Я спробував це , використовуючи як кориця і Приголомшливі WM, і абсолютно ні один з Super_Lроботи комбінації клавіш , утримуючи кнопку миші 10 або 11 проходить вниз.
Subpar хак
Я зараз працюю над цією проблемою, викликаючи натискання миші 11, щоб утримувати Super_Lкнопку протягом певного часу. Таким чином я можу натиснути кнопку миші, а потім на короткий період перетягнути речі:
"xte 'keydown Super_L' 'usleep 250000' 'keyup Super_L'"
b:11
Ще одна спроба
Як запропонував totti, я спробував цю xbindkeys
конфігурацію:
"xte 'mouseup 10' 'keydown Super_L'"
b:10
"xte 'keyup Super_L'"
b:10 + Release
Це не працює. Здається, Super_Lклавіша утримується, тому що як тільки я відпускаю кнопку 10, вона залишається утримувана назавжди (поки я Super_Lзнову не натискаю клавішу на клавіатурі), але кнопка миші все ще реєструється, тому що я не можу натискати та перетягувати вікна . Я не думаю, що я зможу зробити цю роботу за допомогою xbindkeys
і xte
.