Как сопоставить ключи для действия в Ubuntu 13.04 и более поздних версиях? [dубликат]

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

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

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

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

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

7 ответов

Вы можете попасть туда, адаптировав Как изменить ключ 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).

10
ответ дан 18 July 2018 в 14:37

Для 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
ответ дан 18 July 2018 в 14:37

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

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

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 никогда не перезапускалось. Мне пришлось полностью перезагрузиться.)

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

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

7
ответ дан 18 July 2018 в 14:37

Вы можете попасть туда, адаптировав Как изменить ключ 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).

10
ответ дан 24 July 2018 в 20:26
  • 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

Для 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
ответ дан 24 July 2018 в 20:26
  • 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
    Я не сделал щедрости, поэтому я действительно не знаю. – TheWanderer 1 September 2016 в 01:55
  • 4
    Извините, это для новой установки 16.04. Левая или правая клавиша сдвига будет прекрасной, я выбрал левый для вопроса, потому что он смежный, а xev видит их как разные клавиши. – Tom Brossman 2 September 2016 в 00:44
  • 5
    Значит, вам пришлось отключить эту строку? Просто перейти на Shift_L было достаточно, чтобы полностью отключить капсюль для меня. – TheWanderer 3 September 2016 в 21:30
  • 6
    @ Zacharee1 Я думал, что это может быть причиной воздействия на Numlock, о котором Том Броссман упомянул в комментарии к вашему сообщению и вынул его только по этой причине. – Elder Geek 3 September 2016 в 21:36
  • 7
    Хм. Это может быть так. Я вижу, могу ли я заставить Занну пройти тест с виртуальной машиной, так как у нее есть британская доска. – TheWanderer 3 September 2016 в 21:38
  • 8
    @ Zacharee1 Это было бы круто, поскольку у меня нет такого оборудования, доступного для тестирования, и часто полагайтесь на логику в тех случаях, когда полное тестирование невозможно. – Elder Geek 3 September 2016 в 21:45
  • 9
    Наконец-то это было выполнено, проверено и работает (на данный момент, по крайней мере). Странно, что свет Num Lock светится на моей клавиатуре, но дополнительные цифровые клавиши включены по умолчанию, когда я вхожу в систему, и это то, что я получил. Благодаря! – Tom Brossman 3 September 2016 в 23:12

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

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

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 никогда не перезапускалось. Мне пришлось полностью перезагрузиться.)

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

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

7
ответ дан 24 July 2018 в 20:26
  • 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

Вы можете попасть туда, адаптировав . Как изменить ключ 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).

10
ответ дан 31 July 2018 в 23:29

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

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