Joystick Hat working incorrectly
I’ve got a "FR-TEC Raptor MACH 2" joystick and the 8 way hat instead of working as intended it reports as a single axis with each hat direction giving a different value, and axis value stays in that direction until I press a different direction. Also it seem that there are a number of other "vkb gladiator mk2" clones are affected like the "Flashfire Cobra V6".
Here is some info i gathered about the device.
here is the ?official? product website.
lsusb -vd 11c0:5606
Bus 005 Device 002: ID 11c0:5606 Betop FR-TEC Raptor MACH 2
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x11c0 Betop
idProduct 0x5606 FR-TEC Raptor MACH 2
bcdDevice 4.02
iManufacturer 1 Sanmos Group
iProduct 2 FR-TEC Raptor MACH 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0022
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 [unknown]
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.00
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 232
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Device Status: 0x0000
(Bus Powered)
libinput record /dev/input/event8
Recording to 'stdout'.
# libinput record
version: 1
ndevices: 1
libinput:
version: "1.25.0"
git: "unknown"
system:
kernel: "6.6.19-1-MANJARO"
dmi: "dmi:bvnAmericanMegatrendsInc.:bvr6203:bd07/27/2023:br5.17:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKCOMPUTERINC.:rnPRIMEX370-PRO:rvrRevX.0x:cvnDefaultstring:ct3:cvrDefaultstring:skuSKU:"
devices:
- node: /dev/input/event8
evdev:
# Name: Sanmos Group FR-TEC Raptor MACH 2
# ID: bus 0x0003 (usb) vendor 0x11c0 product 0x5606 version 0x0100
# Size in mm: unknown, missing resolution
# Supported Events:
# Event type 0 (EV_SYN)
# Event type 1 (EV_KEY)
# Event code 288 (BTN_TRIGGER)
# Event code 289 (BTN_THUMB)
# Event code 290 (BTN_THUMB2)
# Event code 291 (BTN_TOP)
# Event code 292 (BTN_TOP2)
# Event code 293 (BTN_PINKIE)
# Event code 294 (BTN_BASE)
# Event code 295 (BTN_BASE2)
# Event code 296 (BTN_BASE3)
# Event code 297 (BTN_BASE4)
# Event code 298 (BTN_BASE5)
# Event code 299 (BTN_BASE6)
# Event code 300 ((null))
# Event code 301 ((null))
# Event code 302 ((null))
# Event code 303 (BTN_DEAD)
# Event code 704 (BTN_TRIGGER_HAPPY1)
# Event code 705 (BTN_TRIGGER_HAPPY2)
# Event code 706 (BTN_TRIGGER_HAPPY3)
# Event code 707 (BTN_TRIGGER_HAPPY4)
# Event code 708 (BTN_TRIGGER_HAPPY5)
# Event code 709 (BTN_TRIGGER_HAPPY6)
# Event code 710 (BTN_TRIGGER_HAPPY7)
# Event code 711 (BTN_TRIGGER_HAPPY8)
# Event code 712 (BTN_TRIGGER_HAPPY9)
# Event code 713 (BTN_TRIGGER_HAPPY10)
# Event code 714 (BTN_TRIGGER_HAPPY11)
# Event code 715 (BTN_TRIGGER_HAPPY12)
# Event code 716 (BTN_TRIGGER_HAPPY13)
# Event type 3 (EV_ABS)
# Event code 0 (ABS_X)
# Value 1023
# Min 0
# Max 2047
# Fuzz 7
# Flat 127
# Resolution 0
# Event code 1 (ABS_Y)
# Value 1023
# Min 0
# Max 2047
# Fuzz 7
# Flat 127
# Resolution 0
# Event code 2 (ABS_Z)
# Value 1
# Min 0
# Max 1023
# Fuzz 3
# Flat 63
# Resolution 0
# Event code 3 (ABS_RX)
# Value 511
# Min 0
# Max 1023
# Fuzz 3
# Flat 63
# Resolution 0
# Event code 4 (ABS_RY)
# Value 1023
# Min 0
# Max 2047
# Fuzz 7
# Flat 127
# Resolution 0
# Event code 5 (ABS_RZ)
# Value 0
# Min 0
# Max 1023
# Fuzz 3
# Flat 63
# Resolution 0
# Event code 6 (ABS_THROTTLE)
# Value 0
# Min 0
# Max 1023
# Fuzz 3
# Flat 63
# Resolution 0
# Event code 16 (ABS_HAT0X)
# Value 0
# Min 0
# Max 239
# Fuzz 0
# Flat 14
# Resolution 0
# Event type 4 (EV_MSC)
# Event code 4 (MSC_SCAN)
# Properties:
name: "Sanmos Group FR-TEC Raptor MACH 2"
id: [3, 4544, 22022, 256]
codes:
0: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] # EV_SYN
1: [288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716] # EV_KEY
3: [0, 1, 2, 3, 4, 5, 6, 16] # EV_ABS
4: [4] # EV_MSC
absinfo:
0: [0, 2047, 7, 127, 0]
1: [0, 2047, 7, 127, 0]
2: [0, 1023, 3, 63, 0]
3: [0, 1023, 3, 63, 0]
4: [0, 2047, 7, 127, 0]
5: [0, 1023, 3, 63, 0]
6: [0, 1023, 3, 63, 0]
16: [0, 239, 0, 14, 0]
properties: []
hid: [
0x05, 0x01, 0x09, 0x04, 0xa1, 0x01, 0x05, 0x01, 0x85, 0x01, 0x05, 0x01, 0x09, 0x30, 0x75, 0x10,
0x95, 0x01, 0x15, 0x00, 0x26, 0xff, 0x07, 0x46, 0xff, 0x07, 0x81, 0x02, 0x05, 0x01, 0x09, 0x31,
0x75, 0x10, 0x95, 0x01, 0x15, 0x00, 0x26, 0xff, 0x07, 0x46, 0xff, 0x07, 0x81, 0x02, 0x05, 0x01,
0x09, 0x33, 0x75, 0x10, 0x95, 0x01, 0x15, 0x00, 0x26, 0xff, 0x03, 0x46, 0xff, 0x03, 0x81, 0x02,
0x05, 0x00, 0x09, 0x00, 0x75, 0x10, 0x95, 0x01, 0x15, 0x00, 0x26, 0xff, 0x03, 0x46, 0xff, 0x03,
0x81, 0x02, 0x05, 0x01, 0x09, 0x32, 0x75, 0x10, 0x95, 0x01, 0x15, 0x00, 0x26, 0xff, 0x03, 0x46,
0xff, 0x03, 0x81, 0x02, 0x05, 0x01, 0x09, 0x35, 0x75, 0x10, 0x95, 0x01, 0x15, 0x00, 0x26, 0xff,
0x03, 0x46, 0xff, 0x03, 0x81, 0x02, 0x05, 0x01, 0x09, 0x34, 0x75, 0x10, 0x95, 0x01, 0x15, 0x00,
0x26, 0xff, 0x07, 0x46, 0xff, 0x07, 0x81, 0x02, 0x05, 0x01, 0x09, 0x36, 0x75, 0x10, 0x95, 0x01,
0x15, 0x00, 0x26, 0xff, 0x03, 0x46, 0xff, 0x03, 0x81, 0x02, 0x05, 0x09, 0x19, 0x01, 0x2a, 0x1d,
0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x96, 0x80, 0x00, 0x81, 0x02, 0x05, 0x01, 0x09, 0x39,
0x26, 0xef, 0x00, 0x46, 0x68, 0x01, 0x65, 0x14, 0x75, 0x10, 0x95, 0x01, 0x81, 0x42, 0x05, 0x01,
0x09, 0x00, 0x75, 0x08, 0x95, 0x1d, 0x81, 0x01, 0x15, 0x00, 0x26, 0xef, 0x00, 0x85, 0x58, 0x26,
0xff, 0x00, 0x46, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3f, 0x09, 0x00, 0x91, 0x02, 0x85, 0x59, 0x75,
0x08, 0x95, 0x80, 0x09, 0x00, 0xb1, 0x02, 0xc0
]
udev:
properties:
- ID_INPUT=1
- ID_INPUT_JOYSTICK=1
- LIBINPUT_DEVICE_GROUP=3/11c0/5606:usb-0000:0a:00.3-1
quirks:
events:
# Current time is 15:14:32
# Current time is 15:14:37
- evdev:
- [ 0, 0, 3, 16, 180] # EV_ABS / ABS_HAT0X 180 (+180)
- [ 0, 0, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +0ms
- evdev:
- [ 0, 615973, 3, 16, 150] # EV_ABS / ABS_HAT0X 150 (-30)
- [ 0, 615973, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +615ms
- evdev:
- [ 0, 893976, 3, 16, 120] # EV_ABS / ABS_HAT0X 120 (-30)
- [ 0, 893976, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +278ms
- evdev:
- [ 1, 374968, 3, 16, 90] # EV_ABS / ABS_HAT0X 90 (-30)
- [ 1, 374968, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +481ms
- evdev:
- [ 1, 689967, 3, 16, 60] # EV_ABS / ABS_HAT0X 60 (-30)
- [ 1, 689967, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +315ms
- evdev:
- [ 2, 203975, 3, 16, 30] # EV_ABS / ABS_HAT0X 30 (-30)
- [ 2, 203975, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +514ms
- evdev:
- [ 2, 735979, 3, 16, 0] # EV_ABS / ABS_HAT0X 0 (-30)
- [ 2, 735979, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +532ms
- evdev:
- [ 3, 311960, 3, 16, 210] # EV_ABS / ABS_HAT0X 210 (+210)
- [ 3, 311960, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +576ms
# Current time is 15:14:40
- evdev:
- [ 3, 938958, 3, 16, 180] # EV_ABS / ABS_HAT0X 180 (-30)
- [ 3, 938958, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +627ms
^C
hid-decode /sys/bus/hid/devices/0003:11C0:5606.0001/report_descriptor
# device 0:0
# 0x05, 0x01, // Usage Page (Generic Desktop) 0
# 0x09, 0x04, // Usage (Joystick) 2
# 0xa1, 0x01, // Collection (Application) 4
# 0x05, 0x01, // Usage Page (Generic Desktop) 6
# 0x85, 0x01, // Report ID (1) 8
# 0x05, 0x01, // Usage Page (Generic Desktop) 10
# 0x09, 0x30, // Usage (X) 12
# 0x75, 0x10, // Report Size (16) 14
# 0x95, 0x01, // Report Count (1) 16
# 0x15, 0x00, // Logical Minimum (0) 18
# 0x26, 0xff, 0x07, // Logical Maximum (2047) 20
# 0x46, 0xff, 0x07, // Physical Maximum (2047) 23
# 0x81, 0x02, // Input (Data,Var,Abs) 26
# 0x05, 0x01, // Usage Page (Generic Desktop) 28
# 0x09, 0x31, // Usage (Y) 30
# 0x75, 0x10, // Report Size (16) 32
# 0x95, 0x01, // Report Count (1) 34
# 0x15, 0x00, // Logical Minimum (0) 36
# 0x26, 0xff, 0x07, // Logical Maximum (2047) 38
# 0x46, 0xff, 0x07, // Physical Maximum (2047) 41
# 0x81, 0x02, // Input (Data,Var,Abs) 44
# 0x05, 0x01, // Usage Page (Generic Desktop) 46
# 0x09, 0x33, // Usage (Rx) 48
# 0x75, 0x10, // Report Size (16) 50
# 0x95, 0x01, // Report Count (1) 52
# 0x15, 0x00, // Logical Minimum (0) 54
# 0x26, 0xff, 0x03, // Logical Maximum (1023) 56
# 0x46, 0xff, 0x03, // Physical Maximum (1023) 59
# 0x81, 0x02, // Input (Data,Var,Abs) 62
# 0x05, 0x00, // Usage Page (Undefined) 64
# 0x09, 0x00, // Usage (Undefined) 66
# 0x75, 0x10, // Report Size (16) 68
# 0x95, 0x01, // Report Count (1) 70
# 0x15, 0x00, // Logical Minimum (0) 72
# 0x26, 0xff, 0x03, // Logical Maximum (1023) 74
# 0x46, 0xff, 0x03, // Physical Maximum (1023) 77
# 0x81, 0x02, // Input (Data,Var,Abs) 80
# 0x05, 0x01, // Usage Page (Generic Desktop) 82
# 0x09, 0x32, // Usage (Z) 84
# 0x75, 0x10, // Report Size (16) 86
# 0x95, 0x01, // Report Count (1) 88
# 0x15, 0x00, // Logical Minimum (0) 90
# 0x26, 0xff, 0x03, // Logical Maximum (1023) 92
# 0x46, 0xff, 0x03, // Physical Maximum (1023) 95
# 0x81, 0x02, // Input (Data,Var,Abs) 98
# 0x05, 0x01, // Usage Page (Generic Desktop) 100
# 0x09, 0x35, // Usage (Rz) 102
# 0x75, 0x10, // Report Size (16) 104
# 0x95, 0x01, // Report Count (1) 106
# 0x15, 0x00, // Logical Minimum (0) 108
# 0x26, 0xff, 0x03, // Logical Maximum (1023) 110
# 0x46, 0xff, 0x03, // Physical Maximum (1023) 113
# 0x81, 0x02, // Input (Data,Var,Abs) 116
# 0x05, 0x01, // Usage Page (Generic Desktop) 118
# 0x09, 0x34, // Usage (Ry) 120
# 0x75, 0x10, // Report Size (16) 122
# 0x95, 0x01, // Report Count (1) 124
# 0x15, 0x00, // Logical Minimum (0) 126
# 0x26, 0xff, 0x07, // Logical Maximum (2047) 128
# 0x46, 0xff, 0x07, // Physical Maximum (2047) 131
# 0x81, 0x02, // Input (Data,Var,Abs) 134
# 0x05, 0x01, // Usage Page (Generic Desktop) 136
# 0x09, 0x36, // Usage (Slider) 138
# 0x75, 0x10, // Report Size (16) 140
# 0x95, 0x01, // Report Count (1) 142
# 0x15, 0x00, // Logical Minimum (0) 144
# 0x26, 0xff, 0x03, // Logical Maximum (1023) 146
# 0x46, 0xff, 0x03, // Physical Maximum (1023) 149
# 0x81, 0x02, // Input (Data,Var,Abs) 152
# 0x05, 0x09, // Usage Page (Button) 154
# 0x19, 0x01, // Usage Minimum (1) 156
# 0x2a, 0x1d, 0x00, // Usage Maximum (29) 158
# 0x15, 0x00, // Logical Minimum (0) 161
# 0x25, 0x01, // Logical Maximum (1) 163
# 0x75, 0x01, // Report Size (1) 165
# 0x96, 0x80, 0x00, // Report Count (128) 167
# 0x81, 0x02, // Input (Data,Var,Abs) 170
# 0x05, 0x01, // Usage Page (Generic Desktop) 172
# 0x09, 0x39, // Usage (Hat switch) 174
# 0x26, 0xef, 0x00, // Logical Maximum (239) 176
# 0x46, 0x68, 0x01, // Physical Maximum (360) 179
# 0x65, 0x14, // Unit (EnglishRotation: deg) 182
# 0x75, 0x10, // Report Size (16) 184
# 0x95, 0x01, // Report Count (1) 186
# 0x81, 0x42, // Input (Data,Var,Abs,Null) 188
# 0x05, 0x01, // Usage Page (Generic Desktop) 190
# 0x09, 0x00, // Usage (Undefined) 192
# 0x75, 0x08, // Report Size (8) 194
# 0x95, 0x1d, // Report Count (29) 196
# 0x81, 0x01, // Input (Cnst,Arr,Abs) 198
# 0x15, 0x00, // Logical Minimum (0) 200
# 0x26, 0xef, 0x00, // Logical Maximum (239) 202
# 0x85, 0x58, // Report ID (88) 205
# 0x26, 0xff, 0x00, // Logical Maximum (255) 207
# 0x46, 0xff, 0x00, // Physical Maximum (255) 210
# 0x75, 0x08, // Report Size (8) 213
# 0x95, 0x3f, // Report Count (63) 215
# 0x09, 0x00, // Usage (Undefined) 217
# 0x91, 0x02, // Output (Data,Var,Abs) 219
# 0x85, 0x59, // Report ID (89) 221
# 0x75, 0x08, // Report Size (8) 223
# 0x95, 0x80, // Report Count (128) 225
# 0x09, 0x00, // Usage (Undefined) 227
# 0xb1, 0x02, // Feature (Data,Var,Abs) 229
# 0xc0, // End Collection 231
#
R: 232 05 01 09 04 a1 01 05 01 85 01 05 01 09 30 75 10 95 01 15 00 26 ff 07 46 ff 07 81 02 05 01 09 31 75 10 95 01 15 00 26 ff 07 46 ff 07 81 02 05 01 09 33 75 10 95 01 15 00 26 ff 03 46 ff 03 81 02 05 00 09 00 75 10 95 01 15 00 26 ff 03 46 ff 03 81 02 05 01 09 32 75 10 95 01 15 00 26 ff 03 46 ff 03 81 02 05 01 09 35 75 10 95 01 15 00 26 ff 03 46 ff 03 81 02 05 01 09 34 75 10 95 01 15 00 26 ff 07 46 ff 07 81 02 05 01 09 36 75 10 95 01 15 00 26 ff 03 46 ff 03 81 02 05 09 19 01 2a 1d 00 15 00 25 01 75 01 96 80 00 81 02 05 01 09 39 26 ef 00 46 68 01 65 14 75 10 95 01 81 42 05 01 09 00 75 08 95 1d 81 01 15 00 26 ef 00 85 58 26 ff 00 46 ff 00 75 08 95 3f 09 00 91 02 85 59 75 08 95 80 09 00 b1 02 c0
N: device 0:0
I: 3 0001 0001
sudo hid-recorder /dev/hidraw0
...
# ReportID: 1 / X: 1023 | Y: 1023 | Rx: 511 | Undefined: 0 | Z: 2 | Rz: 0 | Ry: 1023 | Slider: 0 | Button: 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 , 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 , 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 , 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 , 0 , 0 , 0 , 0 | Hat switch: 0 | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | #
E: 000003.168803 64 01 ff 03 ff 03 ff 01 00 00 02 00 00 00 ff 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 01 00 00 00 00 00 00 00 00 00
# ReportID: 1 / X: 1023 | Y: 1023 | Rx: 511 | Undefined: 0 | Z: 3 | Rz: 0 | Ry: 1023 | Slider: 0 | Button: 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 , 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 , 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 , 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 , 0 , 0 , 0 , 0 | Hat switch: 0 | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | #
E: 000003.169807 64 01 ff 03 ff 03 ff 01 00 00 03 00 00 00 ff 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 01 00 00 00 00 00 00 00 00 00
# ReportID: 1 / X: 1023 | Y: 1023 | Rx: 511 | Undefined: 0 | Z: 3 | Rz: 0 | Ry: 1023 | Slider: 0 | Button: 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 , 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 , 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 , 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 , 0 , 0 , 0 , 0 | Hat switch: 240 | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | # | #
...
Edited by maocheia