Как создать новые устройства ввода в Linux?Linux

Ответить
Anonymous
 Как создать новые устройства ввода в Linux?

Сообщение Anonymous »

Недавно я купил новый контроллер переключателя 8bitdo, в основном из-за цены и 6-осевого гироскопа.
Я был весьма разочарован, увидев, что гироскоп не работает «из коробки» (не отображается). ни в каком эмуляторе, ни в антимикроксе который очень надежен), но я видел, что он работает в стиме, так что надежда была
Покопавшись немного, я обнаружил, что основные входы контроллера и гироскопа ( акселерометр) входные данные разделены на два специальных входных файла.

Выполнение
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

PS: Я уже пробовал joycond + cemuhook, который, откровенно говоря, худший в настройке, и он не сработал

Подробнее здесь: https://stackoverflow.com/questions/785 ... s-on-linux
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»