6

Дизайнеры моей новой клавиатуры решили, что по какой-то причине клавиша PrintScreen должна находиться между AltGr и RCtrl.

Так что теперь у меня есть эта проблема: мне нравится иметь доступ к волшебному ключу SysRq, потому что он время от времени был полезен. Но теперь у меня есть, например, AltGr+k, сопоставленный с downarrow, и мгновение назад, когда я хотел использовать эту комбинацию downarrow , я случайно нажал AltGr+PrintScreen +k, и все программы были убиты. Это очень раздражает.

Есть ли способ переназначить sysrq куда-нибудь еще? Как AltGr+удалить или что-то.

2 ответа2

1

Я только столкнулся с этой проблемой на моем новом ноутбуке. Мое решение было drivers/tty/sysrq.c в ядре, чтобы добавить

#undef KEY_SYSRQ
#define KEY_SYSRQ KEY_VOLUMEDOWN

сразу после #include s. Если уменьшение громкости не подходит для вас, вы можете найти другие коды клавиш в include/uapi/linux/input-event-codes.h .

Я не вижу способа сделать это переназначение без изменения ядра. Если это не вариант, можно по крайней мере использовать /proc/sys/kernel/sysrq как описано в документации к ядру sysrq, чтобы отключить более опасные запросы:

echo 0x1A >/proc/sys/kernel/sysrq

Это позволяет только управлять уровнями журналирования, дампами процессов и синхронизацией. Большинство других категорий, вероятно, прервут вашу работу после случайного срабатывания.

-1

Ответ зависит от того, используете ли вы X (рабочий стол графического интерфейса текущего поколения) или нет. Вы не указали.

Запуск X:

Есть несколько способов справиться с этим.

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

Если вам сложно разобраться, запустите xev . Когда вы нажимаете любую комбинацию клавиш (или делаете другие действия X), xev сообщит вам, что увидела система, и даст вам значения, необходимые для xmodmap .

Как только вы заставите команду работать, вы можете запустить ее из скрипта ~/.login чтобы она была там, когда вы запускаете интерактивную оболочку. Или вы можете добавить его как скрипт bash в систему автозапуска вашего рабочего стола.

Если вы хотите сделать больше, вы можете AutoKey который является инструментом автоматизации рабочего стола. Среди прочего, вы можете определить макрос, который будет вызываться простым или сложным нажатием клавиши, который может делать что угодно - от простого нажатия еще одного нажатия клавиши до запуска сложного макроса, написанного на Python, который может выполнять практически все, о чем вы только можете подумать - если вы знаете достаточно Python.

Я использую это каждый день и люблю это.

Для более простых вещей в том же духе, посмотрите xdotool . Он также может делать несколько вещей, которые AutoKey настоящее время не может делать - например, генерировать события мыши.

Не работает X (установка сервера и т.д.):

Это намного сложнее найти информацию, потому что это гораздо менее распространенный случай.

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

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