Добрый день.
Моя конфигурация:
Плата с A20,
Opebox+slim+xorg,
ОС: Devuan 8(форк от Debian 8, система без systemd),
Любая клавиатура(не работает ни с одной), подключенная через usb otg.
Проблема:
-
При нажатии любой клавиши в xev вываливается больше событий, чем нажато кнопок.
-
Keycodes в xev практически всегда разные.
При этом: evtest, showkey и любые другие утилиты выводят события корректно.
Лог запуска X11:
X.Org X Server 1.16.4
Release Date: 2014-12-20
[ 29.258] X Protocol Version 11, Revision 0
[ 29.258] Build Operating System: Linux 4.9.0-4-armmp-lpae armv7l Debian
[ 29.258] Current Operating System: Linux devuan 3.4.103 #131 SMP PREEMPT Tue Jun 29 09:43:00 UTC 2021 armv7l
[ 29.258] Kernel command line: console=ttyS0,115200 consoleblank=0 vt.global_cursor_default=0 vt.cur_default=1 root=/dev/mmcblk1p2 ro rootwait init=/sbin/init loglevel=8 mtdparts=
[ 29.258] Build Date: 16 October 2017 09:26:27AM
[ 29.258] xorg-server 2:1.16.4-1+deb8u2 (http://www.debian.org/support)
[ 29.258] Current version of pixman: 0.32.6
[ 29.258] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 29.258] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 29.259] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Sep 3 06:18:08 2021
[ 29.271] (==) Using config file: "/etc/X11/xorg.conf"
[ 29.271] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 29.297] (==) No Layout section. Using the first Screen section.
[ 29.297] (==) No screen section available. Using defaults.
[ 29.297] (**) |-->Screen "Default Screen Section" (0)
[ 29.297] (**) | |-->Monitor "<default monitor>"
[ 29.298] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[ 29.298] (**) Option "BlankTime" "0"
[ 29.299] (**) Option "StandbyTime" "0"
[ 29.299] (**) Option "SuspendTime" "0"
[ 29.299] (**) Option "OffTime" "0"
[ 29.299] (==) Automatically adding devices
[ 29.299] (==) Automatically enabling devices
[ 29.299] (==) Automatically adding GPU devices
[ 29.326] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[ 29.326] Entry deleted from font path.
[ 29.386] (==) FontPath set to:
/usr/share/fonts/X11/misc,
/usr/share/fonts/X11/100dpi/:unscaled,
/usr/share/fonts/X11/75dpi/:unscaled,
/usr/share/fonts/X11/Type1,
/usr/share/fonts/X11/100dpi,
/usr/share/fonts/X11/75dpi,
built-ins
[ 29.386] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 29.386] (==) |-->Input Device "tca8418_gpio"
[ 29.386] (==) No Layout section. Using the first core keyboard device.
[ 29.386] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 29.386] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[ 29.386] (WW) Disabling tca8418_gpio
[ 29.386] (II) Loader magic: 0xb6ffcf20
[ 29.386] (II) Module ABI versions:
[ 29.386] X.Org ANSI C Emulation: 0.4
[ 29.386] X.Org Video Driver: 18.0
[ 29.386] X.Org XInput driver : 21.0
[ 29.386] X.Org Server Extension : 8.0
[ 29.387] (II) no primary bus or device found
[ 29.387] (II) LoadModule: "glx"
[ 29.419] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 29.566] (II) Module glx: vendor="X.Org Foundation"
[ 29.566] compiled for 1.16.4, module version = 1.0.0
[ 29.567] ABI class: X.Org Server Extension, version 8.0
[ 29.567] (==) AIGLX enabled
[ 29.567] (==) Matched modesetting as autoconfigured driver 0
[ 29.567] (==) Matched fbdev as autoconfigured driver 1
[ 29.567] (==) Assigned the driver to the xf86ConfigLayout
[ 29.567] (II) LoadModule: "modesetting"
[ 29.567] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[ 29.577] (II) Module modesetting: vendor="X.Org Foundation"
[ 29.578] compiled for 1.16.4, module version = 0.9.0
[ 29.578] Module class: X.Org Video Driver
[ 29.578] ABI class: X.Org Video Driver, version 18.0
[ 29.578] (II) LoadModule: "fbdev"
[ 29.578] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[ 29.582] (II) Module fbdev: vendor="X.Org Foundation"
[ 29.582] compiled for 1.15.99.904, module version = 0.4.4
[ 29.582] Module class: X.Org Video Driver
[ 29.582] ABI class: X.Org Video Driver, version 18.0
[ 29.582] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 29.582] (II) FBDEV: driver for framebuffer: fbdev
[ 29.582] (++) using VT number 7
[ 29.592] (WW) Falling back to old probe method for modesetting
[ 29.592] (EE) open /dev/dri/card0: No such file or directory
[ 29.592] (WW) Falling back to old probe method for fbdev
[ 29.593] (II) Loading sub module "fbdevhw"
[ 29.593] (II) LoadModule: "fbdevhw"
[ 29.593] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 29.597] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 29.597] compiled for 1.16.4, module version = 0.0.2
[ 29.597] ABI class: X.Org Video Driver, version 18.0
[ 29.597] (II) FBDEV(0): using default device
[ 29.597] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[ 29.598] (II) FBDEV(0): Creating default Display subsection in Screen section
"Default Screen Section" for depth/fbbpp 24/32
[ 29.598] (==) FBDEV(0): Depth 24, (==) framebuffer bpp 32
[ 29.598] (==) FBDEV(0): RGB weight 888
[ 29.598] (==) FBDEV(0): Default visual is TrueColor
[ 29.598] (==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0)
[ 29.598] (II) FBDEV(0): hardware: (video memory: 3000kB)
[ 29.598] (II) FBDEV(0): checking modes against framebuffer device...
[ 29.598] (II) FBDEV(0): checking modes against monitor...
[ 29.598] (--) FBDEV(0): Virtual size is 800x480 (pitch 800)
[ 29.598] (**) FBDEV(0): Built-in mode "current": 33.0 MHz, 31.3 kHz, 59.6 Hz
[ 29.598] (II) FBDEV(0): Modeline "current"x0.0 33.00 800 1009 1039 1055 480 502 503 525 -hsync -vsync -csync (31.3 kHz b)
[ 29.598] (==) FBDEV(0): DPI set to (96, 96)
[ 29.598] (II) Loading sub module "fb"
[ 29.598] (II) LoadModule: "fb"
[ 29.599] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 29.613] (II) Module fb: vendor="X.Org Foundation"
[ 29.613] compiled for 1.16.4, module version = 1.0.0
[ 29.613] ABI class: X.Org ANSI C Emulation, version 0.4
[ 29.613] (**) FBDEV(0): using shadow framebuffer
[ 29.613] (II) Loading sub module "shadow"
[ 29.613] (II) LoadModule: "shadow"
[ 29.613] (II) Loading /usr/lib/xorg/modules/libshadow.so
[ 29.626] (II) Module shadow: vendor="X.Org Foundation"
[ 29.626] compiled for 1.16.4, module version = 1.1.0
[ 29.626] ABI class: X.Org ANSI C Emulation, version 0.4
[ 29.626] (II) UnloadModule: "modesetting"
[ 29.626] (II) Unloading modesetting
[ 29.626] (==) Depth 24 pixmap format is 32 bpp
[ 29.649] (==) FBDEV(0): Backing store enabled
[ 29.651] (==) FBDEV(0): DPMS enabled
[ 29.651] (==) RandR enabled
[ 29.691] (II) SELinux: Disabled on system
[ 29.696] (II) AIGLX: Screen 0 is not DRI2 capable
[ 29.696] (EE) AIGLX: reverting to software rendering
[ 29.888] (II) AIGLX: Loaded and initialized swrast
[ 29.888] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[ 30.343] (II) config/udev: Adding input device sun4i-ts (/dev/input/event3)
[ 30.343] (**) sun4i-ts: Applying InputClass "evdev touchscreen catchall"
[ 30.343] (II) LoadModule: "evdev"
[ 30.344] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 30.378] (II) Module evdev: vendor="X.Org Foundation"
[ 30.379] compiled for 1.16.0, module version = 2.9.0
[ 30.379] Module class: X.Org XInput Driver
[ 30.379] ABI class: X.Org XInput driver, version 21.0
[ 30.379] (II) Using input driver 'evdev' for 'sun4i-ts'
[ 30.379] (**) sun4i-ts: always reports core events
[ 30.379] (**) evdev: sun4i-ts: Device: "/dev/input/event3"
[ 30.379] (--) evdev: sun4i-ts: Vendor 0x1 Product 0x1
[ 30.380] (--) evdev: sun4i-ts: Found absolute axes
[ 30.380] (--) evdev: sun4i-ts: Found x and y absolute axes
[ 30.380] (--) evdev: sun4i-ts: Found absolute touchscreen
[ 30.380] (II) evdev: sun4i-ts: Configuring as touchscreen
[ 30.380] (**) evdev: sun4i-ts: YAxisMapping: buttons 4 and 5
[ 30.380] (**) evdev: sun4i-ts: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[ 30.380] (**) Option "config_info" "udev:/sys/devices/platform/sun4i-ts/input/input3/event3"
[ 30.380] (II) XINPUT: Adding extended input device "sun4i-ts" (type: TOUCHSCREEN, id 6)
[ 30.381] (II) evdev: sun4i-ts: initialized for absolute axes.
[ 30.381] (**) sun4i-ts: (accel) keeping acceleration scheme 1
[ 30.382] (**) sun4i-ts: (accel) acceleration profile 0
[ 30.382] (**) sun4i-ts: (accel) acceleration factor: 2.000
[ 30.382] (**) sun4i-ts: (accel) acceleration threshold: 4
[ 30.383] (II) config/udev: Adding input device sun4i-ts (/dev/input/mouse0)
[ 30.384] (II) No input driver specified, ignoring this device.
[ 30.384] (II) This device may have been added with another device file.
[ 30.385] (II) config/udev: Adding input device tca8418_gpio (/dev/input/event2)
[ 30.385] (II) No input driver specified, ignoring this device.
[ 30.385] (II) This device may have been added with another device file.
[ 30.389] (II) config/udev: Adding input device USB Keyboard (/dev/input/event0)
[ 30.389] (**) USB Keyboard: Applying InputClass "evdev keyboard catchall"
[ 30.389] (II) LoadModule: "kbd"
[ 30.390] (II) Loading /usr/lib/xorg/modules/input/kbd_drv.so
[ 30.398] (II) Module kbd: vendor="X.Org Foundation"
[ 30.398] compiled for 1.15.99.904, module version = 1.8.0
[ 30.398] Module class: X.Org XInput Driver
[ 30.398] ABI class: X.Org XInput driver, version 21.0
[ 30.398] (II) Using input driver 'kbd' for ' USB Keyboard'
[ 30.398] (**) USB Keyboard: always reports core events
[ 30.398] (**) USB Keyboard: always reports core events
[ 30.398] (**) Option "Protocol" "standard"
[ 30.398] (**) Option "Device" "/dev/input/event0"
[ 30.399] (**) Option "XkbRules" "base"
[ 30.399] (**) Option "XkbModel" "pc105"
[ 30.399] (**) Option "XkbLayout" "us"
[ 30.399] (**) Option "config_info" "udev:/sys/devices/platform/sw_hcd_host0/usb1/1-1/1-1:1.0/input/input0/event0"
[ 30.399] (II) XINPUT: Adding extended input device " USB Keyboard" (type: KEYBOARD, id 7)
[ 30.500] (II) config/udev: Adding input device USB Keyboard (/dev/input/event1)
[ 30.500] (**) USB Keyboard: Applying InputClass "evdev keyboard catchall"
[ 30.500] (II) Using input driver 'kbd' for ' USB Keyboard'
[ 30.500] (**) USB Keyboard: always reports core events
[ 30.500] (**) USB Keyboard: always reports core events
[ 30.500] (**) Option "Protocol" "standard"
[ 30.500] (**) Option "Device" "/dev/input/event1"
[ 30.500] (**) Option "XkbRules" "base"
[ 30.500] (**) Option "XkbModel" "pc105"
[ 30.501] (**) Option "XkbLayout" "us"
[ 30.501] (**) Option "config_info" "udev:/sys/devices/platform/sw_hcd_host0/usb1/1-1/1-1:1.1/input/input1/event1"
[ 30.501] (II) XINPUT: Adding extended input device " USB Keyboard" (type: KEYBOARD, id 8)
Запуск xev + нажатие одной кнопки:
Outer window is 0xa00001, inner window is 0xa00002
PropertyNotify event, serial 8, synthetic NO, window 0xa00001,
atom 0x27 (WM_NAME), time 52376, state PropertyNewValue
PropertyNotify event, serial 9, synthetic NO, window 0xa00001,
atom 0x22 (WM_COMMAND), time 52376, state PropertyNewValue
PropertyNotify event, serial 10, synthetic NO, window 0xa00001,
atom 0x28 (WM_NORMAL_HINTS), time 52376, state PropertyNewValue
CreateNotify event, serial 11, synthetic NO, window 0xa00001,
parent 0xa00001, window 0xa00002, (10,10), width 50, height 50
border_width 4, override NO
PropertyNotify event, serial 14, synthetic NO, window 0xa00001,
atom 0x10b (WM_PROTOCOLS), time 52377, state PropertyNewValue
MapNotify event, serial 15, synthetic NO, window 0xa00001,
event 0xa00001, window 0xa00002, override NO
PropertyNotify event, serial 18, synthetic NO, window 0xa00001,
atom 0x12a (_NET_WM_VISIBLE_NAME), time 52389, state PropertyNewValue
PropertyNotify event, serial 18, synthetic NO, window 0xa00001,
atom 0x12c (_NET_WM_VISIBLE_ICON_NAME), time 52389, state PropertyNewValue
PropertyNotify event, serial 18, synthetic NO, window 0xa00001,
atom 0x165 (_OB_APP_ROLE), time 52389, state PropertyNewValue
PropertyNotify event, serial 18, synthetic NO, window 0xa00001,
atom 0x167 (_OB_APP_NAME), time 52389, state PropertyNewValue
PropertyNotify event, serial 18, synthetic NO, window 0xa00001,
atom 0x168 (_OB_APP_CLASS), time 52389, state PropertyNewValue
PropertyNotify event, serial 18, synthetic NO, window 0xa00001,
atom 0x169 (_OB_APP_GROUP_NAME), time 52389, state PropertyNewValue
PropertyNotify event, serial 18, synthetic NO, window 0xa00001,
atom 0x16a (_OB_APP_GROUP_CLASS), time 52389, state PropertyNewValue
PropertyNotify event, serial 18, synthetic NO, window 0xa00001,
atom 0x166 (_OB_APP_TITLE), time 52389, state PropertyNewValue
PropertyNotify event, serial 18, synthetic NO, window 0xa00001,
atom 0x16b (_OB_APP_TYPE), time 52389, state PropertyNewValue
PropertyNotify event, serial 18, synthetic NO, window 0xa00001,
atom 0x132 (_NET_WM_ICON), time 52391, state PropertyNewValue
ReparentNotify event, serial 18, synthetic NO, window 0xa00001,
event 0xa00001, window 0xa00001, parent 0x800070,
(0,0), override NO
PropertyNotify event, serial 22, synthetic NO, window 0xa00001,
atom 0x12f (_NET_WM_STATE), time 52393, state PropertyNewValue
ConfigureNotify event, serial 22, synthetic NO, window 0xa00001,
event 0xa00001, window 0xa00001, (0,0), width 178, height 178,
border_width 0, above 0x80009c, override NO
ConfigureNotify event, serial 22, synthetic NO, window 0xa00001,
event 0xa00001, window 0xa00001, (1,20), width 178, height 178,
border_width 0, above 0x80009c, override NO
PropertyNotify event, serial 22, synthetic NO, window 0xa00001,
atom 0x139 (_NET_FRAME_EXTENTS), time 52394, state PropertyNewValue
PropertyNotify event, serial 22, synthetic NO, window 0xa00001,
atom 0x138 (_KDE_NET_WM_FRAME_STRUT), time 52394, state PropertyNewValue
PropertyNotify event, serial 24, synthetic NO, window 0xa00001,
atom 0x135 (_NET_WM_ALLOWED_ACTIONS), time 52394, state PropertyNewValue
ConfigureNotify event, serial 24, synthetic YES, window 0xa00001,
event 0xa00001, window 0xa00001, (309,156), width 178, height 178,
border_width 2, above 0x0, override NO
PropertyNotify event, serial 24, synthetic NO, window 0xa00001,
atom 0x12d (_NET_WM_DESKTOP), time 52395, state PropertyNewValue
MapNotify event, serial 33, synthetic NO, window 0xa00001,
event 0xa00001, window 0xa00001, override NO
VisibilityNotify event, serial 33, synthetic NO, window 0xa00001,
state VisibilityUnobscured
Expose event, serial 33, synthetic NO, window 0xa00001,
(0,0), width 178, height 10, count 3
Expose event, serial 33, synthetic NO, window 0xa00001,
(0,10), width 10, height 58, count 2
Expose event, serial 33, synthetic NO, window 0xa00001,
(68,10), width 110, height 58, count 1
Expose event, serial 33, synthetic NO, window 0xa00001,
(0,68), width 178, height 110, count 0
EnterNotify event, serial 33, synthetic NO, window 0xa00001,
root 0xe1, subw 0x0, time 52406, (89,82), root:(400,240),
mode NotifyNormal, detail NotifyAncestor, same_screen YES,
focus NO, state 0
KeymapNotify event, serial 33, synthetic NO, window 0x0,
keys: 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
PropertyNotify event, serial 35, synthetic NO, window 0xa00001,
atom 0x10c (WM_STATE), time 52408, state PropertyNewValue
FocusIn event, serial 38, synthetic NO, window 0xa00001,
mode NotifyNormal, detail NotifyNonlinear
KeymapNotify event, serial 38, synthetic NO, window 0x0,
keys: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeyPress event, serial 44, synthetic NO, window 0xa00001,
root 0xe1, subw 0x0, time 57270, (89,82), root:(400,240),
state 0x0, keycode 57 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 44, synthetic NO, window 0xa00001,
root 0xe1, subw 0x0, time 57270, (89,82), root:(400,240),
state 0x0, keycode 13 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 44, synthetic NO, window 0xa00001,
root 0xe1, subw 0x0, time 57270, (89,82), root:(400,240),
state 0x0, keycode 8 (keysym 0xff7e, Mode_switch), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 44, synthetic NO, window 0xa00001,
root 0xe1, subw 0x0, time 57270, (89,82), root:(400,240),
state 0x0, keycode 12 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 44, synthetic NO, window 0xa00001,
root 0xe1, subw 0x0, time 57270, (89,82), root:(400,240),
state 0x0, keycode 28 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 44, synthetic NO, window 0xa00001,
root 0xe1, subw 0x0, time 57270, (89,82), root:(400,240),
state 0x0, keycode 15 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 44, synthetic NO, window 0xa00001,
root 0xe1, subw 0x0, time 57270, (89,82), root:(400,240),
state 0x0, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
XLookupString gives 1 bytes: (1b) "
mbLookupString gives 1 bytes: (1b) "
FilterEvent returns: False
xinput test тоже возвращает больше keycodes чем нажато кнопок и так же возвращает практически случайные коды.