Резюме вопроса: я хочу, чтобы одна из моих кнопок мыши была зарегистрирована в Super_LX11 как левая кнопка Windows .
В моем диспетчере окон я могу перемещать окна, удерживая «левую кнопку Windows» (Left Super) и перетаскивая окно левой кнопкой мыши. Я хочу сделать это без прикосновения к клавиатуре, поэтому я хочу сопоставить левую супер-клавишу с кнопкой мыши 11, чтобы я мог удерживать кнопку мыши 11 и щелкать + перетаскивать окна.
Наиболее очевидным решением является использование xbindkeys и xte следующим образом ( .xbindkeysrc
):
"xte 'keydown Super_L'"
b:11
"xte 'keyup Super_L'"
b:11 + release
Это работает так:
- Когда я нажимаю кнопку мыши 11, Super_Lтакже нажимается вниз
- Когда я отпускаю кнопку мыши 11, Super_Lтакже отпускается
Но есть проблема: я не могу перемещать окна с помощью Super_L+, Mouse1если я также удерживаю другую кнопку мыши, например, кнопку мыши 11. Используя приведенное выше решение, кнопка мыши 11 по-прежнему регистрируется как нажатая и отпущенная, и поэтому ни одно из работа оконного менеджера.
Я пробовал это использовать Cinnamon и Awesome WM, и абсолютно ни одна из Super_Lкомбинаций клавиш не работает, пока нажата кнопка мыши 10 или 11.
Неподходящий хак
В настоящее время я работаю над этой проблемой, заставляя щелчок мыши 11 удерживать Super_Lкнопку в течение определенного времени. Таким образом, я могу нажать кнопку мыши, а затем перетащить материал на короткое время:
"xte 'keydown Super_L' 'usleep 250000' 'keyup Super_L'"
b:11
Еще одна попытка
Как предположил тотти, я попробовал эту xbindkeys
конфигурацию:
"xte 'mouseup 10' 'keydown Super_L'"
b:10
"xte 'keyup Super_L'"
b:10 + Release
Не работает Кажется, что Super_Lклавиша удерживается нажатой, потому что как только я отпускаю кнопку 10, она остается нажатой навсегда (пока я Super_Lснова не нажму клавишу на клавиатуре), но кнопка мыши все еще регистрируется, потому что я не могу щелкать и перетаскивать окна , Я не думаю, что смогу сделать эту работу, используя xbindkeys
и xte
.