Я был весьма разочарован, увидев, что гироскоп не работает «из коробки» (не отображается). ни в каком эмуляторе, ни в антимикроксе который очень надежен), но я видел, что он работает в стиме, так что надежда была
Покопавшись немного, я обнаружил, что основные входы контроллера и гироскопа ( акселерометр) входные данные разделены на два специальных входных файла.
Выполнение
evemu-describe /dev/input/by-id/usb-Nintendo.Co.Ltd._Pro_Controller_000000000001-event-if00
отображает свойства акселерометра и
evemu-describe /dev/input/by-id/usb-Nintendo.Co.Ltd._Pro_Controller_000000000001-event-joystick
все остальные входы
У меня была идея создать новый вход, который бы объединил два предыдущих и использовать его в качестве контроллера с гироскопическим управлением
Однако, хотя у меня есть знания в области кодирования, я очень мало разбираюсь в драйверах. и устройства ввода, и документацию в Интернете обо всем этом очень трудно найти, потому что это точная тема, а поисковые системы такие дерьмовые
Так что, если кто-нибудь может мне помочь, дайте ссылку на какую-то документацию или попытайтесь найти ее. с реализацией было бы очень полезно
это вывод для двух команд
первая:
Код: Выделить всё
# EVEMU 1.3
# Kernel: 6.9.3-arch1-1
# DMI: dmi:bvnHewlett-Packard:bvrJ61v03.69:bd03/25/2014:br3.69:svnHewlett-Packard:pnHPZ420Workstation:pvr:rvnHewlett-Packard:rn1589:rvr0.00:cvnHewlett-Packard:ct6:cvr:skuLJ449AV:
# Input device name: "Nintendo.Co.Ltd. Pro Controller"
# Input device ID: bus 0x03 vendor 0x57e product 0x2009 version 0x8111
# Supported events:
# Event type 0 (EV_SYN)
# Event code 0 (SYN_REPORT)
# Event code 1 (SYN_CONFIG)
# Event code 2 (SYN_MT_REPORT)
# Event code 3 (SYN_DROPPED)
# Event code 4 ((null))
# Event code 5 ((null))
# Event code 6 ((null))
# Event code 7 ((null))
# Event code 8 ((null))
# Event code 9 ((null))
# Event code 10 ((null))
# Event code 11 ((null))
# Event code 12 ((null))
# Event code 13 ((null))
# Event code 14 ((null))
# Event code 15 (SYN_MAX)
# Event type 1 (EV_KEY)
# Event code 304 (BTN_SOUTH)
# Event code 305 (BTN_EAST)
# Event code 307 (BTN_NORTH)
# Event code 308 (BTN_WEST)
# Event code 309 (BTN_Z)
# Event code 310 (BTN_TL)
# Event code 311 (BTN_TR)
# Event code 312 (BTN_TL2)
# Event code 313 (BTN_TR2)
# Event code 314 (BTN_SELECT)
# Event code 315 (BTN_START)
# Event code 316 (BTN_MODE)
# Event code 317 (BTN_THUMBL)
# Event code 318 (BTN_THUMBR)
# Event type 3 (EV_ABS)
# Event code 0 (ABS_X)
# Value 241
# Min -32767
# Max 32767
# Fuzz 250
# Flat 500
# Resolution 0
# Event code 1 (ABS_Y)
# Value -258
# Min -32767
# Max 32767
# Fuzz 250
# Flat 500
# Resolution 0
# Event code 3 (ABS_RX)
# Value 165
# Min -32767
# Max 32767
# Fuzz 250
# Flat 500
# Resolution 0
# Event code 4 (ABS_RY)
# Value -131
# Min -32767
# Max 32767
# Fuzz 250
# Flat 500
# Resolution 0
# Event code 16 (ABS_HAT0X)
# Value 0
# Min -1
# Max 1
# Fuzz 0
# Flat 0
# Resolution 0
# Event code 17 (ABS_HAT0Y)
# Value 0
# Min -1
# Max 1
# Fuzz 0
# Flat 0
# Resolution 0
# Event type 21 (EV_FF)
# Event code 80 (FF_RUMBLE)
# Event code 81 (FF_PERIODIC)
# Event code 88 (FF_SQUARE)
# Event code 89 (FF_TRIANGLE)
# Event code 90 (FF_SINE)
# Event code 96 (FF_GAIN)
# Properties:
N: Nintendo.Co.Ltd. Pro Controller
I: 0003 057e 2009 8111
P: 00 00 00 00 00 00 00 00
B: 00 0b 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 fb 7f
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 00 00 00 00 00 00 00 00
B: 03 1b 00 03 00 00 00 00 00
B: 04 00 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 14 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 03 07 01 00 00 00
A: 00 -32767 32767 250 500 0
A: 01 -32767 32767 250 500 0
A: 03 -32767 32767 250 500 0
A: 04 -32767 32767 250 500 0
A: 10 -1 1 0 0 0
A: 11 -1 1 0 0 0
Код: Выделить всё
# EVEMU 1.3
# Kernel: 6.9.3-arch1-1
# DMI: dmi:bvnHewlett-Packard:bvrJ61v03.69:bd03/25/2014:br3.69:svnHewlett-Packard:pnHPZ420Workstation:pvr:rvnHewlett-Packard:rn1589:rvr0.00:cvnHewlett-Packard:ct6:cvr:skuLJ449AV:
# Input device name: "Nintendo.Co.Ltd. Pro Controller (IMU)"
# Input device ID: bus 0x03 vendor 0x57e product 0x2009 version 0x8111
# Size in mm: 15x15
# Supported events:
# Event type 0 (EV_SYN)
# Event code 0 (SYN_REPORT)
# Event code 1 (SYN_CONFIG)
# Event code 2 (SYN_MT_REPORT)
# Event code 3 (SYN_DROPPED)
# Event code 4 ((null))
# Event code 5 ((null))
# Event code 6 ((null))
# Event code 7 ((null))
# Event code 8 ((null))
# Event code 9 ((null))
# Event code 10 ((null))
# Event code 11 ((null))
# Event code 12 ((null))
# Event code 13 ((null))
# Event code 14 ((null))
# Event code 15 (SYN_MAX)
# Event type 3 (EV_ABS)
# Event code 0 (ABS_X)
# Value -392
# Min -32767
# Max 32767
# Fuzz 10
# Flat 0
# Resolution 4096
# Event code 1 (ABS_Y)
# Value -29
# Min -32767
# Max 32767
# Fuzz 10
# Flat 0
# Resolution 4096
# Event code 2 (ABS_Z)
# Value 4214
# Min -32767
# Max 32767
# Fuzz 10
# Flat 0
# Resolution 4096
# Event code 3 (ABS_RX)
# Value 42886
# Min -32767000
# Max 32767000
# Fuzz 10
# Flat 0
# Resolution 14247
# Event code 4 (ABS_RY)
# Value 9000
# Min -32767000
# Max 32767000
# Fuzz 10
# Flat 0
# Resolution 14247
# Event code 5 (ABS_RZ)
# Value -1000
# Min -32767000
# Max 32767000
# Fuzz 10
# Flat 0
# Resolution 14247
# Event type 4 (EV_MSC)
# Event code 5 (MSC_TIMESTAMP)
# Properties:
# Property type 6 (INPUT_PROP_ACCELEROMETER)
N: Nintendo.Co.Ltd. Pro Controller (IMU)
I: 0003 057e 2009 8111
P: 40 00 00 00 00 00 00 00
B: 00 0b 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 01 00 00 00 00 00 00 00 00
B: 02 00 00 00 00 00 00 00 00
B: 03 3f 00 00 00 00 00 00 00
B: 04 20 00 00 00 00 00 00 00
B: 05 00 00 00 00 00 00 00 00
B: 11 00 00 00 00 00 00 00 00
B: 12 00 00 00 00 00 00 00 00
B: 14 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
B: 15 00 00 00 00 00 00 00 00
A: 00 -32767 32767 10 0 4096
A: 01 -32767 32767 10 0 4096
A: 02 -32767 32767 10 0 4096
A: 03 -32767000 32767000 10 0 14247
A: 04 -32767000 32767000 10 0 14247
A: 05 -32767000 32767000 10 0 14247
Подробнее здесь: https://stackoverflow.com/questions/785 ... s-on-linux
Мобильная версия