Переназначить клавишу caps lock

Настройка графического интерфейса, Иксов, десктопов, оконных менеджеров и иксовых терминалов

Модератор: Модераторы разделов

Ответить
Аватара пользователя
bars
Сообщения: 917
ОС: BSD/LINUX
Контактная информация:

Переназначить клавишу caps lock

Сообщение bars »

Добрый вечер.
Подскажите как лучше переназначить клавигу caps lock?
xorg настрйока такая.

Код: Выделить всё

cat /etc/X11/xorg.conf.d/10-keyboard.conf 
Section "InputClass"
    Identifier     "Keyboard0"
    Driver         "evdev"
    Option         "AutoRepeat" "500 30"
    Option         "XkbRules" "xorg"
    Option         "XkbModel" "pc104"
    Option         "XkbLayout" "us,ru(winkeys)"
    Option         "XkbVariant" "nodeadkeys"
    Option         "XkbOptions" "grp:ctrl_shift_toggle,grp_led:caps,ctrl:nocaps"
EndSection
То-есть сейчас как бы она отключена.
Проверяю клавишу caps lock через xev распознается ли она вообще

Код: Выделить всё

KeyPress event, serial 37, synthetic NO, window 0x3a00001,
    root 0x1a1, subw 0x0, time 3896493, (-22,319), root:(849,766),
    state 0x10, keycode 66 (keysym 0xffe3, Control_L), same_screen YES,
    XKeysymToKeycode returns keycode: 37
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False
Распознается почему-то как левый контроль.
Оболочка xfce4 4.14
Система Gentoo Linux.
Хочу ей ( caps lock) либо раскладку менять, либо вкладки терминала закрывать.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1367
ОС: Slackware

Re: Переназначить клавишу caps lock

Сообщение UnixNoob »

bars
я переназначал клавиши с помощью xmodmap.
Запускаем утилиту xmodmap с ключами -pke
На экран вывалится текущая раскладка клавиатуры.
Ищем нужный keycode:
keycode 94 = less greater slash bar bar brokenbar
Создаем новый файл в корневом каталоге с именем .Xmodmap.
В нем мы будем формировать свою новую раскладку.
Копируем строчку найденную выше в этот файл и правим.
Для того что бы знать на что заменить «less greater …» придется почитать весь вывод xmodmap -pke и найти то что нам подходит.
Для теста запускаем: xmodmap ~/.Xmodmap
Правда язык то вроде как попроще назначается на caps lock. Это я переназначал специфичные клавиши клавиатуры Apple на cтандартные.
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Переназначить клавишу caps lock

Сообщение Bizdelnick »

bars писал:
24.12.2020 20:45
Хочу ей ( caps lock) либо раскладку менять
grp:caps_toggle

Может также пригодиться: https://habr.com/ru/post/222285/
Добавлено (21:46):
Также см. список опций в /usr/share/X11/xkb/rules/base.lst
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 917
ОС: BSD/LINUX
Контактная информация:

Re: Переназначить клавишу caps lock

Сообщение bars »

Bizdelnick писал:
24.12.2020 21:35
grp:caps_toggle
Может также пригодиться: https://habr.com/ru/post/222285/
Добавлено (24.12.2020 21:46):
Также см. список опций в /usr/share/X11/xkb/rules/base.lst
Про это я в курсе grp:caps_toggle , но тогда приходиться убрать nocaps и после функции caps lock работатют и создаются большие не удобства при переключении раскладки клавы и большой/маленький регистр букв.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 917
ОС: BSD/LINUX
Контактная информация:

Re: Переназначить клавишу caps lock

Сообщение bars »

Хотелось бы убрать функционал с клавиши caps lock.
Что бы не было возможности делать большую маленькую буквы.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Переназначить клавишу caps lock

Сообщение Hephaestus »

bars писал:
25.12.2020 08:21
но тогда приходиться убрать nocaps и после функции caps lock работатют и создаются большие не удобства при переключении раскладки клавы и большой/маленький регистр букв.
При caps_toggle
раскладка переключается caps lock.
Регистр букв в этом случае переключается shift+caps lock.

В чем неудобства?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 917
ОС: BSD/LINUX
Контактная информация:

Re: Переназначить клавишу caps lock

Сообщение bars »

Hephaestus писал:
25.12.2020 10:19
При caps_toggle
раскладка переключается caps lock.
Регистр букв в этом случае переключается shift+caps lock.

В чем неудобства?
Ага, так и есть.
Но хотелось полностью убрать функционал большая/маленькая буква и назначить клавишу caps на другие нужды.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Переназначить клавишу caps lock

Сообщение Bizdelnick »

bars писал:
25.12.2020 10:39
Но хотелось полностью убрать функционал большая/маленькая буква и назначить клавишу caps на другие нужды.
У Вас ведь с ctrl:nocaps так и есть, судя по Вашему описанию? Можно сделать grp:shift_caps_switch, например.
У меня compose:caps, капитализации нет.
Вообще, определитесь сначала со своими нуждами, а то непонятно, чего Вы хотите.
Добавлено (11:45):
А вот это Вы видели? Пробовали? Ничего не устроило?

Код: Выделить всё

  caps                 Caps Lock behavior
  caps:internal        Caps Lock uses internal capitalization; Shift "pauses" Caps Lock
  caps:internal_nocancel Caps Lock uses internal capitalization; Shift does not affect Caps Lock
  caps:shift           Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock
  caps:shift_nocancel  Caps Lock acts as Shift with locking; Shift does not affect Caps Lock
  caps:capslock        Caps Lock toggles normal capitalization of alphabetic characters
  caps:shiftlock       Caps Lock toggles ShiftLock (affects all keys)
  caps:swapescape      Swap ESC and Caps Lock
  caps:escape          Make Caps Lock an additional Esc
  caps:backspace       Make Caps Lock an additional Backspace
  caps:super           Make Caps Lock an additional Super
  caps:hyper           Make Caps Lock an additional Hyper
  caps:menu            Make Caps Lock an additional Menu key
  caps:numlock         Make Caps Lock an additional Num Lock
  caps:ctrl_modifier   Caps Lock is also a Ctrl
  caps:none            Caps Lock is disabled
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 917
ОС: BSD/LINUX
Контактная информация:

Re: Переназначить клавишу caps lock

Сообщение bars »

Bizdelnick писал:
25.12.2020 11:36
Вообще, определитесь сначала со своими нуждами, а то непонятно, чего Вы хотите.
Но хотелось полностью убрать функционал большая/маленькая буква и назначить клавишу caps на другие нужды.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Переназначить клавишу caps lock

Сообщение Hephaestus »

bars писал:
25.12.2020 11:51
Но хотелось полностью убрать функционал большая/маленькая буква и назначить клавишу caps на другие нужды.
Вы и назначили на переключение раскладок.
В полном соответствии вот с этим пожеланием:
bars писал:
24.12.2020 20:45
Хочу ей ( caps lock) либо раскладку менять
Разве нет?
После этого обычный функционал caps lock уже не действует.

А какие ещё переназначения Вам нужны? Изложите тогда уж.
Закрывать вкладки терминала? Ну, здесь так просто не выйдет, это ещё у терминала надо спросить, согласен ли он.
Но в любом случае, caps lock одновременно будет выполнять только одну задачу:
либо переключать раскладки, либо закрывать вкладки терминала, либо что-то ещё (что Вам там нужно), но не всё сразу.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 917
ОС: BSD/LINUX
Контактная информация:

Re: Переназначить клавишу caps lock

Сообщение bars »

Hephaestus писал:
25.12.2020 12:46
А какие ещё переназначения Вам нужны? Изложите тогда уж.
Закрывать вкладки терминала? Ну, здесь так просто не выйдет, это ещё у терминала надо спросить, согласен ли он.
Но в любом случае, caps lock одновременно будет выполнять только одну задачу:
либо переключать раскладки, либо закрывать вкладки терминала, либо что-то ещё (что Вам там нужно), но не всё сразу.
Вспомнил о виндуз кнопке на клаве.
Решил все таки оставить переключения языка через капс, а вот горячию клавишу для закрытия вкладок терминала решил назначить ctrl+windows кнопка.
Виндовс кнопка в xev распознается как Super_L или Super_R.

Код: Выделить всё

KeyRelease event, serial 37, synthetic NO, window 0x3a00001,
    root 0x1a1, subw 0x0, time 2547352, (63,-9), root:(934,438),
    state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 37, synthetic NO, window 0x3a00001,
    root 0x1a1, subw 0x0, time 2551944, (63,-9), root:(934,438),
    state 0x10, keycode 134 (keysym 0xffec, Super_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False
Терминал xfce4-terminal
Назначаю

Код: Выделить всё

egrep close-tab .config/xfce4/terminal/accels.scm
(gtk_accel_path "<Actions>/terminal-window/close-tab" "<Primary>Super_L")
Перезапускаю терминал, сочетания горячих клавиш не работает.
Primary - Это клавиша ctrl
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2345
ОС: gentoo fluxbox

Re: Переназначить клавишу caps lock

Сообщение yoricI »

bars писал:
25.12.2020 16:14
Решил все таки оставить переключения языка через капс
С давних пор заметил, что это популярно в linux, но до сих пор не могу понять - а как же фиксировать верхний регистр? Понятно, что это редко требуется, но тем не менее. Почему бы не использовать для переключения раскладок L-WIN, R-Win or Menu? Которые сейчас на всех клавах есть.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Переназначить клавишу caps lock

Сообщение Bizdelnick »

yoricI писал:
25.12.2020 16:57
как же фиксировать верхний регистр? Понятно, что это редко требуется,
Это, как правило, вообще не требуется. Максимум что нужно, это набрать имя переменной или аббревиатуру, редко больше 5 символов. Палец не отвалится shift подержать. Модальность — зло.
Добавлено (17:37):
Offtopic
yoricI писал:
25.12.2020 16:57
Почему бы не использовать для переключения раскладок L-WIN, R-Win or Menu? Которые сейчас на всех клавах есть.
Кстати, я привык делать именно так. И меня дико бесит одна клавиатура, на которой rwin отсутствует, а вместо menu надо жать fn+rshift. И вот только сейчас я сообразил, что это вообще единственная комбинация с fn на этой клавиатуре. То есть производитель мог спокойно сделать menu на месте fn и не заставлять меня корячить пальцы, функциональность бы не пострадала.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 917
ОС: BSD/LINUX
Контактная информация:

Re: Переназначить клавишу caps lock

Сообщение bars »

yoricI писал:
25.12.2020 16:57
bars писал:
25.12.2020 16:14
Решил все таки оставить переключения языка через капс
С давних пор заметил, что это популярно в linux, но до сих пор не могу понять - а как же фиксировать верхний регистр? Понятно, что это редко требуется, но тем не менее. Почему бы не использовать для переключения раскладок L-WIN, R-Win or Menu? Которые сейчас на всех клавах есть.
ХЗ, просто так захотелось.
Пока разбираюсь почему ctrl+super_L не работает.
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Переназначить клавишу caps lock

Сообщение s.xbatob »

bars писал:
25.12.2020 18:13
Пока разбираюсь почему ctrl+super_L не работает.
А это что за клавиша? Super_r это насколько помню Меню, но слева такой клавиши нет
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Переназначить клавишу caps lock

Сообщение Bizdelnick »

s.xbatob писал:
25.12.2020 18:32
Super_r это насколько помню Меню, но слева такой клавиши нет
Super — это клавиша с вражеским логотипом. Иногда она только слева, иногда — с обеих сторон.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2345
ОС: gentoo fluxbox

Re: Переназначить клавишу caps lock

Сообщение yoricI »

Bizdelnick писал:
25.12.2020 17:30
Максимум что нужно, это набрать имя переменной или аббревиатуру, редко больше 5 символов. Палец не отвалится shift подержать. Модальность — зло.
Так-то да, иногда по ошибке включишь и потом по новой набирать :-) Но бывает, приходится те же переменные клепать, так мне лично удобнее левым мизинцем клацнуть по капсу, пусть и на несколько символов. Шифтами пользуюсь только для одиночного заглавного. А зло - это бескомпромиссность :-)
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 917
ОС: BSD/LINUX
Контактная информация:

Re: Переназначить клавишу caps lock

Сообщение bars »

Странно указал Super_L+z работает.
Указываю ctrl+Super_L не работает.
А так же <Primary>Super_L не работает.
В чем подвох?
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Переназначить клавишу caps lock

Сообщение Hephaestus »

yoricI писал:
25.12.2020 16:57
но до сих пор не могу понять - а как же фиксировать верхний регистр?
Я чуть выше писал: Shift+Caps lock. Причем это по умолчанию, когда для переключения раскладок выбран Caps Lock.
Bizdelnick писал:
25.12.2020 17:30
Максимум что нужно, это набрать имя переменной или аббревиатуру, редко больше 5 символов.
Как вы знаете, в сишном коде в верхнем регистре принято набирать имена макросов
и вроде бы что-то ещё в директивах препроцессора.
Вероятно, это можно набирать и строчными буквами, но я не знаю, что именно, и не готов спорить на эту тему.
Например, include guard я везде встречал только заглавными.
Я как-то по запарке написал строчными - оно то ли ругнулось, то ли не сработало...

Так вот, имена макросов и всякие там include guard - это как правило больше пяти символов (мне встречались длинные составные идентификаторы - из нескольких слов, разделенных знаком подчеркивания).
В этом случае легче зафиксировать верхний регистр и нормально набрать строку, чем держать shift.

А если ещё учесть навык машинописи (конечно я учитываю: не могу же я по вторникам набирать вслепую, а по пятницам - одним пальцем), то там (в машинописи) есть правило: shift всегда зажимается рукой, свободной от удара. То есть, если буквенная клавиша под правой рукой, то shift зажимается левой. И наоборот.
И в этом плане набирать комбинацию заглавных букв (пусть даже из пяти символов) с помощью shift получается весьма забавно: shift зажимается то левой, то правой - попеременно на каждой букве. Эдакая тренировка мелкой моторики. Пишущие машины как раз на такой случай имеют замок верхнего регистра.
А поскольку алфавитно-цифровой блок компьютерной клавиатуры соответствует клавиатуре пишущих машин, на нем то же есть этот самый "замок". И хорошо. И пусть будет.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1367
ОС: Slackware

Re: Переназначить клавишу caps lock

Сообщение UnixNoob »

Hephaestus
Раз вы упомянули слепую печать, и не создавать тему ради такого вопроса спрошу, а какой раскладкой слепой печати вы пользуетесь? И меня больше всего интересует цифровой ряд, у меня проблемы с цифрой 6, ее в части раскладок надо набирать правой, но мне не удобно.
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Переназначить клавишу caps lock

Сообщение Hephaestus »

UnixNoob писал:
28.12.2020 14:30
какой раскладкой слепой печати вы пользуетесь?
Я использую наиболее близкую к пишущей машинке: russian typewriter.
Почему?
Потому что в обычной раскладке (russian) цифры набираются без модификатора, а знаки препинания - с модификатором.
А в раскладке russian typewriter - наоборот.
Цифры в обычном тексте встречаются реже, чем знаки препинания,
кроме того, цифры можно набирать и отдельно - на цифровой клавиатуре, поэтому набор знаков препинания без модификатора значительно удобнее.

Буква ё в раскладке russian находится в верхнем (цифровом) ряду - по сути за пределами буквенных рядов, что весьма неудобно.
В раскладке russian typewriter буква ё находится в нижнем ряду (в зоне правого мизинца).

У этой раскладки есть свои минусы, но они не критичны.

Другие раскладки (Дворак и т.п.) я не пробовал.
Добавлено (20:22):
UnixNoob писал:
28.12.2020 14:30
И меня больше всего интересует цифровой ряд, у меня проблемы с цифрой 6, ее в части раскладок надо набирать правой, но мне не удобно.
Вообще, по классической схеме цифра 6 расположена в зоне левого указательного пальца (здесь дело даже не в раскладке, сама клавиша на клавиатуре так расположена). Поэтому я не очень понимаю, каким манером она попадает под правую руку. Разве что в какой-то раскладке цифра 6 расположена не на клавише с цифрой 6, а на другой клавише... Но зачем их сдвигать? Непонятно.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Ответить