Як перезавантажити клавішу Super (зліва) для керування клавішею


26

Може хто-небудь, будь ласка, скажіть мені, як перевстановити мою Super(ліву) клавішу на Ctrlключ?

Я маю на увазі Super(зліва) повинен працювати як Ctrlключ.


Ви хочете, щоб лише ліва клавіша Super діяла як Ctrl? Легко перезавантажити обидві з налаштувань клавіатури клавіатури, але змінити лише один доведеться за допомогою файлів конфігурації.
pconley

Так, я хочу лише лівий клавіша Super, щоб діяти як Ctrl ..
Сенді

Чи стосується супер-клавіша клавіша на моїй клавіатурі, на якій розміщений логотип MS Windows, лежить між лівим ctrl та лівим alt / right alt gr та клавішею з іншим дивним логотипом?
Рене Ніффенеггер

1
@ RenéNyffenegger Клавіша Super - це Windowsклавіша на клавіатурах ПК та Commandклавіша на клавіатурах Apple. Я не впевнений, що таке інший ключ, який ви описуєте
1616

Відповіді:


28

Щоб зробити основні зміни на вашій клавіатурі, включаючи перезапис символів та зміну модифікаторів, вам потрібно скористатися утилітою xmodmap - див man xmodmap. Є кілька способів виконання змін:

  • або з командного рядка

    xmodmap -e "your commands"
    
  • або запишіть команди у такий файл .xmodmaprc, а потім виконайте їх у своїх елементах входу або у вашому .bashrc

    xmodmap .xmodmaprc
    

    Якщо ви назвали файл, ~/.xmodmapвін буде виконаний автоматично при вході в систему.

Тепер команди

Те, що ви хочете зробити, - це двоетапний процес. Спочатку ви знімаєте Супер із його модифікатора, а потім відображаєте його для управління.

  1. Запустіть xmodmap -pmу вікні терміналу, щоб отримати список пов'язаних модифікаторів. На моїй машині (і, імовірно, вашій) Super називається mod4. Super_Lі Super_Rце окремі клавіші, які виводять один і той же модифікатор.

    Тепер ви можете зняти з нього модифікатор. Запустіть команду xmodmap (використовуючи один із наведених вище способів)

    remove mod4 = Super_L
    

    Тепер фізичний ключ все ще внутрішньо називають Super_L, але він нічого не робить.

  2. Тепер просто перезавантажте його. Запустіть команду xmodmap:

    add control = Super_L
    

Якщо ви хочете скасувати це пізніше, просто запустіть ті самі команди з відповідними аргументами.

Ні Super_R?

Вихід xmodmap -pm може дати вам кілька клавіш під назвою Super_L, але жодної з ім'ям Super_R). Якщо це було так, тепер у вас є кілька додаткових ключів, призначених для керування, але жоден не призначений Super. Вам доведеться перейменувати один ключ. (Примітка: це може дати вам кілька Super_L і принаймні один Super_R. Це добре.)

Усі ключові імена в таблиці мають шістнадцяткове число в дужках поруч. Цей номер - це фізичний код клавіші на вашій клавіатурі (він може змінюватися залежно від моделі). Якщо вам потрібно змінити один Super_L на Super_R, спочатку знайдіть код коду, який ви хочете пов’язати з Super_R (ви не впевнені, що це правильний? Запустіть, xevа потім кілька разів торкніться потрібного Super. Десь у лабіринті виводу " keycode = 133 "(з іншим числом)). Запустіть команду xmodmap

keycode 133 = Super_R

щоб перейменувати ключ, потім

add mod4 = Super_R

призначити його Супер.


В першу чергу дякую, що витратили час на мене. Коли я набрав "Remove mod4 = Super_L" в терміналі, я отримав це повідомлення: delete mod4 = Super_L: команда не знайдена . Знімок екрана: i.imgur.com/fbvEA.png
Сенді

1
Це команда для утиліти xmodmap. Ви повинні запустити його одним із методів, які я дав у першому розділі. Я відредагував свою відповідь, щоб зробити це більш зрозумілим.
pconley

Скажіть, будь ласка, мені, як запустити ці команди при запуску?
Сенді

Коли ви входите в систему чи коли система завантажується? Якщо перший, просто покладіть команди у файл '.xmodmap' у своєму домашньому каталозі; останнє було б більш доречним для окремого питання у відповідь на тему "як я виконую скрипт при запуску" (такі питання, ймовірно, задавались раніше).
pconley

Для мене не обійшлося без набору клавіш . keysym Super_L = Control_L
Олександр Сушкевич

19

Командний рядок:

xmodmap -e "remove mod4 = Super_L"
xmodmap -e "add control = Super_L"

Або поставте ~/.Xmodmapдля активації при запуску:

remove mod4 = Super_L
add control = Super_L

4

На Ubuntu ви можете редагувати /etc/default/keyboardта встановлювати:

XKBOPTIONS = "altwin: ctrl_win"

Котрий:

Ctrl відображається на клавіші Win (і звичайні клавіші Ctrl)

Прочитайте man 5 keyboardдля отримання додаткової інформації. Ви можете знайти всі можливі комбінації опцій у вашій системі, виконавши:

grep alt /usr/share/X11/xkb/rules/evdev.lst | grep win

2

Якщо ви хочете зробити з графічним інтерфейсом:

  1. Встановити / відкрити налаштування Gnome
  2. Клацніть Keyboard & Mouse
  3. Клацніть Additional Layout Options
  4. Розгорнути Ctrl position
  5. Виберіть Swap Left Win with Left Ctrl

1

Спробуйте з цим:

clear Control
clear mod4
remove Control = Control_L Control_R
remove mod4 = Super_L Super_R
add Control = Super_L

Покладіть вищевказані рядки у своє ~/.Xmodmapі виконайте xmodmap ~/.Xmodmap.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.