Как сделать так, чтобы клавиша Caps Lock работала так же, как другая клавиша Shift?
Здесь есть множество вопросов о переназначении или запуске специальной команды. Я просто хочу, чтобы он работал как еще одна клавиша Shift. Я не хочу, чтобы другие ключи меняли то, что они делают, только этот.
Раскладка клавиатуры / Caps Поведение ключа блокировки не поможет, я не понимаю, как переназначить его в CCSM.
Я сейчас использую британскую клавиатуру, но я научился печатать на американской клавиатуре, меньшая левая клавиша Shift - DRIVING ME NUTS.
xmodmap
что не работает.Ответы:
Расширяя ответ @ 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 даже на неизмененной системе. Индикатор Scroll Lock включен при входе в систему, но Scroll Lock выключен, и Num Lock выключен, но Num Lock включен. Касание левой Ctrlклавиши, кажется, решает эту проблему, и я не уверен, связано ли это с моим использованием KVM-переключателя (что возможно)
Примечание. Дальнейшее тестирование показывает, что индикатор NumLock является слабым даже без KVM-переключателя, и его необходимо дважды нажать, чтобы вернуться в синхронизацию с NumLock. Если вы всегда оставляете его включенным, вы можете игнорировать индикатор или, если он вам мешает, вы можете нажать на него. дважды, чтобы вернуть его в синхронизацию. Почему это происходит, вероятно, является основой для нового вопроса ...
Другим простым решением вашей исходной проблемы было бы просто получить недорогую клавиатуру США и использовать раскладку клавиатуры США.
Источники: @ Zacharee1 ответ и анализ
/usr/share/X11/xkb/symbols/pc
и проб и ошибок тестированияисточник
Shift_L
Одного изменения было достаточно, чтобы полностью отключить capslock для меня.Добиться этого можно, адаптировав Как изменить ключ CapsLock для получения «а»? (например).
Удалите
Lock
модификатор (= Caps Lock) из Caps Lockключа и объявите, что этот ключ отправляетShift_L
keyym.Кроме того, вы можете удалить
Lock
модификатор и добавитьShift
модификатор.В любом случае, эти строки идут в файл
~/.Xmodmap
. Проверьте, загрузив егоxmodmap ~/.Xmodmap
; файл читается автоматически, когда вы входите в среду по умолчанию (или, по крайней мере, это было в дни Gnome).источник
xmodmap -e "clear Lock" -e "keysym Caps_Lock = Shift_L"
и отменить ееsetxkbmap -option
, которая не записывает в~/.Xmodmap
файл, но может использоваться при необходимости и добавляться в Startup Applications. Очень хороший ответ!Не обращая внимания на мои предыдущие попытки ответить неудачно, я обнаружил что-то, что полностью превращает капслок в левое смещение. Не переключаться, я думаю, что это постоянно, и это довольно просто.
Во-первых, я бы порекомендовал сделать резервную копию, прежде чем я представлю, как ее изменить.
Бегать
sudo cp /usr/share/X11/xkb/symbols/pc ~/pckeybak
Теперь, когда есть резервная копия, давайте перейдем к редактированию.
Используйте ваш любимый текстовый редактор для редактирования этого файла как root:
Найдите сегмент, который выглядит следующим образом (он для меня ближе к вершине, строка 22):
редактировать
быть
вместо. (
Caps_Lock
ПослеShift_L,
может быть ненужным.)Перезапустите менеджер дисплеев (обычно
sudo service lightdm restart
), и колпачок теперь будет сдвигаться влево. ( Примечание: моя тестовая машина использует GNOME, поэтому мне пришлось перезагрузить компьютерgdm
. Однако, это вызвало странное мерцание в резервном TTY иgdm
никогда не перезапускалось. Мне пришлось полностью перезагрузиться.)Этот я действительно смог протестировать и могу подтвердить, что он работает.
Адаптировано из Постоянного xmodmap в Ubuntu 13.04
источник
/usr/share/X11/xkb/symbols/capslock
также мешало Num Lock. В 16.04 есть что-то другое, например, индикатор Num Lock раньше горел при загрузке, но теперь он гаснет при входе в LightDM. Когда я тестирую ваше решение, оно изменяет Caps Lock на Shift, но при первом нажатии Caps Lock Num Lock отключается, и мне приходится нажимать Num Lock ДВАЖДЫ, чтобы снова включить его (только в первый раз). Bizarre. Очень ценю помощь до сих пор, хотя.xkbset nullify lock
?Shift_L
вставитьShift_L, Caps_Lock
. Убедитесь, что скобки совпадают.За 14.04
Однострочник:
НО , в неожиданном случае
66
неправильный код клавиши, сначала запуститеxev
в консоли и нажмите CapsLock. Тогда вы увидите что-то вроде:Правильный код ключа указан в
XX
.источник
Xmodmap trick no longer works and xkb handles this now.
.xev
видит их как разные клавиши.