Xinput (форум)

Дисклеймер: я вже кілька місяців не користуюся лисицею, та й pinch-жест не особливо юзабелен, просто потикати хочу.

На гентувікі пашать. що ікси таки готові для мультитач. Запустив лисицю зі змінною оточення - таки да, скролл плавно, хоч попиксельно можна пальцем вести; досі згладжену емуляцію колеса мишки не помічав, списував на лаги. Однак зум не заводиться, команди прописав, вкладки перезавантажувати, навіть лисицю перезапустив. Шо робити? Де ще можна XInput12 потикати? А то я пинч на тачпаде останній раз 4 роки тому бачив, як з вінди сліз.

Добрий день Допоможіть нормально завести тач під іксами Є тач Penmount
Згідно з рекомендаціями виробника, підключається через tslib, tslib зібрана, працює.
Тач працює, скомпіліровна бібліотека xf86-input-tslib
У іксах тач працює. на тапи реагує.
Штатна утиліта ts_calibrate не працює.
Є проблема з калібруванням в іксах. а також курсор стрибає в бік, якщо хоч раз потягнути і зробити рамку виділення.
Намагаюся калібрануть через xinput-calibrator. але він не бачить Тача в списку (No calibratable devices found) Відповідно в xinput його теж немає:

# DISPLAY =: 0 xinput
⎡ Virtual core pointer id = 2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id = 4 [slave pointer (2)]
⎜ ↳ Mouse1 id = 6 [slave pointer (2)]
⎣ Virtual core keyboard id = 3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id = 5 [slave keyboard (3)]
↳ Keyboard1 id = 7 [slave keyboard (3)]

Хоча в ядрі присутній

# Dmesg | grep PenMount
input: PenMount Serial TouchScreen as> /devices/pci0000:00/0000:00:01.0/0000:01:02.2/tty/ttyS0/serio0/input/input3

У списках device також присутній

I: Bus = 0013 Vendor = 0031 Product = 9000 Version = 01f2
N: Name = "PenMount Serial TouchScreen»
P: Phys = ttyS0 / serio0 / input0
S: Sysfs = / devices / pci0000: 00/0000: 00: 01.0 / 0000: 01: 02.2 / tty / ttyS0 / serio0 / input / input3
U: Uniq =
H: Handlers = mouse0 event3
B: PROP = 0
B: EV = b
B: KEY = 400 0 0 0 0 0
B: ABS = 3

[1051910.230] (II) config / udev: Adding input device PenMount Serial> TouchScreen (/ dev / input / event3)
[1051910.230] (II) AutoAddDevices is off - not adding device.
[1051910.232] (II) config / udev: Adding input device PenMount Serial TouchScreen
(/ Dev / input / mouse0)
[1051910.232] (II) AutoAddDevices is off - not adding device.
[1051910.237] (II) config / udev: Adding input device ltc2954 (/ dev / input / event2)
[1051910.237] (II) AutoAddDevices is off - not adding device.

Чи то проблема в тому, що один пристрій висить і на mouse і на event3, чи то ще в чому заковика. Підкажіть, що можна зробити.

При натисканні на сенсорний екран імітується натискання лівої кнопки миші. xinput test 10 підтверджує це. Намагаюся прибрати імітацію натискання ЛКМ за допомогою xinput set-button-map 10 0, не допомагає. Все одно натискання розпізнається (і в DE, і в xinput test) як натискання лівої кнопки.

Потрібно для тестування тимчасово відключити таку поведінку. Чи можна це зробити?

Припустимо, є девайс з декількома устройствмі позиціонування (миші, тачпади). Потрібно з'ясувати, який пристрій посилає натискання лівої кнопки. А то я тисну на тачскрін, система вважає це натисканням лівої кнопки, а хто саме натискає - незрозуміло. xunput query-state каже, що все кнопки up.

Але ось додалася ще одна миша. І в xinput це виглядає так:

І я тепер не розумію як встановити параметри для миші «USB Laser Game Mouse». Ось що отримую:

Працює тільки по id. Тобто так:

І виходить що налаштується чи ні залежить лише від того як пощастить при завантаженні.

Періодично починає аномально поводитися миша в Ubuntu 14.04 (unity) - програмно відмовляють кнопки. Миша usb, міняти пробував.
Кликаю ПКМ, ЛФМ - без ефекту. Покажчик відображається і рухається.

Пробував вимикати і включати миша так:
sudo xinput set-int-prop 8 «Device Enabled» 8 0
sudo xinput set-int-prop 8 «Device Enabled» 8 1

Не допомагає. Доводилося перезавантажуватися через таку дрібницю, бо з клавіатури (працює нормально) багато не накликаєш.

Зараз застосовую такий метод: перехід в консоль терміналу по Ctrl + Alt + F1 і відразу ж повернення назад по Ctrl + Alt + F7.

І миша знову працює.

Але хотілося б по-перше вміти переініціалізіровать миша з консолі. Чому xinput не спрацював?
І по-друге, виправити це раз і назавжди.

У моменти глюків ніякого особливого софта крім firefox, не працює. Єдиний підозрюваний Synergy, але видаляти його не можу, бо зело корисний і раніше помічений ні в що таке не був.

Вирішив я перевірити події клавіатури через програму xinput. Перевіряв на трьох комп'ютерах. На перших двох xinput працює нормально. Приблизно так:

А до третього комп'ютера у мене доступ через X-термінал. І на ньому xinput не виконує своєї функції - не бачить своїх пристроїв, сегфолтітся:

Питання. XInput принципово не працює через X-термінал (в моєму випадку це x2go), або це тільки мені так звезли в черговий раз зловити рідкісний глюк?

З недавнього часу спостерігаю проблему з мишею.

Після перезавантаження ос (kubuntu 15.10) логін в систему. Курсор миші починає поводитися дивно, що проявляється в стрибках до краю екрану. Найчастіше до лівої або верхній стороні або в кут на їх перетині. Стрибає випадково при переміщенні миші, і гарантовано - при піднятті / опусканні її ж.

При цьому на екрані greeter'a такого не спостерігається, і дивні стрибки пропадають, якщо вийняти / підключити назад миша, або ж виконати

Я порівняв висновок xinput list-props для миші до виймання (коли трапляються стрибки) і після (коли все ок), змінюється ось це:

Чесно сказати, не знаю чим це могло б допомогти, але хоч якась інформація.

Якщо є ідеї, як би виправити цю проблему - будьте ласкаві, підкажіть.

Завдання: Дано: тачскрін, тикаємо - отримуємо еквівалент натискання лівої кнопки миші.
Потрібно: еквіваленти простого приміщення курсора в позицію і натискання на праву кнопку (мінімальними засобами)

Хотів повісити на кнопку скрипт з xdotool, але не вистачає функції отримання координат курсора следуещего тику.

xdotool getmouselocation --shell отримує поточні координати, тобто координати кнопки.

Спроба обробки подій xinput --test-xi2 --root. cat / dev / input / eventX. xev не скасовує натискання лівої кнопки.

Потрібно щось, що працює як xwininfo або xprop

у мене Debian7 поставив тачскрін egalaxytouch, тач працює. xinput_calibrator після калібрування працює правільно.но після перезавантаження налаштування калібрування потрібно виробляти знову.

зберігав у файлі /etc/X11/xorg.conf.d/99-calibration.conf '

(Як і пропонує утиліта) але нічого не змінюється, пробував ще за однією статтею настройки зберігати в /usr/share/X11/xorg.conf.d/10-evdev.conf. але теж нічого не змінилося.

Лор, у мене з'явилася миша без коліщатка. Зате на ній є дві додаткові кнопки, xev визначив їх як button 8 і button 9. Я хочу повісити на них прокрутку коліщатком, тобто кнопка 8 - поворот коліщатка на одну поділку вгору, а 9 - вниз. Для цього я записав в /usr/X11/xorg.conf.d/10-evdev.conf

Тепер вони працюють як «вперед-назад» в браузері, а не як коліщатко.

Лор, як налаштувати правильно? Може, є якась конфігурялка, або інший неізвращённий спосіб?

Не можу налаштувати. Але найсмішніше те, що в іншого користувача на цій же машині, швидкість по дефолту комфортна. Здавалося б - ось воно. Залишилося тільки поцупити його налаштування xinput. ага - сичас. Всі параметри в обох користувачів ідентичні:

Закортіло мені якось створити мультісіт, робиться він не дуже очевидним шляхом, тому викладаю рецепт на випадок, якщо комусь знадобиться.

1) Запуск двох іксів і настройка KDM.

$ Lspci | grep VGA
01: 00.0 VGA compatible controller: NVIDIA Corporation GF100 [GeForce GTX 480] (rev a3)
04: 00.0 VGA compatible controller: NVIDIA Corporation G73 [GeForce 7600 GT] (rev a1)

Відповідно нас цікавить перша колонка.

Потім нам потрібно запустити два примірники Xorg
Робиться це так:

Xorg -config / etc / X11 -br -nolisten tcp -isolateDevice PCI: 1: 0: 0 vt6 # Перший
Xorg -config

-br -nolisten tcp -sharevts -novtswitch -isolateDevice PCI: 4: 0: 0 vt5 # Другий, як шлях до конфіге я навмисно вказав невірний шлях, для того, що б конфіга згенерувати на льоту.

Відповідно приклад конфіги KDM:

2) Призначення пристроїв введення:
Був в мережі приклад через конфіги іксів, але мені не сподобалося те, що в такому випадку потрібно ці конфіги таки писати. Тому я зробив через xinput

Виведення списку пристроїв:

xinput list
⎡ Virtual core pointer id = 2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id = 4 [slave pointer (2)]
⎜ ↳ Logitech USB Gaming Mouse id = 9 [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)]
↳ Power Button id = 7 [slave keyboard (3)]
↳ Dell Dell USB Keyboard id = 8 [slave keyboard (3)]
~ Logitech USB Optical Mouse id = 10 [floating slave]
~ AT Translated Set 2 keyboard id = 11 [floating slave]

За замовчуванням - всі пристрої введення підчеплю до всіх Іксів, нам потрібно це виправити. Від кожного дисплея ми відключаємо зайві пристрої.

DISPLAY =: 0 xinput --float 10
DISPLAY =: 0 xinput --float 11
DISPLAY =: 1 xinput --float 8
DISPLAY =: 1 xinput --float 9

Відповідно, додаємо ці рядки в / etc / kde4 / kdm / Xsetup, і в / etc / kde4 / kdm / Xreset. (Я про всяк випадок додав і в / etc / kde4 / kdm / Xsession)

На цьому етапі, у вас два ікси, кожен зі своїм набором клава / мис.

3) Поділ аудіо.
Варіант для ледачих, з пульсаудіо я не розглядаються, так як не користуюся ним.
Як це робиться в ALSA. Двох звуковуха у мене немає, тому я ділю звук по каналах. Передній канал на першого користувача, задній на другого.
Основна ідея в використанні ttable.
pcm.alc883 type dmix
ipc_key 2048 # Потрібно для того, що б всі користувачі використовували загальний dmix
ipc_perm 0777
slave pcm «hw: CARD = Intel, DEV = 0» # Правити під себе
rate 44100
period_time 0
period_size 1024
buffer_size 16384
channels 8
>
bindings <#Почему-то без этого у меня не заработало.
0 0
1 + 1
2 + 2
3 3
4 4
5 5
6 6
7 7
>
>
# Green - «Front» in Alsa mixer
pcm.a type plug
slave pcm «alc883»
channels 8
>
ttable.0.0 1 # Тут рулимо каналами
ttable.1.1 1
>
# Gray - «Surround» in Alsa mixer
pcm.b type plug
slave pcm «alc883»
channels 8
>
ttable.0.2 1
ttable.1.3 1
>

Зрозуміло у користувача в хом'як повинен лежати файл

/.asoundrc, з чимось на зразок цього:
pcm.! default type plug
slave pcm «d»
channels 8
>
>

Власне на цьому все. В мене все працює. (Конфіг називається asound.conf.old тому як я тимчасово відключив поділ звуку, зрозуміло реально вона повинна лежати в / etc / asound / conf)

Переміщено JB з talks

Схожі статті