Набор Microsoft Surface на Linux

Кто-либо знает о Поверхностном Наборе на Linux? Могут эти функции, работающие над Ubuntu?

  1. Управление средой (Регулятор громкости/next/prev/pause/play).
  2. Добавьте Пользовательские ключи с ним.
  3. Работа над Krita.
  4. Это работает над мониторами с сенсорным экраном?
6
задан 7 May 2017 в 16:00

3 ответа

Интересная тема! Я не знаю ни о какой поддержке ядра этого устройства, но это может просто быть вопрос времени. Однако реализация в другом программном обеспечении и в некоторых случаях аппаратных средствах является другой проблемой.

  1. Теоретически возможный с поддержкой ядра (не в данный момент)
  2. Это требует программного обеспечения, а также поддержки ядра, настолько еще менее вероятно.
  3. Снова, программная поддержка, но для определенных проектов как Krita, разработчики могли добавить поддержку исходному коду, если существует поддержка ядра аппаратных средств.
  4. Нет! Набор требует, чтобы выделенное оборудование работало с экраном, и просто сенсорной чувствительности недостаточно для регистрации присутствия набора. Теоретически Вы могли выполнить это путем установки Linux на Поверхностном Studio...

Это могло также быть возможностью запустить аппаратный проект С открытым исходным кодом создать инструмент углового кодера для любой ОС. Набор и кнопки, полностью настраивающиеся через стандартизированное программное обеспечение.

3
ответ дан 23 November 2019 в 07:54

В ядре 4.19 была добавлена ​​поддержка Surface Dial https://kernelnewbies.org/Linux_4.19 .

2
ответ дан 23 November 2019 в 07:54

Surface Dial теперь распознается в Linux с ядром 4.19. evtest теперь выдает следующий вывод:

...
/dev/input/event6:      Surface Dial System Multi Axis
/dev/input/event7:      Surface Dial System Control
...

Результаты тестирования следующие:

Select the device event number [0-7]: 6
Input driver version is 1.0.1
Input device ID: bus 0x5 vendor 0x45e product 0x91b version 0x108
Input device name: "Surface Dial System Multi Axis"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 256 (BTN_0)
Event type 2 (EV_REL)
Event code 7 (REL_DIAL)
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)

Вращение вправо:

Event: time 1576958667.062349, -------------- SYN_REPORT ------------
Event: time 1576958667.100180, type 2 (EV_REL), code 7 (REL_DIAL), value 1
Event: time 1576958667.100180, -------------- SYN_REPORT ------------

Вращение влево:

Eent: time 1576958712.249904, -------------- SYN_REPORT ------------
Event: time 1576958712.274887, type 2 (EV_REL), code 7 (REL_DIAL), value -1
Event: time 1576958712.274887, -------------- SYN_REPORT ------------

Нажатие и отпускание кнопки

Event: time 1576958828.106521, -------------- SYN_REPORT ------------
Event: time 1576958829.500202, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
Event: time 1576958829.500202, type 1 (EV_KEY), code 256 (BTN_0), value 1
Event: time 1576958829.500202, -------------- SYN_REPORT ------------
Event: time 1576958829.687451, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
Event: time 1576958829.687451, type 1 (EV_KEY), code 256 (BTN_0), value 0
Event: time 1576958829.687451, -------------- SYN_REPORT ------------

Как могут быть эти события используется в WM KDE? Моя цель - использовать его для прокрутки текста \ веб-страниц.

Я пытаюсь поэкспериментировать с правилами udev, чтобы классифицировать Dial как устройство ввода - клавиатуру, а затем мышь. Ни помогите, в xev ничего не выдаст.

Xorg.0.log показывает что-то вроде этого:

[31.536] (II) config/udev: Adding input device Surface Dial System Multi Axis (/dev/input/event6)
[31.536] (**) Surface Dial System Multi Axis: Applying InputClass "evdev pointer catchall"
[31.536] (**) Surface Dial System Multi Axis: Applying InputClass "libinput pointer catchall"
[31.537] (II) Using input driver 'libinput' for 'Surface Dial System Multi Axis'
[31.537] (**) Surface Dial System Multi Axis: always reports core events
[31.537] (**) Option "Device" "/dev/input/event6"
[31.537] (**) Option "_source" "server/udev"
[31.539] (II) event6  - Surface Dial System Multi Axis: is tagged by udev as: Mouse
[31.539] (II) event6  - Surface Dial System Multi Axis: device is a pointer
[31.540] (II) event6  - Surface Dial System Multi Axis: device removed
[31.575] (**) Option "config_info" "udev:/sys/devices/virtual/misc/uhid/0005:045E:091B.0002/input/input12/event6"
[31.575] (II) XINPUT: Adding extended input device "Surface Dial System Multi Axis" (type: MOUSE, id 12)
[31.577] (**) Option "AccelerationScheme" "none"
[31.579] (**) Surface Dial System Multi Axis: (accel) selected scheme none/0
[31.579] (**) Surface Dial System Multi Axis: (accel) acceleration factor: 2.000
[31.579] (**) Surface Dial System Multi Axis: (accel) acceleration threshold: 4
[31.582] (II) event6  - Surface Dial System Multi Axis: is tagged by udev as: Mouse
[31.583] (II) event6  - Surface Dial System Multi Axis: device is a pointer
[59.464] (II) config/udev: removing device Surface Dial System Multi Axis

Как теперь можно использовать эти события, чтобы, скажем, управлять прокруткой вверх / вниз, увеличением / уменьшением масштаба и т. Д.? К сожалению, теперь я знаю, как это сделать.

1
ответ дан 21 December 2019 в 20:24

Другие вопросы по тегам:

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