Как сделать ключ Caps Lock третьим ключом Shift?

Как заставить ключ Caps Lock работать как другой ключ Shift?

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

Keyboard Layout /Caps Lock не работает, я не понимаю, как переназначить его в CCSM.

Сейчас я использую английскую клавиатуру, но я научился печатать на клавиатуре США, меньшая левая клавиша Shift - ДВИЖЕНИЕ МЕНЯ.

16 голосов | спросил Tom Brossman 26 62011vEurope/Moscow11bEurope/MoscowSat, 26 Nov 2011 13:34:42 +0400 2011, 13:34:42

4 ответа


11

Расширение ответа @ Zacharee1:

сделать резервную копию с помощью cp /usr/share/X11/xkb/symbols/pc ~/pckeybak

затем отредактируйте с помощью gksu gedit /usr/share/X11/xkb/symbols/pc или вашего любимого редактора.

Найдите строку (22), которая гласит:

key <CAPS> { [ Caps_Lock ] };

и измените его на

key <CAPS> { [ Shift_L ] };

и строку (36), которая гласит:

modifier_map Lock { Caps_Lock };

и измените его на

//modifier_map Lock { Caps_Lock }; (который должен прокомментировать это, отменяя блокировку)

Тестирование указывает, что Num Lock работает по-прежнему. Дальнейшее тестирование указывает на то, что индикаторная лампа клавиатуры кажется немного дислексической в ​​16.04 даже в немодифицированной системе. Индикатор прокрутки блокировки включен при регистрации, но блокировка прокрутки и индикатор Num Lock выключены, но Num Lock включен. Нажатие левой клавиши Ctrl , похоже, разрешает это поведение, и я не уверен, связано ли это с моим использованием переключателя KVM (что возможно)

Примечание. Дальнейшее тестирование показывает, что индикатор NumLock нечеткий , даже без переключателя KVM, и его нужно дважды нажать, чтобы синхронизировать с NumLock. Если вы всегда оставите его, вы можете игнорируйте свет, или если это вас беспокоит, вы можете дважды нажать его, чтобы синхронизировать его. Почему это происходит, вероятно, является основой для нового вопроса ...

Другим простым решением вашей исходной проблемы было бы просто получить недорогую клавиатуру США и используйте сопоставление клавиатуры в США.

Источники: @ Zacharee1 ответ и анализ /usr/share/X11/xkb/symbols/pc и тестирование проб и ошибок

ответил Elder Geek 3 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 03 Sep 2016 15:15:36 +0300 2016, 15:15:36
10

Вы можете попасть туда, адаптировав Как изменить ключ CapsLock для создания «A»? (например).

Удалите модификатор Lock (= Caps Lock) из ключа Caps Lock и объявите, что это ключ отправляет Shift_L keysym.

remove Lock = Caps_Lock
keysym Caps_Lock = Shift_L

В качестве альтернативы вы можете удалить модификатор Lock и добавить Shift.

remove Lock = Caps_Lock
add Shift = Caps_Lock

В любом случае эти строки попадают в файл ~/.Xmodmap. Проверьте, загрузив его с помощью xmodmap ~/.Xmodmap; файл читается автоматически при входе в среду по умолчанию (или, по крайней мере, в дни Gnome).

ответил Gilles 26 62011vEurope/Moscow11bEurope/MoscowSat, 26 Nov 2011 19:13:08 +0400 2011, 19:13:08
7

Игнорируя мои предыдущие попытки ответить на это, я нашел что-то, что полностью превращает капсюль в левый сдвиг. Нет переключений, я думаю, что это настойчиво, и это довольно просто.

Во-первых, я рекомендую сделать резервную копию, прежде чем я расскажу, как ее изменить.

Выполнить sudo cp /usr/share/X11/xkb/symbols/pc ~/pckeybak

Теперь, когда есть резервная копия, давайте перейдем к редактированию.

Используйте свой любимый текстовый редактор для редактирования этого файла с правами root:

/usr/share/X11/xkb/symbols/pc

Найдите сегмент, который выглядит так (он находится рядом с верхней частью, строка 22 для меня):

key  <TAB> {    [ Tab,  ISO_Left_Tab    ]   };
key <RTRN> {    [ Return                ]   };

key <CAPS> {    [ Caps_lock             ]   };
key <NMLK> {    [ Num_Lock              ]   };

изменить

key <CAPS>  {   [ Caps_lock             ]   };

быть

key <CAPS> {    [ Shift_L, Caps_Lock    ]   };

вместо этого. (Caps_Lock после Shift_L, может быть ненужным .)

Перезагрузите диспетчер дисплеев (обычно sudo service lightdm restart), а caplock теперь будет сдвинут влево. ( Примечание: Мой тестовый компьютер использует GNOME, поэтому мне пришлось перезапустить gdm. Однако это вызвало некоторые странные мерцание в резервном TTY и gdm никогда не перезапускалось. Мне пришлось полностью перезагрузиться.)

Этот я действительно смог проверить и подтвердить, что он работает.

Адаптировано из постоянного xmodmap в Ubuntu 13.04

ответил TheWanderer 1 stEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 01 Sep 2016 01:14:36 +0300 2016, 01:14:36
3

Для 14.04

Однострочный:

xmodmap -e 'keycode 66=Shift_L'

НО , в непредвиденном случае 66 не правильный код, первый запуск xev и нажмите CapsLock . Затем вы увидите что-то вроде:

KeyPress event, serial 27, synthetic NO, window 0x1200001,
    root 0x101, subw 0x0, time 6417361, (340,373), root:(342,393),
    state 0x0, keycode XX (keysym 0x0207, Caps_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

Правильный код ключа - тот, который указан в XX.

ответил 1 stEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 01 Sep 2016 01:26:40 +0300 2016, 01:26:40

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132