3

Есть ли способ настроить клавиатуру так, чтобы нажатие ESC также отменяло функцию Capslock, если Capslock включен? Я специально использую Kubuntu Linux с переключенными ключами ESC и Caps (пользователь VIM), но мои методы кодирования SQL-операторов диктуют использование CAPS для ключевых слов SQL. Я бы предпочел общее решение для Linux / X, но также хорошо подходит и решение для KDE.

Спасибо!

2 ответа2

3

Конкретным решением для X-Windows было бы использование xbindkeys

  1. Установите xbindkeys из вашего дистрибутива.
  2. Создайте файл конфигурации .xbindkeysrc в вашем домашнем каталоге
  3. Запустите xbindkeys -k из терминала. Это должно открыть окно графического интерфейса. Когда окно сфокусировано, нажмите клавишу, которую хотите связать.
  4. Скопируйте фрагмент кода, относящийся к этому ключу, из терминала.
  5. Вставьте его в свой .xbindkeysrc
  6. Замените "командную схему" командой, запускаемой при нажатии этой клавиши.

В вашем случае вам нужно будет создать сценарий, чтобы отключить заглавные буквы, а затем сгенерировать реальное событие escape-ключа (возможно, используя crikey для отправки сигналов XTest )

Вы можете проверить, включен ли ваш caps-lock с помощью xset q | grep "LED mask"

1

Как насчет глупого, недальновидного и жестокого решения для Vim?

:s/\vfalse|null|true|access|add|as|asc|begin|by|check|cluster|column|compress|connect|current|cursor|decimal|default|desc|else|elsif|end|exception|exclusive|file|for|from|function|group|having|identified|if|immediate|increment|index|initial|into|is|level|loop|maxextents|mode|modify|nocompress|nowait|of|offline|on|online|start|successful|synonym|table|then|to|trigger|uid|unique|user|validate|values|view|whenever|where|with|option|order|pctfree|privileges|procedure|public|resource|return|row|rowlabel|rownum|rows|session|share|size|smallint|type|using|not|and|or|in|any|some|all|between|exists|like|escape|union|intersect|minus|prior|distinct|sysdate|out|alter|analyze|audit|comment|commit|create|delete|drop|execute|explain|grant|insert|lock|noaudit|rename|revoke|rollback|savepoint|select|set|truncate|update|boolean|char|character|date|float|integer|long|mlslabel|number|raw|rowid|varchar|varchar2|varray/\U\0/g

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .