пятница, 27 апреля 2012 г.

Блокировка клавиатуры и мыши

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

Например:
  1. блокировка клавиатуры не помогает, если ребенок добрался до мыши. Частенько приходилось приводить рабочий стол в порядок после набегов дочки.
  2. нет индикации того, что блокировка активна. Иногда это приводит к попыткам заблокировать экран через штатный screensaver, которые терпят неудачу из-за захваченной клавиатуры в grabkeyboard.
Для решения первой проблемы я просто добавил опциональный захват ввода с мыши (это полезно, когда идет просмотр фильма в XBMC, запуженном на отдельном экране). Чтобы воспользоваться им достаточно вызвать grabinput с опцией -l.

$ grabinput -l

Вторая часть проблемы решается сменой курсора при захвате мыши. Сейчас он меняется на пиратский череп с костями (XC_pirate). Для лучшей визуализации блокировки добавлена возможность запускать скринсейвер (из комплекта xscreensaver) при блокировке.

Попутно при написании следующей версии я переименовал утилиту в grabinput и завел исходники под контроль версий. Последняя версия grabinput доступна тут.

Комментариев нет:

Отправить комментарий