Azeron Classic: XInput device has no driver, DirectInput device has XInput driver

the Azeron Classic keypad is a composite of 5 USB devices: 1. XInput 2. keyboard 3. mouse 4. DirectInput 5. raw device used by the Azeron Software for configuration here’s what /dev/input/by-id/ looks like for my keypad:
usb-Azeron_LTD_Azeron_Keypad-if01-event-kbd -> ../event16
usb-Azeron_LTD_Azeron_Keypad-if01-hidraw -> ../../hidraw10
usb-Azeron_LTD_Azeron_Keypad-if01-kbd -> ../js1
usb-Azeron_LTD_Azeron_Keypad-if02-event-mouse -> ../event17
usb-Azeron_LTD_Azeron_Keypad-if02-hidraw -> ../../hidraw11
usb-Azeron_LTD_Azeron_Keypad-if02-mouse -> ../mouse2
usb-Azeron_LTD_Azeron_Keypad-if03-event-joystick -> ../event18
usb-Azeron_LTD_Azeron_Keypad-if03-hidraw -> ../../hidraw12
usb-Azeron_LTD_Azeron_Keypad-if03-joystick -> ../js2
usb-Azeron_LTD_Azeron_Keypad-if04-hidraw -> ../../hidraw13
usb-Azeron_LTD_Azeron_Keypad-if01-event-kbd -> ../event16
usb-Azeron_LTD_Azeron_Keypad-if01-hidraw -> ../../hidraw10
usb-Azeron_LTD_Azeron_Keypad-if01-kbd -> ../js1
usb-Azeron_LTD_Azeron_Keypad-if02-event-mouse -> ../event17
usb-Azeron_LTD_Azeron_Keypad-if02-hidraw -> ../../hidraw11
usb-Azeron_LTD_Azeron_Keypad-if02-mouse -> ../mouse2
usb-Azeron_LTD_Azeron_Keypad-if03-event-joystick -> ../event18
usb-Azeron_LTD_Azeron_Keypad-if03-hidraw -> ../../hidraw12
usb-Azeron_LTD_Azeron_Keypad-if03-joystick -> ../js2
usb-Azeron_LTD_Azeron_Keypad-if04-hidraw -> ../../hidraw13
the keyboard, mouse, and raw devices all work (i have the Azeron Software installed in a Bottle and it can modify on‐device profiles and read inputs just fine). notice, however, that there’s no if00 up there; one of the joystick devices isn’t even being assigned a driver. given that the joystick device that does show up is recognized as an “XBox One” controller, you’d think that’s the XInput device, but no events are received when using any XInput binds. however, i spotted a curious line in the output of udevadm info --attribute-walk --name=input/js2:
ATTRS{interface}=="Azeron Keypad - DirectInput"
ATTRS{interface}=="Azeron Keypad - DirectInput"
indeed, we receive events from this device when using DirectInput binds instead, and info for the driver‐less device includes this:
ATTR{interface}=="Azeron Keypad - XInput"
ATTR{interface}=="Azeron Keypad - XInput"
so somehow, it looks like the DirectInput device is being mistakenly assigned an XInput driver, and the XInput device is getting no driver. on Windows, XInput didn’t work until i disabled the DirectInput device, so i guess that’s just how this keypad is.
2 Replies
GFD
GFDOP15h ago
i probably only need one of the XInput or DirectInput devices to work, but having both would be nice; XInput has better compatibility with games, but DirectInput would let me easily re‐assign every key using AntiMicroX (XInput has fewer inputs than the keypad has keys). i assume a udev rule could fix this, but i haven’t a clue how to create one. an aside: the Classic is Azeron’s oldest device model, so it uses a Teensy board instead of the STM32 microcontroller used by newer keypads. as such, even if newer Azeron devices like the Cyborg or Cyro are known to work on Bazzite, that might not apply to the Classic. i’m unclear on whether the “hardware-compat” post tag here should be used for peripherals or is just meant for PC compatibility. since i know this is being indexed online, here’s how i found you can set up the Azeron Software easily on Bazzite for beginners: 1. install Bottles (com.usebottles.bottles) from Bazaar and open it. 2. open Preferences (☰ menu, or press ctrl+,), open the Runners tab at the top, and download and install the topmost Kron4ek entry (staging and staging-tkg patches are not necessary). 3. create a new Bottle (+ button in the top‐left) using the Gaming preset and the Kron4ek runner. 4. run the Azeron Software installer in the Bottle (click the Bottle, then “Run Executable...”, and find the setup .exe). the usual dialog should pop up to let you engage in the Windows installer ritual of clicking the “next” button a bunch of times. 5. in the Bottle’s ⋮ menu (top‐right), select “Search for new programs”. “Azeron Software” should appear in the programs list. 6. to add the Azeron Software to Bazzite’s applications list, open Flatseal, select the Bottles application, scroll down to the “Filesystem” section, click the button in “Other files” to add a new entry, and enter xdg-data/applications into the text field. then open Bottles, open the ⋮ menu on the Azeron Software program, and select “Add Desktop Entry”. (if you want to add an entry in your Steam Library for launching the Azeron Software, use Steam to do so, rather than Bottles’ “Add to Steam” feature.) in order to import profiles, you’ll have to put your azeron-profiles.json file inside the fake filesystem that the Azeron Software sees. in the Bottle’s ⋮ menu, select “Browse Files...” to open that location in your file browser. (the “Documents” folder is at ./users/<your username>/Documents, for instance.)
smokeejoe
smokeejoe10h ago
Thanks for posting how you got it working. I don't own an Azeron but was looking into their Linux support when I made the switch.. since reWASD doesn't have support. Over on the Azeron discord , under the linux discussion, someone made a program that works for the Azeron under linux. No idea how well it works. Sounds like you don't need it now, but thought I'd let you know anyway. Cheers.

Did you find this page helpful?