# Linux Microdia Keyboard Chipset Driver # For Chipset `0x0c45`:`0x7603` The kernel reports the chipset as `Microdia` Written for the Perixx PX-1800 USB Keyboard: [Perixx PX-1800 Keyboard](http://www.perixx.com/en/service/Perixx_Manual/GAMING/PX-1800.pdf) Original base: swoogan.blogspot.de/2014/09/azio-l70-keyboard-linux-driver.html > NOTE: Makefile and instructions are only tested on Ubuntu, however they are known to work on Debian, Arch, Fedora, and Manjaro. Reportedy supports the following keyboards as well: * SL-6432-BK - Speedlink LUCIDIS Comfort Illuminated Keyboard * COUGAR 200K Scissor Gaming Keyboard * GAMDIAS USB Keyboard (unspecified model but will report as Microdia chipset) * Avazz USB Keyboard (unspecified model but will report as Microdia chipset) * Perixx P1800 * Modecom MC800-Volcano # Installation ## ## DKMS ## # debian-based: sudo apt-get install mercurial build-essential linux-headers-generic dkms # fedora: sudo dnf install kernel-devel kernel-headers sudo dnf groupinstall "Development Tools" "Development Libraries" hg clone https://bitbucket.org/Swoogan/aziokbd cd aziokbd sudo ./install.sh dkms ## Manual Install ## sudo apt-get install mercurial build-essential linux-headers-generic hg clone https://bitbucket.org/Swoogan/aziokbd cd aziokbd sudo ./install.sh # Blacklisting # **NOTE: install.sh attempts to blacklist the driver for you. You shouldn't need to do anything manually. These instructions are to explain the process, in the event something goes wrong.** You need to blacklist the device from the generic USB hid driver in order for the aziokbd driver to control it. ## Kernel Module ## If the USB hid driver is compiled as a kernel module you will need to create a quirks file and blacklist it there. You can determine if the driver is a module by running the following: lsmod | grep usbhid If `grep` finds something, it means that the driver is a module. Create a file called `/etc/modprobe.d/usbhid.conf` and add the following to it: options usbhid quirks=0x0c45:0x7603:0x0004 If you find that the generic USB driver is still taking the device, try changing the `0x0004` to a `0x0007`. ## Compiled into Kernel ## If the generic USB hid driver is compiled into the kernel, then the driver is not loaded as a module and setting the option via `modprobe` will not work. In this case you must pass the option to the driver via the grub boot loader. Create a new file in `/etc/default/grub.d/`. For example, you might call it `aziokbd.conf`. (If your grub package doesn't have this directory, just modify the generic `/etc/default/grub` configuration file): GRUB_CMDLINE_LINUX_DEFAULT='usbhid.quirks=0x0c45:0x7603:0x4' Then run `sudo update-grub` and reboot. Again, if you find that `0x4` doesn't work, try `0x7`.