How to create new input devices on linux?

I recently bought a new 8bitdo switch controller, mainly for the price point and the 6 axis gyroscope

I was quite disappointed seeing the gyro did not work out of the box (not displayed in any emulator, nor antimicrox which is very reliable), but I saw it worked on steam so there was hope

After a little digging, I found that the main controller inputs and the gyroscope (accelerometer) inputs are separated in two special input files.
Doing
evemu-describe /dev/input/by-id/usb-Nintendo.Co.Ltd._Pro_Controller_000000000001-event-if00
displays the accelerometer properties and
evemu-describe /dev/input/by-id/usb-Nintendo.Co.Ltd._Pro_Controller_000000000001-event-joystick
all other inputs

The idea I had was trying to create a new input, which would combine the two previous ones and use this one as my controller, with gyro control
However, while I have coding knowledge I have very little about drivers and input devices and documentation on the internet about all that is very hard to find because it’s a precise topic and search engines are so shitty

So if anyone could help me linking to some documentation or trying to come up with an implementation would be very helpful

this is the output for the two commands
first one:

# 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

second one:

# 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: I already tried joycond + cemuhook which is quite frankly the worst to set up and did not work

New contributor

TuTiuTe is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật