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

Как сделать ключ Caps Lock работать так же, как другой ключ Shift?

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

Клавиатура Layout / Caps Lock не влияет на поведение клавиш, я не понимаю, как переназначить его в CCSM.

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

1
задан 2 September 2016 в 13:31

3 ответа

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

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

remove Lock = Caps_Lock
keysym Caps_Lock = Shift_L
[d4 ] В качестве альтернативы вы можете удалить модификатор Lock и добавить модификатор Shift.

remove Lock = Caps_Lock
add Shift = Caps_Lock

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

10
ответ дан 25 May 2018 в 16:29
  • 1
    Отлично, это сработало. Я сделал новый пустой документ в своем домашнем каталоге под названием «.Xmodmap» и вставил в него свой первый пример. Затем я ввел «xmodmap ~ / .Xmodmap» в терминал, чтобы он вступил в силу немедленно. Они объясняются в связанном ответе. Спасибо. – Tom Brossman 27 November 2011 в 03:44
  • 2
    Второй набор команд не работает для меня, но первый работает отлично. Нажатие кнопки Caps Lock даже не включает подсветку клавиатуры, поэтому даже не вызывает скрытого OCD. – Waldir Leoncio 27 July 2016 в 13:43
  • 3
    Хороший ответ, Жиль! Чтобы добавить к вашему ответу, это можно сделать как одну команду: xmodmap -e "clear Lock" -e "keysym Caps_Lock = Shift_L" и отменить с setxkbmap -option , который не записывается в файл ~/.Xmodmap, но может быть использован, когда это необходимо, и добавляется в Startup Приложения. Очень хороший ответ! – Sergiy Kolodyazhnyy 3 September 2016 в 21:20

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

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

Run sudo cp /usr/share/X11/xkb/symbols/pc ~/pckeybak [ ! d2]

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

Используйте свой любимый текстовый редактор, чтобы отредактировать этот файл как 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    ]   };

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

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

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

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

7
ответ дан 25 May 2018 в 16:29
  • 1
    Спасибо, но это мешает Num Lock, который я оставляю навсегда. При раннем устранении неполадок, изменяя Caps_lock & gt; Shift_L в /usr/share/X11/xkb/symbols/capslock также мешал Num Lock. Есть что-то другое в 16.04, например, индикатор Num Lock, который использовался при загрузке, но теперь он выходит на вход LightDM. Когда я тестирую ваше решение, он меняет Caps Lock на Shift, но в первый раз, когда я нажимаю Caps Lock, Num Lock отключается, и я должен нажать Num Lock TWICE, чтобы вернуть его (только в первый раз). Bizarre. Поистине ценим помощь до сих пор. – Tom Brossman 2 September 2016 в 10:00
  • 2
    Возможно, мне нужно задать новый вопрос «Как предотвратить повторное вмешательство Caps Lock с Num Lock на 16.04? & Quot; но я бы хотел найти здесь первопричину. Либо это, либо время, чтобы открыть клавиатуру и внести некоторые физические изменения в нее ... – Tom Brossman 2 September 2016 в 10:04
  • 3
    Это странно. Работает ли numlock снова, если вы запустите xkbset nullify lock? – TheWanderer 2 September 2016 в 13:05
  • 4
    @TomBrossman. Я не знаю, что это для вас что-то изменит, но это работает для меня. Вместо Shift_L введите Shift_L, Caps_Lock. Убедитесь, что скобки выровнены. – TheWanderer 2 September 2016 в 13:28
  • 5
    @TomBrossman Мне нравится использовать sudo, если это не опасно, просто чтобы быть уверенным: p. Когда я редактировал файл, L для смены был капиталом, и так было закрыто. Weird. Дело NumLock также странно, поскольку оно отлично работает для меня. Все это странно: p – TheWanderer 2 September 2016 в 21:08

Для 14.04

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

xmodmap -e 'keycode 66=Shift_L'

Для 14.04 в непредвиденном случае 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
ответ дан 25 May 2018 в 16:29
  • 1
    Посмотрите на сообщение о щедрости: Xmodmap trick no longer works and xkb handles this now.. – TheWanderer 1 September 2016 в 01:43
  • 2
    О, мой! это из-за 16.04? Он работает над моим 14.04. Комментарий Bounty, похоже, не указывается. – user 1 September 2016 в 01:50
  • 3
    О, мой! это из-за 16.04? Он работает над моим 14.04. Комментарий Bounty, похоже, не указывается. – user 1 September 2016 в 01:50
  • 4
    О, мой! это из-за 16.04? Он работает над моим 14.04. Комментарий Bounty, похоже, не указывается. – user 1 September 2016 в 01:50
  • 5
    О, мой! это из-за 16.04? Он работает над моим 14.04. Комментарий Bounty, похоже, не указывается. – user 1 September 2016 в 01:50
  • 6
    Я не сделал щедрости, поэтому я действительно не знаю. – TheWanderer 1 September 2016 в 01:55
  • 7
    Извините, это для новой установки 16.04. Левая или правая клавиша сдвига будет прекрасной, я выбрал левый для вопроса, потому что он смежный, а xev видит их как разные клавиши. – Tom Brossman 2 September 2016 в 00:44

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

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