Как ESC также отменяет CAPS, если CAPS включен?

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

Спасибо!

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

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

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

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

Как насчет немого, недальновидного и жестокого решения 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 
  • Как установить VIM на Linux, если у меня нет прав root?
  • Vim удалить все строки, которые НЕ содержат определенное слово
  • Как скопировать в буфер обмена в Vim?
  • Проблемы с OS X Terminal UTF-8
  • Как заменить символ символом новой строки в Vim?
  • Как я могу получить (g) Vim для отображения количества символов текущего файла?
  • Почему Vim может открывать большие файлы быстрее, чем некоторые другие текстовые редакторы?
  • Отключение автоматического отступа при вставке текста в vim
  • Запуск: сделать из gVim в фоновом режиме
  • Как настроить маркер длины строки в vim / gvim?
  • Vim не восстанавливает содержимое экрана на Debian?
  • Давайте будем гением компьютера.