рішення xmodmap
Я думаю, що ви можете зробити це за допомогою xmodmap , інструменту для зміни ключових карт. Оскільки у моєї клавіатури немає правої Superклавіші, я не можу підтвердити це рішення, тому, будь ласка, залиште коментар, якщо воно не працює.
Всі кроки виконуються в терміналі
Друк поточної карти модифікатора
Виконати
xmodmap
Це повинно надрукувати поточну карту модифікатора, яка повинна мати щось подібне
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Важливий рядок - mod4
рядок, цей рядок показує, які коди ключів відображаються на символи клавіш Super_L та Super_R.
Резервне копіювання ключової карти
Перш ніж ми щось змінити, це гарна ідея зробити резервну копію поточної карти ключів, ми можемо це зробити
xmodmap -pke > ~/.xmodmap.orig
Тепер, якщо щось піде не так, ви можете просто набрати
xmodmap ~/.xmodmap.orig
щоб відновити оригінальну карту ключів. (Якщо ви зробили серйозні помилки і більше не можете належним чином ввести, перезавантаження також працює)
Перевірка поточної карти Super клавіш для клавіш
Якщо припустити, що в Superключах є послідовні коди ключів (у цьому випадку 0x85 та 0x86), ми можемо перевірити поточне відображення, запустивши
xmodmap -pke | grep -wA1 $((0x85))
звичайно, ви повинні змінити 0x85 за типовим кодом, який ви маєте на карті модифікатора. Це має дати вам
keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R
( $((0x85))
перетворює шістнадцяткове число в десяткове)
Скопіюйте поведінку зліва Super направо Super
,
як ви можете бачити з попереднього кроку правої Superклавіші має код ключа 134 , але ми хочемо, щоб поведінка лівої Superклавішею , яка має ключове код 133. Ми можемо зробити це шляхом перепризначення клавіші з допомогою
xmodmap -e "keycode 134 = Super_L NoSymbol Super_L"
Перевірка, чи працює,
якщо ви це зробите зараз
xmodmap -pke | grep -wA1 $((0x85))
ви повинні побачити
keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_L NoSymbol Super_L
це означає, що обидва ключі зараз мають однакову поведінку. Також карта модифікатора повинна змінитися на лінії mod4
, і ми можемо перевірити це, запустивши
xmodmap | grep 'mod4'
що має дати
mod4 Super_L (0x85), Super_L (0x86), Super_L (0xce), Hyper_L (0xcf)
І звичайно, ярлики, про які ви згадали, теж повинні працювати!
Зробити відображення стійким,
якщо воно працює, ви можете переконатися, що ці настройки автоматично застосовуються під час завантаження. Біжи
echo 'keycode 134 = Super_L NoSymbol Super_L' >> ~/.xmodmaprc
щоб зберегти своє власне відображення ключів у файлі ~/.xmodmaprc
. Біжи
echo 'xmodmap ~/.xmodmaprc' >> ~/.xsessionrc
щоб переконатися, що користувацька карта ключів виконується під час завантаження вашого менеджера вікон.
Settings Manager -> Keyboard
, чи є такий варіант, якexo-open --launch TerminalEmulator
? Якщо так, про що йдеться у другому стовпці, ярлик?