Як перезавантажити клавішу блокування заглушок?


68

Раніше я використовував, xmodmapщоб запобігти роботі Caps Lockкнопки, а потім сказати Launchy обробляти натискання клавіш. Я не можу більше цього робити.

Який найкращий спосіб відключити Caps Lockнормальну поведінку і змусити її робити щось інше?


Про Ubuntu 14.04 див. У розділі askubuntu.com/q/444714/25388
Léo Léopold Hertz

Відповіді:


70

З howtogeek.com, який має гарну відповідь для будь-якої ОС.

Для Linux (включаючи Ubuntu):

setxkbmap -option <OPTION>

Де <OPTION>можна, наприклад:

  • caps:none - Відключає Caps Lock.
  • caps:super- Caps Lock стає додатковим Super (він же клавіша Win).
  • caps:ctrl_modifier- Caps Lock стає додатковим Ctrl .
  • caps:numlock- Caps Lock стає додатковим Num Lock .
  • caps:escape- Caps Lock стає додатковим Escape .
  • caps:backspace- Caps Lock стає додатковою Backspace .
  • caps:swapescape - Caps Lock стає Escape, а Escape стає Caps Lock

Примітка: Xmodmap застаріло на користь setxkbmap.


2
люблю тебе чоловік, спасибі, це працює на ubutnu 14.10
Анджей Реманн

1
працює і в ubuntu 15.10! Дякую!
donatello

5
приємно і просто, працює в 16.04
chepyle

3
Щоб відновити будь-які setxkbmapзміни (тобто якщо вам потрібен ключ Caps до його початкового місця), потрібно виконати лише це:setxkbmap -option
landroni

Якщо ви перевстановили клавішу Capslock у зворотній простір і тепер вам цікаво, чому вона не видалить слова, якщо ви натискаєте її, це тому, що вам потрібно використовувати додаткову команду. Після setxkbmap -option caps:backspaceвходу xset r 66і voilá.
Габріель

19

В Ubuntu 11.10 - 13.04

  1. Відкрийте програму Розкладка клавіатури та натисніть кнопку «Параметри».
  2. З'явиться список варіантів рендингу. Виберіть "Поведінка ключа Caps Lock".
  3. Виберіть бажану опцію перестановки Caps Lock.

Знімок екрана доступних опцій


1
@JacobJohanEdwards Зауважте, що самостійно перевірте, чи xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'все ще працює.
Jjed

Для користувачів vim "Практичний Vim" рекомендує зіставити блокування заглушок на ctrl на системному рівні. Розкладка клавіатури> Опції> Положення клавіш Ctrl> Caps Lock, як Ctrl виконує трюк.
rpattabi

11
Ці параметри вже не існують в 13.10. Встановіть gnome-tweak-tool, там у вас будуть подібні налаштування під "Введення тексту".
pcworld

Це не працює для мене в Ubuntu 12.10. Возитися з тими налаштуваннями в центрі контролю за гномами, здається, не має ніякого ефекту.
Ендрю Вагнер

4
Чому вони зняли ці параметри з 14.04?
Лео Леопольд Герц 준영

18

Ви можете відключити його, перейшовши на клавіатуру-> Макети-> Параметри-> поведінку блокування шапки та виберіть "відключити блокування заглушок".


Редагувати :

Я не знаю, чому це виглядає незручно з іншими клавішами клавіатури.

Але Launchy прекрасно працює зі мною після того, як спробувати його з CTRL+ Super+ Space.

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

І вам потрібно додати білий список launchyдо значків лотка. Див. Як я можу отримати доступ та ввімкнути більше значків у системному треї? . Також вам потрібно додати його до програм Start Up, оскільки він не працюватиме, коли він не відкриється.


Зрештою, як альтернатива Launcy, спробуйте Synapse для її найкращої інтеграції з gnome та єдністю.


Здається, ця опція мені недоступна в Ubuntu 15.04.
MichielB

15

Це в основному модифікація відповіді, наданої на https://askubuntu.com/a/223674/22073 .

Ви також можете змінити поведінку Caps Lock за допомогою XKBOption. Ці зміни пропонуються навіть у віртуальних консолях (/ dev / tty [1-6], або Ctrl-Alt-F [1-6]).

Наприклад, щоб відключити функцію Caps Lock, у вас буде наступне /etc/default/keyboard:

# Check /usr/share/doc/keyboard-configuration/README.Debian for
# documentation on what to do after having modified this file.

# The following variables describe your keyboard and can have the same
# values as the XkbModel, XkbLayout, XkbVariant and XkbOptions options
# in /etc/X11/xorg.conf.

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="caps:none"

# If you don't want to use the XKB layout on the console, you can
# specify an alternative keymap.  Make sure it will be accessible
# before /usr is mounted.
# KMAP=/etc/console-setup/defkeymap.kmap.gz

Тоді ви біжите:

sudo dpkg-reconfigure keyboard-configuration

Щоб отримати повний список налаштувань XKBOPTIONS, подивіться на /usr/share/X11/xkb/rules/base.lst. Ось повний список з моєї машини Ubuntu 13.10: http://sprunge.us/cUZO

Ще більше інформації можна знайти на вікі ArchLinux: https://wiki.archlinux.org/index.php/Keyboard_Configuration_in_Xorg


Ідеально, я використовую, XKBOPTIONS="ctrl:swapcaps"щоб поміняти лівий Ctrl на Caps.
Марчіо

Він працює 16.04 в X та віртуальних консолях.
jfs

10

Щоб перевстановити непотрібний caps_lock в основний зсув, зробіть

xmodmap -e "keycode 66 = Shift_L"

Це не зберігається після перезавантаження.
Czarek Tomczak

3
Щоб зберегти його після перезавантаження, виконайте такі дії: Ubuntu Dash Home> Запуск програм> Додати> Введіть команду вище.
Чарек Томчак

6

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

Підсумовуючи -

  1. змінити поведінку клавіші Caps Lock, щоб імітувати іншу клавішу.
  2. Налаштуйте compiz для прослуховування нещодавно mimic'd ключа та запустіть спеціальний сценарій.

Змініть клавішу блокування кришок

Занадто змінивши поведінку клавіші Caps Lock, ви можете використовувати xmodmapнаступне:

  • створити файл, наприклад, "capslock"
  • скопіюйте та вставте у файл наступне
keycode 66 = cent
clear Lock
add Control = cent
  • тепер запустіть xmodmap, щоб визнати вашу зміну:

xmodmap capslock

Для постійного запуску додайте цю команду до програм запуску.

Натискання Caps Lock зараз просто імітує натискання клавіші "цента" - зауважте, це не клавіша, яка насправді існує на моїй клавіатурі.

Список імен KeySym ви можете отримати тут .

Налаштування Compiz

Запустіть Менеджер налаштувань CompizConfig

У загальному розділі переконайтесь, що "Команди" увімкнено та налаштуйте команду, як показано:

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

Примітка: увімкніть прив'язку клавіш і використовуйте "комбінацію клавіш", щоб розпізнати ваш ключ "цента". Ви не можете отримати compiz, щоб, на жаль, розпізнати ключ блокування шапки.

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

Очевидно - змініть "firefox" на будь-яку команду, яку ви використовуєте для запуску "запуск"

Тепер, коли ви натискаєте клавішу Caps Lock, compiz розпізнає відображену в ньому "цент" клавішу і запустить команду - у цьому випадку firefox - у вашому випадку "запуск".


Через кілька хвилин налаштування повертаються назад - і знову Caps Lock мають звичну поведінку.
Віталій Зданевич

5
  1. Використовуйте команду xev. Коли ви натиснете клавішу Enter, xev запуститься. xev бере всю вашу інформацію та інформацію про ключ у командному рядку. Я рекомендую провести курсор миші над клавішею виходу вікна xev, натиснути блокування шапки (або будь-яку клавішу, про яку ви хочете дізнатися) та негайно вийти з xev. Відповідні рядки в моїй системі для блокування ковпачків виглядають приблизно так:

    KeyPress event, serial 36, synthetic NO, window 0x4400001,
        root 0x27a, subw 0x0, time 19164277, (16,-9), root:(1156,46),
        state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    KeyRelease event, serial 36, synthetic NO, window 0x4400001,
        root 0x27a, subw 0x0, time 19164397, (16,-9), root:(1156,46),
        state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False
    

    Зауважте keycode(66) та keysym(0xffe5).

    Тепер ви також можете отримати дані для іншого ключа - того, який ви насправді не використовуєте, і який у контексті, в якому ви хочете використовувати кнопку блокування шапки, нічого не робить. Отже, якщо ви хочете, щоб увімкнути шапки для активації вікна пошуку Unity (як це зазвичай робиться супер), можливо, використовуйте, наприклад, `. На моїй машині:

    keycode 49 (keysym 0x60, grave)
    
  2. Прив’яжіть функцію нової клавіші до кнопки Caps Lock, використовуючи xmodmap. Я впевнений, що ви хочете використовувати таку команду, як:

    xmodmap -e "keycode 66=0x60"
    

    Тепер, якщо натиснути кнопку фіксації фізичних шапок у текстовому полі, з'явиться надто великий символ (`). Але якщо зіставити на ньому клавішу швидкого доступу, вона зробить щось інше. Якщо ви хочете мати можливість використовувати його в текстовому полі, можливо, замініть шапки блокування на лівий зсув, або f10, або щось інше, що не здається, що це буде заважати команді, яку ви хочете використовувати.

  3. Перевірте це, щоб переконатися, що команда, яку я вам дав, працює так, як ви хочете.

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

  5. Танець.

(кричати на компанію) Змінити клавіші (апаратне забезпечення на програмне забезпечення)

Також для отримання додаткової допомоги щодо xmodmap:

http://www.xfree86.org/4.2.0/xmodmap.1.html

http://www.in-ulm.de/~mascheck/X11/xmodmap.html


4

Ubuntu 16.04

setxkbmap -option <OPTION> з відповіді Вернінга, здавалося, мені діють негайно.

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

  1. Шукайте та запускайте Startup Applications>> Натисніть Додати
  2. Введіть /usr/bin/setxkbmap -option <OPTION>як команду (Примітка: важливий повний шлях)

Замініть <OPTION>щось на зразок caps:escape(я використовую це для vi)

Фон

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


2

Доданий варіант, який я знайшов найкращим для мене (у будь-якому X-сумісному wm / de)

Option "XkbOptions" "caps:swapescape"

всередині

Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "US"
    Option "XkbOptions" "caps:swapescape" # << is what you want
EndSection

блокувати в /etc/X11/xorg.conf.d/00-keyboard.conf (створити, якщо потрібно).


1

хоча, звичайно, параметр xmodmap буде працювати, я хотів знайти варіант, що використовує графічний інтерфейс. Це для мене (за допомогою Ubuntu 15.10):

  • встановити gnome-tweak-tool
  • перейти до "типу"
  • у розділі "Поведінка клавіші блокування Caps" виберіть "Блокування Caps вимкнено"

-1

Найбільш надійне рішення - придбати клавіатуру, яка дозволяє перевпорядковувати клавіші в програмному забезпеченні, тобто професійну, програмовану клавіатуру.

Зазвичай вони коштують близько 200 доларів, а також мають висококласні механічні перемикачі клавіш. Вони дорогі, але вони є єдиним способом уникнути необхідності боротися з цим на кожній новій машині, за яку ви сідаєте, і кожен раз розробники вносять зруйнуючі зміни в інфраструктуру ОС настільки принципово, як карта клавіатури.


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