Як я можу змінити клавіші на клавіатурі? (Як я можу створити власні команди / ярлики клавіатури?)


131

Я хочу змінити прив’язки клавіш на деяких клавішах моєї клавіатури. Я хочу, щоб одні запускали команди, а інші активували різні клавіші.

Які програми я можу використовувати для цього?


Індекс:


Я все ще шукаю відповіді за допомогою dconf та будь-якого іншого методу.


Чи, можливо, у цій відповіді належить xmacro? він може "Записати / відтворити натискання клавіш та рухи миші на X-дисплеях".
roadmr

@roadmr Якщо я можу використовувати його для створення користувацьких комбінацій клавіш, то так!
Сет

Дякуємо, що додали цю тему. Я шукаю спосіб використання клавіші так само, як кнопка миші (утримуйте та перетягуйте, клацніть тощо). Це, здається, відсутнє в нитці.
krumpelstiltskin

@krumpelstiltskin На даний момент я не знаю жодного способу досягти такого точного дублювання миші. Я пропоную вам задати нове запитання. Якщо я це зрозумію, я все ще можу відповісти там, або хтось інший може мати кращу відповідь :)
Сет

1
Ось xkb-відповідь: askubuntu.com/a/347382/354350
DJCrashdummy

Відповіді:


94

xbindkeys ..

sudo apt-get install xbindkeys

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

Щоб створити конфігураційний файл за замовчуванням, ви використовуєте команду:

xbindkeys --defaults

Який друкує конфігураційний файл за замовчуванням. Отже, якщо ви хочете створити файл, який містить значення за замовчуванням, які ви використовуєте:

xbindkeys --defaults > $HOME/.xbindkeysrc

Який друкує значення за замовчуванням у прихований файл, названий .xbindkeysrcу будинку ( ~).

Тепер, щоб насправді змінити прив’язку клавіш, ми спочатку повинні знати, що таке ім’я або ключовий ключ цих клавіш. xbindkeysдозволяє нам використовувати -kручку для пошуку назви ключа або комбінації клавіш. Виконати:

xbindkeys -k

І натисніть клавішу або комбінацію клавіш. Ваш вихід буде виглядати приблизно так (при натисканні space):

"NoCommand"
m:0x10 + c:65
Mod2 + space

"No Command"повідомляє нам, що наразі жодна команда не пов'язана з Spaceключем.

m:0x10 + c:65
Mod2 + space  

- назва комбінації клавіш / клавіш.

конфігураційний файл ..

Дозволяє відкрити створений раніше конфігураційний файл:

gedit .xbindkeysrc  

Ось уривок із конфігураційного файлу за замовчуванням:

#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
#   Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
#   Mod3 (CapsLock), Mod4, Mod5 (Scroll). 
#

# The release modifier is not a standard X modifier, but you can  
# use it if you want to catch release events instead of press events

# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.

#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable

# Examples of commands:

"xbindkeys_show" 
 control+shift + q  

Кожен рядок, що починається з #- це коментар, і його не читають і не виконують xbindkeys.

Поки єдиний рядок, який не коментується, це:

"xbindkeys_show" 
 control+shift + q  

Цей уривок показує базовий синтаксис xbindkeysкоманд:

"Command to run (in quotes)"
key to associate with command (no quotes)  

Отже, як бачите:

"xbindkeys_show" 
 control+shift + q  

Виконує команду, xbindkeys_showколи ви натискаєте Ctrl+ Shift+ q.

прив’язувати клавіші до команд ..

Тепер спробуємо прив’язати кілька клавіш. Я рекомендую очистити весь файл за замовчуванням, щоб він був порожнім. Він містить заздалегідь задані прив’язки клавіш, які ви, мабуть, не хочете.

Тепер скажемо, що ви хочете використовувати Ctrl+, bщоб відкрити веб-переглядач. Перш за все , необхідно знати , що ім'я або символ клавіші з Ctrl+ bє. Як згадувалося раніше, ви можете використовувати xbindkeys -kім'я ключа або клавіш, але є простіший спосіб. Для простих комбінацій типу Ctrl+ bви можете просто скористатися:

Control+b

Набагато простіше, чи не так!

Тепер знайдіть команду для вашого улюбленого браузера:

  • Для Firefox: firefox

  • Для хрому: chromium-browser

  • Для опери: opera

Пам'ятаєте синтаксис від раніше? xbindkeysКоманда для запуску Firefox (або будь-який інший улюблений браузер) при натисканні кнопки Ctrl+ bє:

"firefox"
Control+b

Тепер покладіть це у свій конфігураційний файл і збережіть його. Тепер ви можете помітити, що ваша команда ще не працює, тому що xbindkeysвона не працює. Для його запуску просто запустіть xbindkeysз терміналу. Тепер ваш Ctrl+ bповинен запустити ваш браузер!

прив’язувати клавіші до інших клавіш ..

Якщо ви хочете, щоб клавіша на клавіатурі викликала іншу клавішу на клавіатурі, вам знадобиться додатковий фрагмент програмного забезпечення, оскільки xbindkeysвін не підтримує це самостійно. Я знаю дві програми, якими ми можемо користуватися, xdotoolі xte. Я вважаю за краще, xteщоб я цим скористався.

Встановіть його:

sudo apt-get install xautomation

Синтаксис for xteтакий:

xte 'command key/mousebutton/xyCoordinates'

Приклади:

  • Щоб зателефонувати в одну клавішу, натисніть: xte 'key keyName'

  • Щоб викликати комбінацію клавіш: xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName

  • Щоб зателефонувати на кнопку миші: xte 'mouseclick buttonNumber' (Ми обговоримо пошук номерів кнопок трохи пізніше)

  • Для переміщення миші: xte 'mousemove xCoordinate yCoordinate'

  • І більше! Прочитайтеman xte

Тепер, коли ви знаєте команду для моделювання натискань клавіш, ви можете викликати її зі свого xbindkeysсценарію, наприклад:

"xte 'key b'"
Control+b  

Як ви можете здогадатися, це дзвонить, xte 'key b'коли ми натискаємо Ctrl+ b, що вводить а bв будь-який документ, над яким ви зараз працюєте.

Я річ , щоб відзначити , однак, що xbindkeysі xteне завжди дуже добре працюють разом. Іноді доводиться натискати клавіші рівно в один і той же час, щоб отримати вихід, в іншому випадку це працює чудово. Це може бути пов'язано з конфігурацією системи та / або апаратним забезпеченням. Я не впевнений. Дивіться відповідь maggotbrain для більш надійного способу прив’язки ключів до інших клавіш.

прив’язувати кнопки миші до команд ..

Ви також можете використовувати xbindkeysдля прив'язки кнопок миші до команд (а звідти комбінації клавіш див. Вище). Базовий формат кнопок миші повинен бути вам уже знайомий:

" [command to run]  "
b:n

Де [command to run]команда, яку потрібно запустити, та nномер кнопки миші, яку ви хочете використовувати для цієї команди.

Якщо вам невідомо номер кнопки миші, ви можете xevдізнатися, що це:

xev | grep button

Вихід буде приблизно таким:

user@host:~$ xev | grep button
    state 0x10, button 1, same_screen YES
    state 0x110, button 1, same_screen YES
    state 0x10, button 2, same_screen YES
    state 0x210, button 2, same_screen YES
    state 0x10, button 3, same_screen YES
    state 0x410, button 3, same_screen YES

Коли я натискаю кожну з клавіш миші.

Наприклад:

" firefox "
b:2

Запускає firefox, коли натискаю середню кнопку миші.


Чи можна за допомогою xbindkeys зіставити Meta + C / V для копіювання / вставки та Meta + Space для перемикання мови?
Sonique

чи існує спосіб приєднання послідовності символів до однієї клавіші, наприклад, прикріпити "рівняння" до клавіші збільшення гучності?
JPi

55

Xev і xmodmap

Зміна прив’язок ключів за допомогою xevта xmodmap.

Обидва програми командного рядка доступні за замовчуванням, тому не потрібно встановлювати додаткове програмне забезпечення.

Xev "створює вікно, а потім просить сервер X надсилати йому події, коли що-небудь трапляється з вікном (наприклад, його переміщення, зміна розміру, набір тексту, натискання кнопки тощо)." сторінка man xev

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

У наступному прикладі буде зроблено повторний Caps_Lockзміст Escклавіш поведінки ключа (Багато користувачів vi / vim вважають це корисним відображенням клавіатури).

Використання xev

Запустіть xevпрограму з вікна терміналу ( Ctrl- Alt- t).

Додаток ініціалізується, відображатиме ряд рядків та запускає порожнє вікно. Тримайте xevфокус вікна програми та натисніть клавішу, властивості / поведінку якої ви хочете використовувати.

  • Натисніть ESCклавішу

У вікні терміналу ви побачите кілька рядків виводу. Зазначте повернення 3-го рядка. Це буде містити назву ресурсу, який ви хочете перейти до іншого ключа.

KeyPress event, serial 32, synthetic NO, window 0x3e00001,
    root 0x256, subw 0x0, time 16245388, (616,73), root:(1487,535),
    state 0x10, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
    XLookupString gives 1 bytes: (1b) ""

У цьому випадку Escключ (код 9) використовує назву "Втеча" .

  • Натисніть Caps Lockклавішу

Цього разу ми шукаємо код ключа, який Caps Lockвикористовується.

Знову зверніть увагу на 3-й рядок:

KeyRelease event, serial 32, synthetic NO, window 0x4c00001,
    root 0x256, subw 0x0, time 94702774, (862,151), root:(1733,613),
    state 0x10, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
    XKeysymToKeycode returns keycode: 9
    XLookupString gives 1 bytes: (1b) ""

Використання xmodmap

Тепер, коли ми отримали інформацію про ключі, які ми хочемо змінити xev, ми будемо використовувати xmodmapдля зміни ключових карт. З командного терміналу ( Ctrl+ Alt+ t) запустіть такі команди:

  • Ця команда змінює Caps Lockна використання тієї ж поведінки, що іEsc

    xmodmap -e "keycode 66 = Escape"
    
  • Ця опція друкує таблицю карт клавіатури як вирази у файл ~/.Xmodmap

    xmodmap -pke > ~/.Xmodmap
    

Активуйте зміни (лише для цього сеансу входу) за допомогою наступної команди:

xmodmap ~/.Xmodmap

Зробіть постійні зміни під час перезавантаження:

  • Якщо його немає, створіть файл у домашній папці під назвою .xinitrc.

    touch .xinitrc
    
  • Помістіть у файл наступний рядок і збережіть файл:

    xmodmap ~/.Xmodmap
    

Модифікація клавіш із різною поведінкою стану

(наприклад, Num Lock)

  • Отримайте таблицю клавішних клавіш для клавіш модифікаторів (вихід тут скорочено)

    $ xmodmap -pm
    shift       Shift_L (0x32),  Shift_R (0x3e)
    mod2        Num_Lock (0x4d)
    

Якщо ви хотіли, наприклад, змінити поведінку періоду включення Del/ Periodклавіші на цифровій клавіатурі до коми, скористайтеся такою командою:

xmodmap -e "keycode 91 mod2 = KP_Delete comma"

Зауважте, що для цього використовується mod2клавіш для зміни поведінки клавіш при Num Lockнатисканні модифікатора . Синтаксис цього:

xmodmap -e "<KEYCODE> <MODIFIER> = <behaviour> <behaviour_with_modifier>"

Ресурс


2
+1! У мене є корейський атм-клавіатура без клавіші alt-gr, і мені це було потрібно, тому ваша відповідь була дуже корисною, щоб він працював. Для подальшого ознайомлення, і оскільки ключ alt-gr не найпростіший у встановленні, ось команда (я використав ключ hanja, який має код 130): xmodmap -e "keycode 130 = ISO_Level3_Shift Multi_key ISO_Level3_Shift Multi_key"
Shautieh

43

За замовчуванням (Це лише для доповнення відмінної відповіді від Seth), Ubuntu (у цьому прикладі я використовую 16.04) є 2 категорії, які за замовчуванням входять у системні налаштування:

Для переходу до системних налаштувань клацніть піктограму шестерні праворуч вгорі :

введіть тут опис зображення

Потім виберіть Налаштування системи :

введіть тут опис зображення

Тут ви знайдете 2 варіанти, які можуть переслати вас у розділ Створення ярлика.

введіть тут опис зображення

Якщо ви виберете пункт " Введення тексту", вам потрібно буде вибрати посилання " Налаштування клавіатури" праворуч знизу, яке направить вас безпосередньо на параметри "Ярлики".

введіть тут опис зображення

Якщо ви вибрали варіант клавіатури , вам доведеться натиснути на вкладку ярликів

введіть тут опис зображення

Після приходу на вкладки "Ярлики" ви виберете " Спеціальні ярлики " внизу списку зліва:

введіть тут опис зображення

А потім натисніть знак "Плюс " внизу, щоб почати створювати свій власний ярлик:

введіть тут опис зображення

З цього моменту вам належить лише додати ім'я ярлика (Не плутайте ім'я ярлика, бо ім'я фактичної команди, яку ви будете виконувати). А внизу, у полі Command, де ви помістите, яка команда буде виконуватися для цього ярлика. У наступному прикладі я назвав ярлик "Піднесений текст 3", щоб знати, до якого конкретного ярлика відноситься. І в командному полі я додав фактичну команду, яка є subl.

введіть тут опис зображення

На екрані з’явиться таке, що показує, що оскільки в ярлику ще немає призначеної комбінації клавіш або клавіш, його за умовчанням вимкнено:

введіть тут опис зображення

Потім ми натискаємо на повідомлення "Відключений", щоб додати до нього комбінацію клавіш:

введіть тут опис зображення

У цій частині я призначаю комбінацію клавіш SHIFT+ CTRL+, Sщоб при натисканні на цю комбінацію вона відкривала додаток Sublime Text.

введіть тут опис зображення

Після цього ви можете просто протестувати комбінацію, натиснувши відповідну комбінацію клавіш і побачивши додаток відкритим:

введіть тут опис зображення

ПРИМІТКА. Для спеціальних комбінацій, таких як вбивство X-сервера, я пропоную перейти за наступним посиланням: Як увімкнути Ctrl-Alt-Backspace, щоб убити X-сервер?


Я в 13.10, і в моїх системних налаштуваннях ця піктограма "Введення тексту" взагалі немає. :(
Вім

Привіт, будь ласка, ви можете надати посилання на зображення, яке показує ваші налаштування системи.
Луїс Альварадо

2
На жаль, зараз ми о 15.04. Ця відповідь - жахливий безлад. Розкладка клавіатури відсутня, а разом з нею і можливість Kill X Server. Скріншоти змішують до 13.04 (кого це турбує!?!) Та пізніші скріншоти, і хтось вставив їх у неправильне місце, тому "натисніть" Параметри внизу праворуч "" - це далеко не фактичний, застарілий скріншот. :-(
лижник

@skierpage Саме тому я зробив таку відповідь: askubuntu.com/questions/367983/… сподіваюся, що це допоможе.
Луїс Альварадо

If you click on the Options button at the bottom right (Found on 13.04 or previous versions)...Де розташована кнопка параметрів у версіях> 13.04?
динозавр

21

Перейдіть у Налаштування системиКлавіатура , виберіть вкладку Ярлики та додайте новий власний ярлик для свого браузера. Якщо вашим стандартним браузером є Firefox, використовуйте firefoxдля в командному полі; якщо за замовчуванням браузером є Firefox, використовуйте chromium-browserтощо:

додати спеціальний ярлик


Дякую. Дивіться також мою власну відповідь на деякі особливості щодо фактичного встановлення клавіш. Спочатку мене містифікували, хоча я був у потрібному місці.
Michael Durrant

2
Але це не працює в моєму випадку. Ubuntu (чомусь) взагалі не дозволить мені встановлювати клавіші швидкого доступу! Я дотримувався кроку 4 (як показано на малюнку). Я щось пропускаю?
Вайбхав Каушал

2
Я віддаю перевагу цій відповіді тим, хто доступний у запитанні, що повторюється.
Містер Б

3
@VaibhavKaushal: на кроці 5 ви повинні натиснути праворуч на "відключено", потім зробіть ярлик, який вам сподобається, який буде показаний там негайно
rubo77

Перезавантаження може знадобитися, щоб зміни вступили в силу
Храм Ширлі

18

Ви можете створити складні (багатоклавішні) комбінації клавіш, встановивши AutoKey з центру програмного забезпечення. На відміну від xmodmap, AutoKey не відновлює фактичні клавіші на клавіатурі; вона працює у фоновому режимі і перехоплює ваші визначені комбінації клавіш, після чого надсилає імітовані натискання клавіш на ваші програми.

Перший раз, коли ви запускаєте AutoKey, він запускає послугу у фоновому режимі (піктограма сповіщень не оновлена ​​для єдності, тому немає візуальної індикації). Після запуску ви можете підключити інтерфейс конфігурації, запустивши панель запуску:

введіть тут опис зображення

Тепер відкрийте «Правка»> «Налаштування» та виберіть «Автоматично запускати автозапуск при вході в систему», щоб переконатися, що ваші ярлики працюють під час кожного входу.

Зображення комбінації клавіш на іншій комбінації клавіш

  1. Виберіть Файл> Створити> Фраза.
  2. Переконайтесь, що для параметра "Вставити за допомогою" встановлено значення "Клавіатура".
  3. Введіть ключі , які ви хочете відобразити в в текстовому полі.

    • Спеціальні (не символьні) клавіші представлені кодами, задокументованими тут .
    • Якщо ви введете кілька ключів, вони надсилатимуться послідовно, якщо ви не розмістите +між ними (наприклад <ctrl>+c, копіювали б у більшості програм; <ctrl>+c<ctrl>+n<ctrl>+vстворили б новий документ, що містить виділення; <shift>+ubuntuвведете текст "Ubuntu")
  4. Натисніть кнопку "Встановити" поруч із "Клавіша швидкої клавіші". Це викличе діалогове вікно , яке дозволяє визначити комбінацію клавіш ви хочете відобразити з :

    введіть тут опис зображення

  5. Виберіть Файл> Зберегти

Приклад завершеної конфігурації (яка надсилається <enter>при натисканні <ctrl>+m) виглядає так:

введіть тут опис зображення


Примітка: На даний момент Debian (де Ubuntu отримує пакет AutoKey) не підтримує їх пакет AutoKey. Поточні інструкції з установки дивіться на веб-сайті: github.com/autokey/autokey/wiki/Istalling
Joe

15

Спробуйте це:

Встановіть програму під назвою XKeyCaps. Щоб встановити, просто натисніть Ctrl+ Alt+ Tна клавіатурі, щоб відкрити Terminal. Коли він відкриється, запустіть команди (и) нижче:

sudo apt-get install xkeycaps

Після встановлення ви можете зробити xkeycaps за допомогою підказки для запуску програми. Після запуску виберіть правильну розкладку клавіатури та натисніть кнопку ОК

введіть тут опис зображення

Потім, коли ви отримуєте клавіатуру на екрані, клацніть правою кнопкою миші потрібну клавішу, у вашому випадку - її S, і виберіть клавіші обміну.

введіть тут опис зображення

Обов’язково додайте рядок нижче до своїх сеансів, щоб він автоматично запускався під час кожного завантаження.

xmodmap ~/.xmodmap-`uname-n`

Джерело: UFM ytsejam1138


Це uname-nповинно бути uname -n?
wjandrea

За даними джерела його unmae-n. У мене немає доступу до машини Ubuntu для тестування, але як тільки я це зробити, я перевірю далі.
Мітч

8

Якщо ви просто хочете перевстановити ключі, інші відповіді чудові.

Однак є ще один спосіб наблизитись до цього. AutoKey - це макропроцесор клавіатури, який дозволяє асоціювати будь-яку комбінацію клавіш / модифікаторів зі сценарієм, який може робити майже все, що можна зробити, з клавіатури та багато іншого.

У AutoKey є записуючий сценарій та простий спосіб ввести основні послідовності ключів, але його сценарії написані на Python і можуть робити майже все, що можна кодувати.

Найпростіший спосіб його використання - це надіслати клавіші на ваші програми / робочий стіл. Використовуючи цей спосіб, система / додатки не можуть сказати, що це не ви набираєте текст, тому не потрібен API чи інший інтерфейс, вони просто роблять те, що набрали "ви".

AutoKey також може обробляти фрази. Коли ви вводите запускаючий рядок символів, він може замінити новий текст для цього рядка (відразу або після того, як ви введете символ роздільника, як новий рядок або вкладку.)

У ньому також є віконні фільтри, щоб ви могли обмежити певну фразу чи сценарій, щоб вони працювали лише у певних типах Windows (наприклад, у Mozilla в заголовку, тому вони працюють лише в таких речах, як Firefox або Thunderbird).

Наразі AutoKey має версії Gtk та Qt.

Зміни:

Посібник з установки

Форум користувачів Активний форум користувача.

У вікі є ряд прикладних скриптів. Оскільки це насамперед GUI-додаток з великою кількістю опцій, приклади вимагають багато скріншотів та цілу статтю.

У мене така фраза визначена, що коли я набираю " Jmail! ", Вона моментально замінює її моєю досить довгою електронною адресою.

Я написав сценарій, який спрацьовує набравши текст Ctrl- Pякий активний лише у вікнах, у яких назви "Mozilla". Введення тексту Ctrl- Pвідкриває діалогове вікно друку (Firefox або Thunderbird), вибирає "Друк у файл", а потім заповнює ім'я наступного наявного файлу друку в черзі друку (я їх нумерую 01, 02, ... і сценарій читає чергу каталог, знаходить останній номер файлу і збільшує його на 1). Я використовую це з моїм програмним забезпеченням для емуляції дуплексного друку ( duplexpr ) для усунення тонни натискань клавіш та рухів миші.

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


1
Чи можете ви додати якусь інформацію про її встановлення та, можливо, також використовувати її? Це було б чудово!
Сет

AutoKey частково перенесено з code.google в GitHub. Дивіться сторінку github.com/autokey/autokey . Також є відділення Python 3 - github.com/guoci/autokey-py3 .
Джо

Поточна версія AutoKey знаходиться на веб- сайті github.com/autokey/autokey Гілка Python 2 амортизована.
Джо

7

ВИКОРИСТАННЯ КЛЮЧІВ КЛЮЧІВ ЯК КОРОБКИ МУЗИ

Ви можете скопіювати клавішу клавіатури на кнопку миші. Якщо ви хочете натиснути клавішу клавіатури (корисно, якщо у вас є macbook або погана кнопка трекпада), ви можете зробити наступне.

  1. встановіть кілька утиліт:

    sudo apt-get install x11-utils xkbset x11-xserver-utils
    
  2. знайдіть код ключа для ключа, який потрібно зіставити:

    • введіть xev | grep keycodeтермінал
    • натисніть клавішу, що цікавить, і з'явиться такий рядок:

      state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,  
      
  3. за допомогою клавішного коду перезавантажте клавішу, щоб зробити те саме, що і ліва кнопка миші:

    • xkbset m
    • xmodmap -e "keycode 64 = Pointer_Button1"

Pointer_Button3є правою кнопкою миші і Pointer_Button2є серединою.


4

Використання xkb

xkbє розширенням X Keyboard. Він несе відповідальність за зіставлення клавіш вашої клавіатури для їх призначеної функції. xkbсимволи можна знайти в /usr/share/X11/xkb/symbols/. Клавіші модифікатора відображені в /usr/share/X11/xkb/symbols/pc.

Скажіть, мені потрібно переключити функції Caps Lockта Left Controlклавіші. Ці зміни потрібні pcфайлу:

key <CAPS> {        [ Control_L             ]       };
key <LCTL> {        [ Caps_Lock             ]       };

Щоб застосувати нові відображення, потрібно очистити xkbкеш із /var/lib/xkb:

rm -rf /var/lib/xkb/*

Тепер просто перезапустіть свій X сеанс, і ви готові йти.

Джерело: https://radu.cotescu.com/remapping-keys-in-ubuntu-14.04/

Редагувати: Якщо зробити lsвсередині symbolsкаталогу, це:

af        cm            gn       kz              nec_vndr    sk
al        cn            gr       la              ng          sn
altwin    compose       group    latam           nl          sony_vndr
am        ctrl          hp_vndr  latin           no          srvr_ctrl
apl       cz            hr       level3          nokia_vndr  sun_vndr
ara       de            hu       level5          np          sy
at        digital_vndr  ie       lk              olpc        terminate
az        dk            il       lt              pc          th
ba        ee            in       lv              ph          tj
bd        empty         inet     ma              pk          tm
be        epo           iq       macintosh_vndr  pl          tr
bg        es            ir       mao             pt          tw
br        et            is       md              ro          typo
brai      eurosign      it       me              rs          tz
bt        fi            jp       mk              ru          ua
bw        fo            ke       ml              rupeesign   us
by        fr            keypad   mm              se          uz
ca        fujitsu_vndr  kg       mn              sgi_vndr    vn
capslock  gb            kh       mt              sharp_vndr  xfree68_vndr
cd        ge            kpdl     mv              shift       za
ch        gh            kr       nbsp            si

Відображення всередині файлу ruбазується на стандартній російській клавіатурі. macintosh_vndrПапка містить відображення для Apple , клавіатур. Коротше кажучи, такий підхід настільки багатогранний. Ідіть і пограйте з ним :)


Ви згадали 2 файли. У який файл внесені зміни? :)
Сет

Я згадав лише один файл - /usr/share/X11/xkb/symbols/pc.
crisron

Моє ліжко. Подивився мені другий погляд, щоб зрозуміти, що перший шлях - це папка, а не файл. Відредаговано, щоб зробити це більш очевидним :)
Seth

3

Виявилося, що він знаходиться під додатком "клавіатура".

Якщо ви це зробите, ви можете змінити ярлики за потреби ...

зміни трохи дивні при першому використанні. Ви клацаєте праворуч (стовпець, у якому є ctrl-alt-T, Disabled тощо.), Потім натискаєте фактичні клавіші, наприклад, ctrlaltbякі ви хочете. Ви побачите, що нова послідовність клавіш з’являється зараз у цьому просторі. Закрийте вікно ( або натисніть геть), і нова ярлик тепер запрацює.


1

Ярлик вже існує як WWW, просто змініть його на Ctrl+ Alt+ b. Не потрібно створювати нового.

введіть тут опис зображення


1

Менеджер налаштувань CompizConfig (CCSM)

CCSM дозволяє змінювати деякі ярлики системної клавіатури.

Щоб встановити його, використовуйте Програмний центр або цю команду:

sudo apt-get install compizconfig-settings-manager

Наприклад

Я використовував його, щоб змінити ярлик "Window spread" зі стандартного Super+ Wна Super+ Tab, як у Windows 10. З моєї відповіді на інший потік :

  1. Запустіть CCSM з тире.
  2. Перейдіть до керування вікнами -> Масштаб -> вкладка Прив'язки -> Ініціювати вибір вікна
  3. Клацніть ярлик клавіатури ( <Super>wна вашому ПК, але <Super>Tabна цьому скріншоті).

    CCSM - Управління вікнами - Масштаб

  4. Клацніть Захопити комбінацію клавіш , натисніть потрібну клавішу, потім натисніть кнопку ОК.

    Редагувати ініціатор вибору вікна


1

Я хотів натиснути Print Screen, щоб зберегти знімок екрана за допомогою gnome-screenshotпрограми, як у Mint

Але я хотів це зробити за допомогою терміналу, а не GUI, оскільки я хочу зробити його за замовчуванням під час створення користувальницького ISO за допомогою squashfsінструментів.

Спочатку я встановив gnome-скріншот за допомогою команди

sudo apt-get install gnome-screenshot

Потім я призначив спеціальний ярлик за допомогою параметрів Налаштування -> Клавіатура -> Спеціальні ярлики -> Кнопка Додати (+) ->

У діалоговому вікні:

  • Назва: Знімок екрана
  • Команда: gnome-streentshot

Натисніть кнопку "Додати"

Потім натисніть Print screenклавішу.

Тепер клавіша зв'язана, і я можу зберігати знімки екрана за потребою.
Але не використовуючи термінал, це спосіб GUI

Потім я встановив dconf-editorза допомогою

sudo apt-get install dconf-editor

І шукайте, gnome-screenshot
я знаходжу свої власні прив'язки ключів на цьому шляху

/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/

Значення ключів:

  • палітурка "Друк"
  • команда 'gnome-screenshot'
  • назва 'екран друку'

Тепер я копіюю їх і видаляю спеціальну клавішу швидкого доступу GUI

Я відкриваю термінал і набираю ці команди

dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/command "'gnome-screenshot'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/binding  "'Print'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/name "'print screen'"

І вуаля

Тепер я можу зберігати знімки екрана без будь-якого GUI, використовуючи лише dconfтермінал. Мені вже не потрібно dconf-editor, він був просто встановлений для отримання значень.


1

Я спробував рішення Кевіна (підхід xmodmap) на ubuntu 18.04. У моєму випадку це не спрацювало. Але ця процедура змусила його остаточно:

  • скопіюйте xmodmap .Xmodmapу файл, який називається, .xsessionа не .xinitrc.
  • змінити дозволи файлу (клацання правою кнопкою миші, властивості, вкладка дозволу, зміна дозволів на "читання і запис" та галочка в вікні)
  • додайте програму запуску за допомогою /home/<YOUR_USER_NAME>/.xsessionкоманди.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.