( name: "VKBsim Gladiator NXT R", device_type: ( vendor_id: 8989, product_id: 512, ), map: ( buttons: { Button(1): (buf: 17, query: Bit(4)), Button(2): (buf: 17, query: Bit(8)), Button(3): (buf: 17, query: Bit(16)), Button(4): (buf: 19, query: Bit(16)), Button(5): (buf: 19, query: Bit(32)), Function(1): (buf: 48, query: Bit(32)), Function(2): (buf: 48, query: Bit(64)), Function(3): (buf: 48, query: Bit(16)), }, button_groups: { DualTrigger: ( mono: false, buttons: { HalfDepress: (buf: 17, query: Bit(1)), Fire: (buf: 17, query: Bit(2)), } ), DPad(1): ( mono: true, buttons: { Up: (buf: 17, query: Bit(32)), Right: (buf: 17, query: Bit(64)), Down: (buf: 17, query: Bit(128)), Left: (buf: 18, query: Bit(1)), Press: (buf: 18, query: Bit(2)), } ), DPad(2): ( mono: true, buttons: { Up: (buf: 18, query: Bit(4)), Right: (buf: 18, query: Bit(8)), Down: (buf: 18, query: Bit(16)), Left: (buf: 18, query: Bit(32)), Press: (buf: 18, query: Bit(64)), } ), DPad(3): ( mono: true, buttons: { Up: (buf: 18, query: Bit(128)), Right: (buf: 19, query: Bit(1)), Down: (buf: 19, query: Bit(2)), Left: (buf: 19, query: Bit(4)), Press: (buf: 19, query: Bit(8)), } ), HatSwitch(1): ( mono: true, buttons: { Up: (buf: 33, query: Eq(0)), UpRight: (buf: 33, query: Eq(1)), Right: (buf: 33, query: Eq(2)), DownRight: (buf: 33, query: Eq(3)), Down: (buf: 33, query: Eq(4)), DownLeft: (buf: 33, query: Eq(5)), Left: (buf: 33, query: Eq(6)), UpLeft: (buf: 33, query: Eq(7)), Press: (buf: 49, query: Bit(16)), } ) }, analog_groups: { FLightStickTwist: Triple( (fine: 1, coarse: 2, octaves: 16), (fine: 3, coarse: 4, octaves: 16), (fine: 5, coarse: 6, octaves: 8), ), Slider(0): Single( (fine: 7, coarse: 8, octaves: 8), ), Stick(1): Dual( (fine: 9, coarse: 10, octaves: 4), (fine: 11, coarse: 12, octaves: 4), ), } ) )