Как я делаю клавишу Caps Lock третьей клавишей Shift?

Как я заставляю клавишу Caps Lock работать точно так же, как другая клавиша Shift?

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

Раскладка клавиатуры / поведение клавиши Caps Lock не сделает этого, я не понимаю, как повторно отобразить его в CCSM.

Я использую британскую клавиатуру теперь, но я учился вводить на американской клавиатуре, меньший ключ сдвига влево СВОДИТ ME с ума.

19
задан 2 September 2016 в 03:31

4 ответа

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

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

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

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

key {[Caps_Lock]};

и измените ее на

клавиша {[Shift_L]};

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

modifier_map Lock {Caps_Lock};

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

// modifier_map Lock {Caps_Lock }; (что должно закомментировать это, фактически отключив блокировку)

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

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

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

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

14
ответ дан 23 November 2019 в 02:07

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

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

remove Lock = Caps_Lock
keysym Caps_Lock = Shift_L

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

remove Lock = Caps_Lock
add Shift = Caps_Lock

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

10
ответ дан 23 November 2019 в 02:07

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

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

Запустите 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 ), и capslock теперь будет левым Shift . ( Примечание: Моя тестовая машина использует GNOME, поэтому мне пришлось перезапустить gdm . Однако это вызвало странное мерцание в резервном TTY, и gdm никогда не перезапускался . Мне пришлось полностью перезагрузиться.)

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

Адаптировано из Permanent xmodmap в Ubuntu 13.04

7
ответ дан 23 November 2019 в 02:07

Для 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 .

3
ответ дан 23 November 2019 в 02:07

Другие вопросы по тегам:

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