# Osu! keypads ## 2K and 4K keypads ![2k4k](https://thnikk.moe/img/docs/2k4k.jpg) The two and four key keypads have a lot in common, so this section applies to both of them. ### Configuration The screw on the side of the keypad acts as a multi-function button. The table below shows the behavior of the button depending on how long it's held. | Hold time | Functionality | | --------- | ------------- | | <0.5s | Escape | | 0.5 - 1.5s | Change LED mode | | >1.5s | Change brightness (Press Z to lower and X to raise) | | >1.5s (on custom LED mode) | Change color per-key | > **NOTE:** You can hold down the first key (the one closest to the USB port) while plugging the keypad in to toggle the side button on and off. If your side button isn't responding, you may have done this accidentally. ### LED modes | Mode | Effect | | --- | --- | | Cycle | Fades through rainbow. | | Reactive | Turns LEDs on when pressed and fades from red to green to blue to off when released. | | Push Off | LEDs are normally white and fade from red to green to blue to off when the keys are pressed. | | Custom | LED color can be set per-key. | | BPM | LEDs turn white when pressed and change color depending on how much you hit them per second when released. | | Color Change | Colors cycle in steps per-press per-key. | ### Firmware If you'd like to update or reflash the firmware on your keypad, the source code is available here: [2k/4k firmware](https://github.com/thnikk/trinketM0) ## Touch keypad ![Touch keypad](https://i.etsystatic.com/10408775/r/il/50c82f/2050079633/il_fullxfull.2050079633_4tm4.jpg) The Touch Keypad uses capacitive touch pads instead of mechanical switches. This allows for faster key presses since key travel is eliminated, as well as a slimmer body for greater portability. ### Configuration Unlike the mechanical keypads, all configuration of the touch keypads is done over the same serial connection as using the remapper. This is flexible and lightweight, requiring the download of a single program that doesn't need to be installed. Follow the remapping guide to enter configuration mode. ### LED modes | Mode | Effect | | --- | --- | | Cycle | Fades through rainbow; White when key is pressed; Off when side button is pressed | | Reactive | Turns to white when pressed and fades through r>g>b>off when released | | Reactive Inverted | Fades through r>g>b>off when pressed and turns to white when released | | Color Change | Colors cycle in steps per-press per-key. | | BPS | Color changes depending number of keypresses per second and turns white while key is pressed | | Custom | LED uses user-specified color (can be set through Termite) | | Off | LED is turned off | ### Firmware If you'd like to update or reflash the firmware on your keypad, the source code is available here: [2k/4k firmware](https://github.com/thnikk/trinketM0) ## Remapping Every keypad has a remapper built-in to the firmware that can be accessed through a program that is able to communicate with the keypad. Please follow the instructions below for your platform. ### Windows Download and extract Termite. You want to make sure you extract since you need to run it with the .ini file in the same directory. [Download Termite](https://puu.sh/w8Zj5/01aa028013.zip) Upon opening the program, it should immediately connect to the keypad. Follow the directions in the remapper and you're all set! * If you have any problems, make sure your settings match these (except for the port since it may be different for you): ![Settings](https://puu.sh/C8hhI/6d005fdf84.png) Make sure to close Termite when you're done, otherwise it may try to reconnect and lock up your keypad. ### Mac/Linux The procedure for Mac and Linux is the same since we'll be using the screen command on both. Open a terminal and paste in this command to connect to the keypad. `screen $(ls -d /dev/* | grep "ACM\|usbmodem") 9600` Follow the directions given in the ternminal to remap the keypad. ## Unified firmware (beta) I spent some time working on a version of the firmware that supports both mechanical and touch keypads some time ago. It's almost at feature parity with the current firmware, but does a few things differently: - Configuration moved to the remapper (like the touch keypad) - The side button is reconfigurable (can function as a normal remappable key or a hardware modifier) - Each key can only be mapped to a single key ### Downloads If you'd like to try it out, you can use the uploader here: [Unified Uploader](https://github.com/thnikk/unified-uploader) And if you'd like to view the source code, it's available here: [Unified Firmware](https://github.com/thnikk/unified)