LINUX.ORG.RU

5
Всего сообщений: 95

Какой язык выбрать для разработки GUI-фреймворка для планшетного Linux?

Интересно ваше мнение, какой язык можно выбрать для написания нового GUI-фреймворка для Linux? Я бы хотел написать для себя (и для других) удобную библиотеку для встраиваемого Linux с сенсорным вводом (планшеты с тач-скрином).

Сам я пробовал GTK+, Qt и Kivy. GTK+ не нравится своим языком разметки интерфейса на основе xml, странным видом байндингов сигналов, глючной инфраструктурой разработки и тем, что разрабы часто глухи к желаниям пользователей. Qt мне нравится многим, но в последнее время они как-то нестабильно ведут себя относительно открытости лицензии. Документация в последние годы тоже стала заметно хуже. Зато их язык разметки интерфейса, qml, довольно неплох. Kivy - GUI-фреймворк на python. Он во многих местах довольно сырой, приложения с ним довольно долго загружаются, но на нём можно легко и быстро написать приложение, и его язык разметки интерфейса, kv, тоже очень приятен.

Хотелось бы узнать ваше мнение, на каком языке лучше создать новый фреймворк?

С - хороший язык, но слишком много позволяет, велика вероятность утечек памяти, возможно, не будет хватать объектно-ориентированности.

C++ - прекрасный язык, если его правильно использовать. Единственная трудность с C++ - не так много людей, кто может его правильно использовать. Кажется, что язык потихоньку теряет свою популярность.

Rust - слишком мало программистов на Rust, язык пугает своим внешним видом. В последние годы язык динамично развивается, но это развитие больше похоже на хаотичные конвульсии.

Python - интерпретируемый язык, поэтому для каждого приложения придётся запускать интерпретатор, что довольно накладно.

C# - не очень популярен в Linux окружении, возможно, будет тяжеловат во встраиваемом окружении.

JVM-based - кажется, что могут быть тяжеловаты во встраиваемом окружении.

 , , ,

embden ()

kubuntu 18 - тачскрин

Привет

не могу разобраться с тачскрином на лэптопе thinkpad x1 r6 - как сделать скроллинг окон, когда пальцем начинаешь возюкать по экрану? ощущение, что экран работает в рижиме «мыши» а не тач. начинает выделять текст или курсор двигать.

более того, если подключен второй экран, то при таче на правой половине первого экрана - он думает, что я мышью активно вожу по второму экрану…

firefox 72, например, вообще говорит, что нет тач ивентов ontouchstart/end…

 ,

latonita ()

Не включается экран при нажатии на тачскрин

Всем привет. Имеется пальцетыкательный монитор. Подключение к компьютеру через VGA и USB. Тачскрин нормально работает из коробки. Система Astra Linux.

Но возникает проблема, когда система гасит монитор по бездействии. Монитор не включается обратно, сколько его не тыкай пальцами, но достаточно пошевелить мышь или нажать клавишу на клаве — монитор включается.

Может кто сталкивался?

Если запустить xinput --test 13, то исправно пишет в консольку всякое при нажатиях тачскрина, пока монитор бодрствует. Как только система гасит экран по бездействию, сколько ни тыкай, ничего не пишет.

xinput --list показывает некий ILITEK ILITEK-TP.

 ,

s3rjke ()

Удалённый рабочий стол или удалённый Android

Всем здрасте!

Сижу, значит, на изоляции. И собственно сидеть стал больше. Что-нибудь читаю, смотрю, изучаю, общаюсь, т.п. За столом это не особенно удобно, хочется сменить позу. Но комп у меня настольный и ноута нет. Зато у меня есть 10" стрый и тормозной, и очень китайский планшет на каком-то Alwinner и Android там максимум 4.4.4. На нём можно книжки читать, видео посмотреть, да и всё. Проблема в том, что гуглосервисы на нём работают кране кривой и он от них ещё больше вешается.

И я озадачился вопросом. Как бы его использовать в качестве терминала к основному компу?

Вижу два варианта:
* Удалённый рабочий стол для работы с Linux софтом. На настольные DE не слишком заточены под управление через сенсор. Или я ошибаюсь? Может какая-нибудь Plasma Mobile? И кроме того, есть ли клиенты удалённого рабочего стола, которые бы отправляли события мультитач?

* Удалённый Android. Так вообще бывает? Например, поставить в виртуалку Android X86, чтобы с него картинка и звук транслировались на планшет, а касания экрана - обратно.

Оба варианта изврат, конечно. Но так от него хоть польза будет.

 , , ,

ls-h ()

Тачскин: как скролить одним пальцем как на телефоне?

Всем привет. Есть информационный киоск (комп с Debian 9 + Openbox+ Chromium в режиме киоска). Стоит тачскрин MASTouch TouchSystems MASTouch USB Touchscreen (без мультитача). Сейчас он работает как мышка - т.е. скролить сайт можно только скролбаром сбоку экрана, что очень неудобно. Можно ли сделать так, что бы сайт скролился одним пальцем - т.е проводя пальцем по экрану, как это происходит, например, на мобильном телефоне?

Устройство определяется вот так:

I: Bus=0003 Vendor=0df9 Product=0001 Version=0110
N: Name="MASTouch TouchSystems MASTouch USB Touchscreen"
P: Phys=usb-0000:00:1d.0-1.5/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/0003:0DF9:0001.0003/input/input4
U: Uniq=
H: Handlers=mouse0 event1 js0 
B: PROP=0
B: EV=1b
B: KEY=70000 0 0 0 0
B: ABS=10000000003
B: MSC=10

Драйвер используется evdev.

 , ,

dpronyaev ()

не работает тачскрин в ubuntu

$ sudo evtest 
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:	Power Button
/dev/input/event1:	Power Button
/dev/input/event2:	Arduino LLC Arduino Leonardo Mouse
/dev/input/event3:	Arduino LLC Arduino Leonardo Keyboard
/dev/input/event4:	Logitech USB Optical Mouse
/dev/input/event5:	Logitech Wireless Keyboard PID:4023
/dev/input/event6:	Logitech Wireless Mouse
/dev/input/event7:	Goodix Capacitive TouchScreen
/dev/input/event8:	Intel HID events
/dev/input/event9:	Video Bus
/dev/input/event10:	gpio-keys
/dev/input/event11:	gpio-keys
/dev/input/event12:	Intel HDMI/DP LPE Audio HDMI/DP,pcm=0
/dev/input/event13:	Intel HDMI/DP LPE Audio HDMI/DP,pcm=1
/dev/input/event14:	Intel HDMI/DP LPE Audio HDMI/DP,pcm=2
/dev/input/event15:	chtrt5645 Headset

на 7 мой тач, на нажатия не реагирует

 , ,

luntik2012 ()

Мултитач для тачскрина

Есть ли какие-нибудь драйвера для обработки касаний? Вчера удалось запустить xorg с libhybris. Тач работает через libinput, но никаких жестов и правого клика. Есть ли какой-нибудь драйвер для обработки касаний? Или все же лучше написать свой? Если что я использую окружение(chroot) Gentoo Linux, udev работает

 , , ,

nillerusr ()

KDE и сенсорный экран

Всем привет. Имеется ноутбук с сенсорным экраном – Dell E7250. Дистрибутив – Manjaro, последнее ядро 5.5, версия Plasma 5.17.5.

Сенсорный экран прекрасно работает, но такое чувство, что он просто эмулирует тачпад. То есть, им можно перемещать курсор, но, например, прокрутка страницы проведением по ней пальцем не работает.

Можно ли настроить KDE таким образом, чтобы поведение тачскрина было аналогично его поведению в Android или Windows? Чтобы работали жесты, мультитач и т.п.?

 , ,

Alden ()

Калибровка touch-screen с двумя мониторами.

У меня к ПЭВМ подключено два разных монитора, каждый с имеет свой touch. Нужно их откалибровать. Хотелось бы иметь универсальное решение. Для одного-монитора использую команды: xinput map-to-output id-touch name-monitor(узнаю через xrandr) xinput_calibrator –device id-touch Но как узнать какой touch к какому монитору подключен?

 ,

cyrillwork ()

Resistive touchscreen напрямую к stm32 (4 wires). Норм или не стоит?

Нужно подключить 4-проводной резистивный тачскрин к stm32 (дисплей 320*240 2.4"). Вариантов 2:

  • поставить специальный интерфейсный чип за 15-30 центов.
  • завести напрямую (питать с GPIO, без дополнительных ключей).

Какая-то особая точность не нужна, там интерфейс с большими кнопками, не промажешь.

Если я правильно понимаю, внешний чип позволил бы увеличить точность измерений (за счет дифференциального подключения АЦП), но все равно тайминги надо будет выписывать ручками (задержки после перекоммутации АЦП, фильтрацию). То есть, код проще НЕ станет.

Собсна, вопрос. Если меня устраивает 8 бит точности и не надо мерить силу нажатия, есть ли смысл приворачивать внешний чип? Не то чтобы он мне мешал или денег жалко, просто не могу понять профит.

Ну да, на прямом включении сопротивление ключей GPIO внесет дополнительную погрешность, и пульсации по питанию будут срать. Но вроде это калибровкой и фильтрацией должно порезаться (если на точность 10 бит не замахиваться). Или нет?

Кто-нибудь подрубал мелкие резистивние тачскрины к микроконтроллеру напрямую? Как оно в реальной жизни?

 , ,

Vit ()

systemd & touchegg

Всем привет, подскажите как правильно сконструировать свой юнит для пользователя?

Имеется утилита touchegg для тачскрина ей нужен домашний каталог пользователя и переменная текущего монитора

Я написал юнит /etc/systemd/user/touchegg@.service

[Unit] Description=TouchScreen

[Service] ExecStart=/usr/bin/touchegg Environment=DISPLAY=:%i

[Install] WantedBy=default.target

в надежде что он будет запускаться для каждого пользователя.

но там systemd его не видит, перекинул его в usr/lib/systemd/user, но при запуске юнита вот такая ошибка

# systemctl --user start touchegg@.service Failed to get D-Bus connection: В соединении отказано

в bash_profile не хочу его вставлять

 , ,

vvpnet ()

MasTouch USB Touchscreen и Kubuntu 18.04

Приветствую!

Есть необходимость заставить сабж работать. По умолчанию сабж откликается на нажатия, но курсор бултыхается в левом верхнем углу экрана. Установлен и запущен xinput_calibrator, который создал вот такой выхлоп, который я поместил в /usr/share/X11/xorg.conf.d/99-calibration.conf

Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "MASTouch TouchSystems MASTouch USB 

Touchscreen"
        Option  "MinX"  "-9"
        Option  "MaxX"  "2108"
        Option  "MinY"  "747"
        Option  "MaxY"  "2453"
        Option  "SwapXY"        "0" # unless it was already set to 1
        Option  "InvertX"       "0"  # unless it was already set
        Option  "InvertY"       "0"  # unless it was already set
EndSection

Но на ситуацию это никак не повлияло даже после перезагрузки. Ручной xinput set-props так же погоды не сделал. Опытным путем выяснилось, что kde считает тачскрин джостиком js0

cat /proc/bus/input/devices

I: Bus=0003 Vendor=0df9 Product=0001 Version=0111
N: Name="MASTouch TouchSystems MASTouch USB Touchscreen"
P: Phys=usb-0000:00:14.0-7/input0
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/0003:0DF9:0001.0001/input/input3
U: Uniq=
H: Handlers=mouse0 event3 js0 
B: PROP=0
B: EV=1b
B: KEY=70000 0 0 0 0
B: ABS=10000000003
B: MSC=10

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

 , , ,

stein_h ()

Нет клика/тапа в событиях от тачскрина

Привет. Есть sbc, Digi ConnectCore 6UL SBC Pro, к нему прицеплен по LVDS какой-то экран. К экрану прицеплен тачскрин с контроллером tsc2007, заведенный в sbc через i2c. На sbc установлен DIGI Embedded Yocto 2.6. В ядре добавлена поддержка тачскринов и поддержка tsc2007 (собран как часть ядра, не модуль). Тачскрин видится в системе и двигает курсор мыши при нажатии, но никогда не присылает события «нажатие/тап по экрану», только ABS_X, ABX_Y и ABS_PRESSURE, соответственно нажать ни на что нельзя, курсор просто ползает по экрану за пальцем. Тачскрин двигает курсор только при работе через evdev, через libinput не удалось заставить. xinput_calibrator так же не получает события о нажатии, поэтому калибровку пройти не могу. Положение пальца на эране в DE (matchbox) соответствует положению курсора, т.е. калибровка в принципе не нужна. ts_calibrator (или как там его) так же не видит нажатий, да еще и сильное различие между пальцем и откликом на экране (похоже, что в tslib, которую я никак не настраивал, границы тача указаны как 65535, а в evdev берутся с железа как 4095 или что-то в этом роде).

В device tree прописан примерно так:

&i2c1 {
        touchscreen: tsc2007@48 {
                     compatible = "ti,tsc2007";
                     reg = <0x48>;
                     interrupt-parent = <&gpio3>;
                     interrupts = <21 0>;
                     gpios = <&gpio3 21 GPIO_ACTIVE_LOW>;
                     ti,x-plate-ohms = <500>;
                     status = "okay";
                     linux,wakeup;
                     wakeup-source;
        };
Прерывания пробовал менять, толку мало. x-plate-ohms пробовал и 400, и 660, тоже разницы не увидел.

Конфиги:

root@ccimx6ulsbc:~# cat /usr/share/X11/xorg.conf.d/10-evdev.conf

Section "InputClass"
        Identifier "evdev pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev tablet catchall"
        MatchIsTablet "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection
root@ccimx6ulsbc:~# cat /etc/X11/xorg.conf
Section "Device"
    Identifier  "Kernel Framebuffer Device"
    Driver      "fbdev"
    Option      "fbdev" "/dev/fb0"
EndSection

Section "ServerFlags"
    Option "BlankTime"  "0"
    Option "StandbyTime"  "0"
    Option "SuspendTime"  "0"
    Option "OffTime"  "0"
EndSection

Тесты:

root@ccimx6ulsbc:~# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      mca-cc6ul-pwrkey
/dev/input/event1:      TSC2007 Touchscreen
Select the device event number [0-1]: 1
Input driver version is 1.0.1
Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0
Input device name: "TSC2007 Touchscreen"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 330 (BTN_TOUCH)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value      0
      Min        0
      Max     4095
    Event code 1 (ABS_Y)
      Value   4095
      Min        0
      Max     4095
    Event code 24 (ABS_PRESSURE)
      Value   4095
      Min        0
      Max     4095
Properties:
Testing ... (interrupt to exit)
Event: time 1565863240.820826, type 3 (EV_ABS), code 0 (ABS_X), value 866
Event: time 1565863240.820826, type 3 (EV_ABS), code 1 (ABS_Y), value 2031
Event: time 1565863240.820826, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3523
Event: time 1565863240.820826, -------------- SYN_REPORT ------------
Event: time 1565863240.840968, type 3 (EV_ABS), code 0 (ABS_X), value 867
Event: time 1565863240.840968, type 3 (EV_ABS), code 1 (ABS_Y), value 2033
Event: time 1565863240.840968, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 3471
Event: time 1565863240.840968, -------------- SYN_REPORT ------------
...
...
root@ccimx6ulsbc:~# xinput test "TSC2007 Touchscreen"
motion a[0]=579 a[1]=2631 a[2]=3457
motion a[0]=590 a[1]=2640 a[2]=3444
motion a[0]=589 a[1]=2641 a[2]=3410
motion a[0]=579 a[1]=2637 a[2]=3277
motion a[0]=0 a[1]=4095 a[2]=4095
motion a[0]=542 a[1]=2512 a[2]=2420
motion a[0]=464 a[1]=2512 a[2]=3200
motion a[0]=463 a[1]=2512 a[2]=3290
motion a[1]=2513 a[2]=3328
motion a[1]=2511 a[2]=3348
...
...

Лог xorg:

root@ccimx6ulsbc:~# cat /var/log/Xorg.0.log
[   192.956]
X.Org X Server 1.20.1
X Protocol Version 11, Revision 0
...
[   193.305] (II) Using input driver 'evdev' for 'TSC2007 Touchscreen'
[   193.305] (**) TSC2007 Touchscreen: always reports core events
[   193.306] (**) evdev: TSC2007 Touchscreen: Device: "/dev/input/event1"
[   193.307] (--) evdev: TSC2007 Touchscreen: Vendor 0 Product 0
[   193.307] (--) evdev: TSC2007 Touchscreen: Found absolute axes
[   193.307] (--) evdev: TSC2007 Touchscreen: Found x and y absolute axes
[   193.307] (--) evdev: TSC2007 Touchscreen: Found absolute touchscreen
[   193.308] (II) evdev: TSC2007 Touchscreen: Configuring as touchscreen
[   193.308] (**) evdev: TSC2007 Touchscreen: YAxisMapping: buttons 4 and 5
[   193.308] (**) evdev: TSC2007 Touchscreen: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[   193.308] (**) Option "config_info" "udev:/sys/devices/soc0/soc/2100000.aips-bus/21a0000.i2c/i2c-0/0-0048/input/input1/event1"
[   193.308] (II) XINPUT: Adding extended input device "TSC2007 Touchscreen" (type: TOUCHSCREEN, id 6)
[   193.309] (II) evdev: TSC2007 Touchscreen: initialized for absolute axes.
[   193.312] (**) TSC2007 Touchscreen: (accel) keeping acceleration scheme 1
[   193.312] (**) TSC2007 Touchscreen: (accel) acceleration profile 0
[   193.312] (**) TSC2007 Touchscreen: (accel) acceleration factor: 2.000
[   193.312] (**) TSC2007 Touchscreen: (accel) acceleration threshold: 4
[   193.316] (II) config/udev: Adding input device mca-cc6ul-pwrkey (/dev/input/event0)
[   193.317] (**) mca-cc6ul-pwrkey: Applying InputClass "evdev keyboard catchall"
[   193.317] (II) Using input driver 'evdev' for 'mca-cc6ul-pwrkey'
[   193.317] (**) mca-cc6ul-pwrkey: always reports core events
[   193.317] (**) evdev: mca-cc6ul-pwrkey: Device: "/dev/input/event0"
[   193.317] (--) evdev: mca-cc6ul-pwrkey: Vendor 0 Product 0
[   193.317] (--) evdev: mca-cc6ul-pwrkey: Found keys
[   193.318] (II) evdev: mca-cc6ul-pwrkey: Configuring as keyboard
[   193.318] (**) Option "config_info" "udev:/sys/devices/soc0/soc/2100000.aips-bus/21a0000.i2c/i2c-0/0-007e/mca-cc6ul-pwrkey/input/input0/event0"
[   193.318] (II) XINPUT: Adding extended input device "mca-cc6ul-pwrkey" (type: KEYBOARD, id 7)
[   193.318] (**) Option "xkb_rules" "evdev"

 , , ,

leet27 ()

goodix 10" touchscreen в archlinux

есть тач hdmi/usb

это выдаёт ошибку

# sudo libinput list-devices
event7  - Chalkboard Electronics HID Touchscreen: libinput bug: missing tablet capabilities: resolution. Ignoring this device.

это выдаёт правильные координаты

$ sudo evtest /dev/input/event7
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x4d8 product 0xf723 version 0x111
Input device name: "Chalkboard Electronics HID Touchscreen"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 320 (BTN_TOOL_PEN)
    Event code 321 (BTN_TOOL_RUBBER)
    Event code 330 (BTN_TOUCH)
    Event code 331 (BTN_STYLUS)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value    709
      Min        0
      Max     1366
    Event code 1 (ABS_Y)
      Value    366
      Min        0
      Max      768
    Event code 24 (ABS_PRESSURE)
      Value      0
      Min        0
      Max      768
    Event code 26 (ABS_TILT_X)
      Value      0
      Min   -32767
      Max      768
    Event code 27 (ABS_TILT_Y)
      Value      0
      Min   -32767
      Max      768
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
  Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)
Event: time 1565182265.863028, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1565182265.863028, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1565182265.863028, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 1
Event: time 1565182265.863028, type 3 (EV_ABS), code 0 (ABS_X), value 557
Event: time 1565182265.863028, type 3 (EV_ABS), code 1 (ABS_Y), value 479
Event: time 1565182265.863028, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 768
Event: time 1565182265.863028, -------------- SYN_REPORT ------------
Event: time 1565182266.088009, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1565182266.088009, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1565182266.088009, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 0
Event: time 1565182266.088009, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1565182266.088009, -------------- SYN_REPORT ------------
$ sudo xinput_calibrator 
Error: No calibratable devices found.

пробовал в xfce4 и gnome-wayland/gnome-X11, никак не хочет работать. в настройках xfce и гнома не появляется.

# ls /usr/share/X11/xorg.conf.d/
10-quirks.conf  40-libinput.conf  70-synaptics.conf
# cat /usr/share/X11/xorg.conf.d/40-libinput.conf 
# Match on all types of devices but joysticks
#
# If you want to configure your devices, do not copy this file.
# Instead, use a config snippet that contains something like this:
#
# Section "InputClass"
#   Identifier "something or other"
#   MatchDriver "libinput"
#
#   MatchIsTouchpad "on"
#   ... other Match directives ...
#   Option "someoption" "value"
# EndSection
#
# This applies the option any libinput device also matched by the other
# directives. See the xorg.conf(5) man page for more info on
# matching devices.

Section "InputClass"
        Identifier "libinput pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event7"
        Driver "libinput"
EndSection

Section "InputClass"
        Identifier "libinput tablet catchall"
        MatchIsTablet "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

# $ cat /usr/share/X11/xorg.conf.d/70-synaptics.conf 
# Example xorg.conf.d snippet that assigns the touchpad driver
# to all touchpads. See xorg.conf.d(5) for more information on
# InputClass.
# DO NOT EDIT THIS FILE, your distribution will likely overwrite
# it when updating. Copy (and rename) this file into
# /etc/X11/xorg.conf.d first.
# Additional options may be added in the form of
#   Option "OptionName" "value"
#
Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
# This option is recommend on all Linux systems using evdev, but cannot be
# enabled by default. See the following link for details:
# http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
#       MatchDevicePath "/dev/input/event*"
EndSection

Section "InputClass"
        Identifier "touchpad ignore duplicates"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/mouse*"
        Option "Ignore" "on"
EndSection

# This option enables the bottom right corner to be a right button on clickpads
# and the right and middle top areas to be right / middle buttons on clickpads
# with a top button area.
# This option is only interpreted by clickpads.
Section "InputClass"
        Identifier "Default clickpad buttons"
        MatchDriver "synaptics"
        Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
        Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%"
EndSection

# This option disables software buttons on Apple touchpads.
# This option is only interpreted by clickpads.
Section "InputClass"
        Identifier "Disable clickpad buttons on Apple touchpads"
        MatchProduct "Apple|bcm5974"
        MatchDriver "synaptics"
        Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"
EndSection
$ cat /var/log/Xorg.0.log | grep event7
[   206.241] (II) config/udev: Adding input device Intel HID 5 button array (/dev/input/event7)
[   206.241] (**) Option "Device" "/dev/input/event7"
[   206.242] (II) event7  - Intel HID 5 button array: is tagged by udev as: Keyboard
[   206.242] (II) event7  - Intel HID 5 button array: device is a keyboard
[   206.243] (II) event7  - Intel HID 5 button array: device removed
[   206.278] (**) Option "config_info" "udev:/sys/devices/platform/INT33D5:00/input/input8/event7"
[   206.280] (II) event7  - Intel HID 5 button array: is tagged by udev as: Keyboard
[   206.280] (II) event7  - Intel HID 5 button array: device is a keyboard
[   221.134] (II) event7  - Intel HID 5 button array: device removed

как это заводить вообще?

 , ,

luntik2012 ()

Калибровка тачскрина

Тачскрин работает, но неправильно, нужно откалибровать. Установил и запустил xinput_calibrator, ткнул 4 точки. Ничего не изменилось (хотя на этом этапе уже должно правильно работать!) Попробовал по указанию программы сохранить настройки в файлик /usr/share/X11/xorg.conf.d/99-calibration.conf:

Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "Silead GSLx680 Touchscreen"
        Option  "MinX"  "67097"
        Option  "MaxX"  "401"
        Option  "MinY"  "-8966"
        Option  "MaxY"  "62759"
        Option  "SwapXY"        "0" # unless it was already set to 1
        Option  "InvertX"       "0"  # unless it was already set
        Option  "InvertY"       "0"  # unless it was already set
EndSection

В этой директории и другие похожие файлы есть, вроде 70-wacom.conf и пр. После ребута так же ничего не изменилось. Попробовал и в /etc/X11/xorg.conf.d/ закинуть (директорию пришлось создать) – так же ничего не поменялось.

Вот еще информация, которая может помочь: xinput -list

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SteelSeries Rival Gaming Mouse            id=9    [slave  pointer  (2)]
⎜   ↳ SteelSeries Rival Gaming Mouse            id=11   [slave  pointer  (2)]
⎜   ↳ Silead GSLx680 Touchscreen                id=13   [slave  pointer  (2)]
⎜   ↳ ImPS/2 Logitech Wheel Mouse               id=15   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ SteelSeries Rival Gaming Mouse            id=10   [slave  keyboard (3)]
    ↳ PC Cam                                    id=12   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]
    ↳ SteelSeries Rival Gaming Mouse            id=16   [slave  keyboard (3)]

(Мой девайс под номером 13)

xinput list-props 13:

Device 'Silead GSLx680 Touchscreen':
        Device Enabled (155):   1
        Coordinate Transformation Matrix (157): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Calibration Matrix (314):      1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Calibration Matrix Default (315):      1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Send Events Modes Available (279):     1, 0
        libinput Send Events Mode Enabled (280):        0, 0
        libinput Send Events Mode Enabled Default (281):        0, 0
        Device Node (282):      "/dev/input/event9"
        Device Product ID (283):        0, 0

Попробовал поиграться с set-prop – тоже безрезультатно. Свойство вроде применяется (?), но эффекта нет. xinput set-prop 13 --type=atom --format=32 InvertX 1, xinput list-props 13:

Device 'Silead GSLx680 Touchscreen':
        Device Enabled (155):   1
        Coordinate Transformation Matrix (157): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Calibration Matrix (314):      1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Calibration Matrix Default (315):      1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Send Events Modes Available (279):     1, 0
        libinput Send Events Mode Enabled (280):        0, 0
        libinput Send Events Mode Enabled Default (281):        0, 0
        Device Node (282):      "/dev/input/event9"
        Device Product ID (283):        0, 0
        InvertX (578):  "PRIMARY" (1)

/var/log/Xorg.0.log: на pastebin

Этот тред я читал, но не понял, как тамошний гуру всё разрулил, да и у того человека калибровка уже работала, а у меня ничего.

 ,

fingolfin ()

Linux и тачскрин

Мне в руки попал монитор и комп,вот такие: https://ipc.msi.com/product/pages/ipc/MS-9A65.html https://iiyama.com/by_ru/produkty/prolite-t1634mc-b4x/

Появилась идея сделать проект один.На python+kivy,который будет запускатся сразу же при старте системы и сама система не будет использоватся без нужды влезть в какие-то процессы.Просто монитор с одной программой которая будет постоянно включена.Встал вопрос какой дистрибутив выбрать.Я не самый уверенный пользователь линукс,сам сижу на убунте.Мне нужен максимально легкий дистрибутив,и что более важно с поддержкой тачскрина. Приятель делал что-то подобное но на raspberry. Использовал kivy-pie (http://kivypie.mitako.eu/). Я не уверен что это система мне подойдет,но решил это учесть в сообщении. Жду Вашего совета и заранее спасибо :)

 , , ,

toni27 ()

Лучшая DE для flip touchscreen ноутбука

Категорически приветствую!

Прикупил себе Asus Zenbook Flip UX360CA, который умеет, собственно, flip на офтопике.
Остро встал вопрос о выборе подходящей DE.
На обычном лаптопе использую Mate, к которой прирос сердцем и душой, и которая удовлетворяет все мои нужды чуть более, чем полностью.
Не уверен, что это лучшая DE для нового ноута.

Что хочу чтобы было:
- автоматический поворот экрана при смене режима использования лаптопа
- tablet mode (такое вообще где-нибудь возможно?)
- удобная работа через touchscreen
- оптимизация размера шрифтов и UI в целом (дефолт на FHD - слишком мелко)
- DE должна быть максимально легковесная, т.к. ноут, тащемта, не спроектирован ни для тяжёлых задач, ни для тяжёлого обвеса.

В общем, я уверен, что я не первый человек с таким запросом.
Взываю к коллективному экспириенсу.
Заранее благодарен за помощь.

 , , ,

dbzix ()

xrandr

Народ,

при повороте экрана командой «xrandr --output HDMI2 --rotate right» на сенсорной панели x и у меняются местами, т.е. когда ведешь пальцем вниз курсор двигается влево, если ведёшь пальцем вправо курсор двигается вверх, при этом касания и курсор не совпадают.

Панель должна стоять вертикально.

Пробовал калибровку «xinput_calibration» не помогло.

Какие есть варианты?

 ,

Sdis ()

Как настроить тачскрин?

Есть говнодевайс гибрид 2 в 1 Acer Acer One 10 S1002 с установленной fedora 29 x64 с kde. Вроде, сенсор из коробки работает исправно, но за исключением хрома нигде не работает ни эмуляции нажатия правой копки мыши через долгое нажатие, ни прокрутки, ни зум. Вообщем, кроме щелчка левой кнопкой мыши и прямоугольного выделения области при зажатии ничего нет и это печально.

Я пробовал поставить touchegg, но «Отсутствуют совпадения для аргумента: touchegg». Как я понял, fedora предпочитает libinput touchegg'у, но что-то не понял как там прикрутить эмуляцию нажатия правой кнопки мыши и всякие такие необходимые для планшета штучки.

Так как сделать тачскрин юзиабельным?

 , ,

fghjklld ()

Игры для обучения работе с сенсорными экранами телефонов

Удивительно, но сенсорный экран как средство ввода не такой уж и интуитивно понятный. Особенно, людям постарше. Концепция непривычна, и обучение проходит тяжело. К примеру, вот это видео с дедом и телефоном смешное только до того момента, как видишь подобное поведение вживую: https://www.youtube.com/watch?v=E-dfxE4cAKc. Это не единичный случай, таких много. Проблема распространённая.

Есть ли какие-нибудь игры для телефонов для тренировки работы с сенсорными экраном? Желательно не скоростные, а ориентированные на плавность и уверенность в движениях.

 , , ,

i-rinat ()