Як зробити комбінації клавіш на зразок macOS на Ubuntu?


12

Я бачив багато питань щодо цього, але всі вони, схоже, роблять перезавантаження клавіш замість фактичної поведінки macOS.

Головним моїм випадком використання було б "розділити" ярлики: наприклад, я хотів би мати Super+ Cдля копіювання тексту та Ctrl+ Cдля надсилання SIGINT до поточної програми.

У цьому випадку простий перестроювання або підміна Superі Ctrlне спрацює.

Я вважаю, що поведінка mac є дуже практичною, тому що всі найпоширеніші ярлики використовуються Super, а відомий ярлик для копіювання не перекриває відомий ярлик SIGINT .

Більшість додатків терміналів реагують на Ctrl- * ярлики, і вони переважно перетинаються зі "стандартними" ярликами. У терміналі GNOME нам потрібно натиснути Ctrl+ Shift+, Cщоб скопіювати текст, тоді як в інших програмах, таких як Firefox, використовується Ctrl+ C. Це досить громіздко і непослідовно порівняно з Super+ C.


Хочеться вказати на іншу відповідь щодо askubuntu: askubuntu.com/questions/521202/…
Гаутам,

Відповіді:


0

Ви можете досягти, використовуючи команди xmodmap:

remove mod4 = Super_L
keysym Super_L = Control_L
add Control = Control_L

Збережіть вищезазначені рядки як super_as_ctrl.xmodmap. Тест виконанням

xmodmap super_as_ctrl.xmodmap

Щоб зміни були постійними (пережили перезавантаження / перезавантаження), просто перейменуйте файл .Xmodmapу домашню папку.

(Тестовано на Ubuntu 14.x)

PS: Ви також можете скористатися іншою кнопкою Windows. Не знаєте, як це зробити.


Це змушує Ctrl-C і Super-C надсилати ^Cоболонку. Я очікував, що одна з них поведе себе як копія. Тестований на елементарній ОС
Benoit Duffez

0

Щоб створити новий ярлик та видалити старі, просто перейдіть до системних налаштувань >> клавіатури >> ярлики . Там ви можете побачити всі ярлики, відредагувати їх, видалити та створити нові.


0

Наступне життя в моєму $HOME/.uxSwapCapsLock-and-Ctrl. Він ефективно змінює функціональність клавіш CapsLock і Ctrl для будь-якої оболонки, яка використовується в будь-якій системі Linux, коли я входив у систему, і ініціює інтерактивний сеанс в оболонці для даної системи. Я впевнений, що ви можете дізнатися про відповідне ім'я ключа, яке ви намагаєтеся змінити, і на яке посилається xmodmap, щоб отримати потрібну функціональність. Цей код ініціюється кожен раз, коли я входжу в систему та інтерактивний сеанс через .profile, але він перебуває у .ps1-файлі для цієї мети.

#!bin/bash
xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "remove Control = Control_L"
xmodmap -e "keysym Control_L = Caps_Lock"
xmodmap -e "keysym Caps_Lock = Control_L"
xmodmap -e "add Lock = Caps_Lock"
xmodmap -e "add Control = Control_L"
#End script

Це перевірка .profile, щоб здійснити заміну:

if [ -f  "$HOME/.uxSwapCapsLock-and-Ctrl" ]; then
   .  $HOME/.uxSwapCapsLock-and-Ctrl
fi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.