СИНТАКСИС
loadusr hal_input [-KRAL] inputspec …
ОПИС
hal_input is an interface between HAL and any Linux input device, including USB HID devices. For each device named, hal_input creates pins corresponding to its keys, absolute axes, and LEDs. At a fixed rate of approximately 10 ms, it synchronizes the device and the HAL pins.
ВХІДНІ СПЕЦИФІКАЦІЇ
inputspec може мати одну з кількох форм:
- Рядок S
-
Підрядковий або оболонковий шаблон буде перевірено щодо «назви» пристрою, «phys» (що надає інформацію про те, як він підключений) та «id», що є рядком у форматі «Bus=… Vendor=… Product=… Version=…». Ви можете переглянути name, phys та id підключених пристроїв, виконавши команду 'less /proc/bus/input/devices'. Приклади:
-
Космічна куля
-
"Vendor=001f Product=0001"
-
serio*/input0
-
- Число N
-
Це відкриває /dev/input/eventN. За винятком пристроїв, які завжди підключені до системи, це число може змінюватися після перезавантаження або при видаленні пристрою. З цієї причини використання цілого числа не рекомендується.
Якщо кілька пристроїв ідентифікуються одним і тим самим рядком, додайте «:N», де N — індекс потрібного пристрою. Наприклад, якщо Mouse відповідає input3 та input10, то Mouse та Mouse:0 вибирають input3. Вказавши mouse:1, вибирається input10.
Для пристроїв, які з’являються як кілька записів у /dev/input, ці індекси, ймовірно, залишатимуться незмінними щоразу. Для кількох однакових пристроїв ці індекси, ймовірно, залежатимуть від порядку вставлення, але залишатимуться незмінними після перезавантаження, якщо пристрої не будуть переміщені до інших портів або від’єднані під час завантаження машини.
Якщо перший символ inputspec — це «+», то hal_input запитує ексклюзивний доступ до пристрою. Використовується перший пристрій, що відповідає inputspec. Можна використовувати будь-яку кількість inputspec.
Опція subset може передувати кожному inputspec. Опція subset починається з тире. Кожна літера в опції subset визначає функцію пристрою, яку потрібно включити. Функції, які не вказані, виключаються. Наприклад, щоб експортувати світлодіоди клавіатури в HAL без експорту клавіш, використовуйте
hal_input -L keyboard ...
ПІДТРИМУВАНІ ФУНКЦІЇ ПРИСТРОЮ
-
EV_KEY (кнопки та клавіші). Підмножина -K
-
EV_ABS (абсолютні аналогові входи). Підмножина -A
-
EV_REL (відносні аналогові входи). Підмножина -R
-
EV_LED (LED outputs). Subset -L
ПІНИ ТА ПАРАМЕТРИ HAL
Для кпонок
input.N.btn-name bool out
- input.N.btn-name-not bool out
-
Створено для кожної кнопки на пристрої.
Для ключів
input.N.key-name bool out
- inputN.key-name-not bool out
-
Створено для кожної клавіші на пристрої.
Для абсолютних осей
input.N.abs-name-counts sint out
input.N.abs-name-position real out
input.N.abs-name-is-pos bool out
input.N.abs-name-is-neg bool out
input.N.abs-name-scale real in
input.N.abs-name-offset real in
input.N.abs-name-fuzz sint in
input.N.abs-name-flat sint in
input.N.abs-name-min parameter sint r
- input.N.abs-name-max parameter sint r
-
Створюється для кожної абсолютної осі на пристрої. Позиції пристрою, ближчі за flat до offset, повідомляються як offset в counts, і counts не змінюється, доки позиція пристрою не зміниться щонайменше на fuzz. Позиція обчислюється як position = (counts - offset) / scale. Значення за замовчуванням scale і offset відображають діапазон осі, про який повідомляє операційна система, в [-1,1]. Значення за замовчуванням fuzz і flat є тими, про які повідомляє операційна система. Значення min і max є тими, про які повідомляє операційна система.
Для відносних осей
input.N.rel-name-counts sint out
input.N.rel-name-position real out
input.N.rel-name-reset bool in
- input.N.rel-name-scale real in
-
Створюється для кожної відносної осі на пристрої. Поки reset має значення true, counts обнуляється незалежно від будь-яких минулих або поточних рухів осі. В іншому випадку counts збільшується або зменшується відповідно до руху осі. counts ділиться на position-scale, щоб отримати position. Значення за замовчуванням position дорівнює 1. Є деякі пристрої, зокрема колеса прокрутки, які повертають знакові значення з роздільною здатністю менше 32 бітів. Значення за замовчуванням precision дорівнює 32. precision можна встановити на 8 для пристрою, який повертає знакові 8-бітні значення, або будь-яке інше значення від 1 до 32. absolute, коли встановлено true, ігнорує дублікати подій з однаковим значенням. Це дозволяє пристроям, які повторюють події без будь-яких дій користувача, працювати правильно. last показує найновіше значення лічильника, повернене пристроєм, і використовується в реалізації absolute.
Для LEDs
input.N.led-name bool in
- input.N.led-name-invert bool in
-
Створено для кожного світлодіода на пристрої.
ДОЗВОЛИ ТА UDEV
За замовчуванням пристрої введення можуть бути недоступні для звичайних користувачів — hal_input вимагає доступу для читання та запису, навіть якщо пристрій не має виходів.
Різні версії udev мають дещо різні, несумісні синтаксиси. З цієї причини в цій сторінці довідки неможливо навести точний приклад. Сторінка довідки udev(7) містить опис синтаксису, що використовується у вашому дистрибутиві Linux. Щоб переглянути її в терміналі, виконайте команду man 7 udev.
ПОМИЛКИ
Початковий стан клавіш, кнопок та абсолютних осей помилково повідомляється як ХИБНІСТЬ або 0, доки для цієї клавіші, кнопки або осі не буде отримано подію.
ДИВІТЬСЯ ТАКОЖ
udev(8), udev(7)