СИНТАКСИС
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 bit out
- input.N.btn-name-not bit out
-
Створено для кожної кнопки на пристрої.
Для ключів
input.N.key-name
- inputN.key-name-not
-
Створено для кожної клавіші на пристрої.
Для абсолютних осей
input.N.abs-name-counts s32 out
input.N.abs-name-position float out
input.N.abs-name-scale parameter float rw
input.N.abs-name-offset parameter float rw
input.N.abs-name-fuzz parameter s32 rw
input.N.abs-name-flat parameter s32 rw
input.N.abs-name-min parameter s32 r
- input.N.abs-name-max параметр s32 r
-
Створюється для кожної абсолютної осі на пристрої. Позиції пристрою, ближчі за flat до offset, повідомляються як offset в counts, і counts не змінюється, доки позиція пристрою не зміниться щонайменше на fuzz. Позиція обчислюється як position = (counts - offset) / scale. Значення за замовчуванням scale і offset відображають діапазон осі, про який повідомляє операційна система, в [-1,1]. Значення за замовчуванням fuzz і flat є тими, про які повідомляє операційна система. Значення min і max є тими, про які повідомляє операційна система.
Для відносних осей
input.N.rel-name-counts s32 out
input.N.rel-name-position float out
input.N.rel-name-reset bit in
input.N.rel-name-scale parameter float rw
input.N.rel-name-absolute parameter s32 rw
input.N.rel-name-precision parameter s32 rw
- input.N.rel-name-last параметр s32 rw
-
Створюється для кожної відносної осі на пристрої. Поки 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 bit out
- input.N.led-name-invert параметр біт rw
-
Створено для кожного світлодіода на пристрої.
ДОЗВОЛИ ТА UDEV
За замовчуванням пристрої введення можуть бути недоступні для звичайних користувачів — hal_input вимагає доступу для читання та запису, навіть якщо пристрій не має виходів.
Різні версії udev мають дещо різні, несумісні синтаксиси. З цієї причини в цій сторінці довідки неможливо навести точний приклад. Сторінка довідки udev(7) містить опис синтаксису, що використовується у вашому дистрибутиві Linux. Щоб переглянути її в терміналі, виконайте команду man 7 udev.
ПОМИЛКИ
Початковий стан клавіш, кнопок та абсолютних осей помилково повідомляється як ХИБНІСТЬ або 0, доки для цієї клавіші, кнопки або осі не буде отримано подію.
ДИВІТЬСЯ ТАКОЖ
udev(8), udev(7)