Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Как определить состояние Num Lock  (Прочитано 1633 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Василий Алексеевич

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
    • Медовуха - натуральное медовое вино
Как определить состояние Num Lock
« : 29 Октября 2017, 23:06:59 »
Здравствуйте, ребята). Подскажите, как определить состояние Num Lock? Пишу скрипт, который должен реагировать на нажатие клавишь при включенном Num Lock и при выключенном по-разному.

Оффлайн Haron Prime

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 11313
  • Нетолерантный социопат
    • Просмотр профиля
Re: Как определить состояние Num Lock
« Ответ #1 : 29 Октября 2017, 23:30:31 »
При включённом и при выключеном намлоке нажатие возвращает разный keysym
Вот пример
Клавиша 0 на цифровой клвиатуре

При включённом намлоке
state 0x10, keycode 90 (keysym 0xffb0, KP_0), same_screen YES,
При выключенном
state 0x0, keycode 90 (keysym 0xff9e, KP_Insert), same_screen YES,
Как видите, в обоих случаях код клавиши одинаковый (keycode 90), но keysym при этом разный - keysym 0xffb0 и keysym 0xff9e

Установите себе утилиту xev и используйте её, чтобы получить коды для клавиш
xev | grep keycodeВ скрипте потом можно использовать команду
xdotool key 0xffb0xdotool тоже придётся установить

Оффлайн Василий Алексеевич

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
    • Медовуха - натуральное медовое вино
Re: Как определить состояние Num Lock
« Ответ #2 : 29 Октября 2017, 23:32:20 »
Что я увидел)). Сам на свой вопрос отвечу.

evtest /dev/input/event2
type 17 (EV_LED), code 0 (LED_NUML), value 0
type 17 (EV_LED), code 0 (LED_NUML), value 1

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Как определить состояние Num Lock
« Ответ #3 : 29 Октября 2017, 23:57:49 »
А что случилось с xset -q
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

 

Страница сгенерирована за 0.064 секунд. Запросов: 25.