Несколько мелких полезных программок.

Здесь собраны программки которые я написал, не найдя ничего подходящего из имеющихся в системе.

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

Программа scancode.c

Показывает скан-коды клавиш, именно в таком виде, в каком они указываются в таблице раскладки клавиатуры.

Ее надо "собрать" с библиотекой ncurses
сс scancode.c -lncurses -o scancode

Если вы хотите, чтобы она показывала и "код отпускания" клавиши, уберите проверку if (c > 0) или объявите c как unsigned char.

Если вас интересуют "сырые" скан-коды, то замените K_CODE на K_RAW

Программа fkey.c

Просто "вычитывает" из syscons последовательности, генерируемые "функциональными" клавишами.

Никаких специальных библиотек не требует.

Программа reset_kbd.c

Это программка очень специфического назначения.
Иногда, при "кривом" завершении программы X-сервер, клавиатура остается в режиме "сырых" скан-кодов. При этом, естественно, переключится в другой "виртуальный терминал" невозможно. Но, если к этой машине есть доступ телнетом, то можно исправить положение, вернув клавиатуру в нормальный режим.

Я обнаружил, что программа из комплекта XFree, которая должна это делать (kbd_mode), на самом деле свою задачу не выполняет (поскольку посылает команду на самый первый виртуальный терминал, а не на текущий).

Так вот, эта моя программка сама определяет текущий виртуальный терминал и "исправляет" клавиатуру именно на нем.

Для исполнения требуются привелегии root'а.


Иван Паскаль pascal@tsu.ru