Неожиданная сенсорная активность:

При взаимодействии указатель перемещается в эквивалентное место на экране, как если бы это был сенсорный экран. Это усугубляется неправильной калибровкой расстояния между сенсорной панелью и экраном, поэтому прикосновение к верхнему правому углу трекпада поднимает меня только на 90% вверх и на 98% вправо.

Например: если мой указатель мыши находится в нижнем левом углу экрана, и я перемещаю его в верхний правый угол, я не могу добраться до вкладок в окне Firefox, поэтому я помещаю палец в середину трекпада, ожидая некоторого внутреннего механизм для сохранения местоположения указателя и возобновления движения с последнего места, где был указатель, однако он этого не делает. Указатель сбрасывается в соответствии с эквивалентным местоположением на экране.

Я просмотрел страницы руководства здесь:
Либинпут Manpages
Xorg Manpages

Документация на сайте Arch довольно краткая, и на других сайтах, на которые я смотрел, в том числе на официальном сайте libinput FAQ, эта проблема никогда не упоминалась.

Помогите? Спасибо

Я ожидаю, что будет установка для этих двух вещей. Тем не менее, вот xinput и xinput-list-props:

â¡ Virtual core pointer                     id=2    [master pointer  (3)]
â   â³ Virtual core XTEST pointer               id=4    [slave  pointer  (2)]
â   â³ AlpsPS/2 ALPS DualPoint TouchPad         id=10   [slave  pointer  (2)]
â   â³ AlpsPS/2 ALPS DualPoint Stick            id=11   [slave  pointer  (2)]
⣠Virtual core keyboard                    id=3    [master keyboard (2)]
    â³ Virtual core XTEST keyboard              id=5    [slave  keyboard (3)]
    â³ Video Bus                                id=6    [slave  keyboard (3)]
    â³ Power Button                             id=7    [slave  keyboard (3)]
    â³ Sleep Button                             id=8    [slave  keyboard (3)]
    â³ AT Translated Set 2 keyboard             id=9    [slave  keyboard (3)]
    â³ Dell WMI hotkeys                         id=12   [slave  keyboard (3)]


x-input -list-props 10
(мой тачпад)

Device 'AlpsPS/2 ALPS DualPoint TouchPad':
    Device Enabled (152):   1
    Coordinate Transformation Matrix (154): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (280): 0
    Device Accel Constant Deceleration (281):   1.000000
    Device Accel Adaptive Deceleration (282):   1.000000
    Device Accel Velocity Scaling (283):    10.000000
    Device Product ID (273):    2, 8
    Device Node (274):  "/dev/input/event7"
    Evdev Axis Inversion (284): 0, 0
    Evdev Axis Calibration (285):   <no items>
    Evdev Axes Swap (286):  0
    Axis Labels (287):  "Abs X" (277), "Abs Y" (278), "Abs Pressure" (279)
    Button Labels (288):    "Button Left" (155), "Button Middle" (156), "Button Right" (157), "Button Wheel Up" (158), "Button Wheel Down" (159)
    Evdev Scrolling Distance (289): 0, 0, 0
    Evdev Middle Button Emulation (290):    0
    Evdev Middle Button Timeout (291):  50
    Evdev Third Button Emulation (292): 0
    Evdev Third Button Emulation Timeout (293): 1000
    Evdev Third Button Emulation Button (294):  3
    Evdev Third Button Emulation Threshold (295):   20
    Evdev Wheel Emulation (296):    0
    Evdev Wheel Emulation Axes (297):   0, 0, 4, 5
    Evdev Wheel Emulation Inertia (298):    10
    Evdev Wheel Emulation Timeout (299):    200
    Evdev Wheel Emulation Button (300): 4
    Evdev Drag Lock Buttons (301):  0

2 ответа2

1

Как правило , это означает , что libinput не является, на самом деле, установлены правильно. Просто наличие библиотеки libinput недостаточно для того, чтобы Xorg использовал ее - для этого ему нужен "драйвер ввода" xf86-input-libinput .

Существует несколько драйверов ввода Xorg - помимо основанного на libinput (который является очень новым, с планами захвата мира), он также имеет минималистичный xf86-input-evdev , а также ранее популярный xf86-input-synaptics для всех видов сенсорных панелей.

Сенсорные панели отправляют абсолютные координаты X, Y, так что такие программы, как сенсорные панели или жесты с несколькими касаниями, могут интерпретироваться программами - это зависит от libinput или synaptics, чтобы преобразовать их в относительные события движения. Но вывод, отображаемый вашими xinput list-props показывает, что к тачпаду подключен только драйвер xf86-input-evdev.

Драйвер "evdev" был выбором по умолчанию в течение последних нескольких лет, пока не появилась libinput, поскольку он может обрабатывать мыши, клавиатуры и все, что ядро выбрасывает (как вы заметили). Между тем, драйверы "libinput" и "synaptics" также используют подсистему evdev ядра, но имеют дополнительную логику для интерпретации полученных событий.

(Исторически, даже до evdev, были отдельные интерфейсы для почти всего - клавиатуры, мыши PS/2, последовательных мышей, джойстиков и т.д.), А также отдельные драйверы X для них, такие как «xf86-input-kbd» или « -mouse "или" -joy "; не говоря уже о видеодрайверах pre-KMS, которым долгое время приходилось напрямую иметь дело с такими вещами, как PCI или видео BIOS. X-сервер был практически ОС!)


Пакет xorg-server Arch построен так, что он зависит от некоторого драйвера ввода, но не указывает, какой именно (например, многие люди по-прежнему используют evdev+synaptics, а не libinput). Обычно при установке Xorg pacman спрашивает, какой из пакетов "провайдера" установить:

:: There are 2 providers available for xf86-input-driver:
:: Repository extra
   1) xf86-input-evdev  2) xf86-input-libinput

Enter a number (default=1): 

Если вы просто нажмете Return и примете значения по умолчанию, pacman выберет первый элемент в алфавитном порядке, и вы получите минимальный драйвер на основе evdev, который практически не интерпретирует входные события - если ядро отправляет ему абсолютные координаты, то это то, что Xorg собирается увидеть.


Да, и в соответствии с выводом xinput ваши настройки Unicode не работают.

0

Решаемые. Спасибо @ grawity. Быстрый pacman -Ss xf86-input-libinput показал, что xf86-input-libinput действительно не был установлен. Я установил пакет и перезагрузил. После перезагрузки тачпад работал нормально. Правильный ответ человеку, который может ответить на последующие вопросы, которые я задал в комментариях к оригинальному сообщению.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .