Переключение телетайпа с помощью одной внешней аппаратной кнопки (цикл)

Это условное выражение Bash, а не общее testусловное выражение. Это значит

-N file

True if file exists and has been modified since it was last read.

-Nверно, если время модификации файла новее, чем время его доступа.

0
22.04.2020, 20:38
1 ответ

Вам просто нужно написать программу типа chvt, которая циклически переключает KVT, и подключить ее, как у вас (вы говорите, что )уже подключили другие программы к другим кнопкам.

Во FreeBSD:

  • Текущий активный номер KVT доступен как вывод vidcontrol -i active.
  • "Следующее" действие vidcontrol -s $NEXTпосле приращения и некоторой арифметики по модулю.

В NetBSD:

  • Текущий активный номер KVT доступен как вывод wsconscfg -g.
  • "Следующее" действие wsconscfg -s $NEXTпосле приращения и некоторой арифметики по модулю.

В Linux:

  • Текущий активный номер KVT доступен в псевдофайле -под /sys/class/tty.
  • "Следующее" действие chvt $NEXTпосле приращения и некоторой арифметики по модулю.
  • Максимально возможное число KVT фиксировано (, и вы всегда можете установить более низкий максимум в соответствии с вашими потребностями ).

На всех трех все вышеперечисленное можно было бы сделать с помощью некоторых простых арифметических действий сценария оболочки. Или вы можете написать программу на другом языке, чтобы базовые ioctl()вызывали(VT_GETACTIVEи VT_ACTIVATEво FreeBSD, например, )напрямую.

OpenBSD требует, чтобы такое программирование вызывалоwsdisplay(4)ioctl()напрямую, поскольку для этого нет удобных утилит.

Пользовательские -виртуальные терминалы пространства, отображаемые непосредственно в буфере кадра, могут иметь аналогичные механизмы, различающиеся в зависимости от программного обеспечения. Мой, например, реагирует на фактические коды USB HID для клавиш «запуск приложения потребительского устройства» следующей/предыдущей задачи .

Дополнительная литература

  • Джонатан де Бойн Поллард (2018 ). "линукс -vt ". Устройства . нош набор инструментов.
  • Сорен Шмидт и соавт. (2016 -01 -19 ).vidcontrol. Руководство по основным командам FreeBSD .
  • wsconscfg. Руководство администратора системы NetBSD . 2006 -06 -24.
  • Джонатан де Бойн Поллард (2018 ).console-multiplexor. Направляющая ноша . Программное обеспечение.
  • Джонатан де Бойн Поллард (2018 ).console-multiplexor-control. Направляющая ноша . Программное обеспечение.
1
19.03.2021, 02:26

Теги

Похожие вопросы