]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/xd75/readme.md
Keyboard: add support for kbd19x (#4272)
[qmk_firmware.git] / keyboards / xd75 / readme.md
index 0bc82be91e07f12c20d5cc02b8ba1a2db2e1a21f..e11ce7dca9a4fa2bf7348d76857be90cbcf803e1 100644 (file)
@@ -9,22 +9,79 @@ For more info on this firmware (and how to make it your own), head over to [qmk.
 
 ## Building
 
-Download or clone the whole firmware and navigate to the keyboards/xd75 folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. 
-
-Depending on which keymap you would like to use, you will have to compile slightly differently.
+Download or clone the whole firmware and navigate to the
+keyboards/xd75 folder. Once your dev env is setup, you'll be able to
+type `make` to generate your .hex - you can then use the Teensy Loader
+to install the resulting .hex file, or have the `make` process install
+it using DFU.
 
 ### Default
 
-To build with the default keymap, simply run `make default`.
+To build with the default keymap, simply run `make xd75:default` from the root directory (i.e. two levels above this file), and to install via DFU, `make xd75:default:dfu`, also from the root directory.
+
+Note that DFU is likely to require root permissions, so installing the
+firmware likely requires a command line like:
+
+```
+$ sudo make xd75:default:dfu
+```
+
+### LED control
+
+There are 3 individual LEDs that can be turned on and off, plus the keycap LEDs (which are all wired into the same pin).  The functions are named according to how they're labeled on the PCB.
+
+TODO: it would be nice to have PWM support on these LEDs for fade-in/fade-out effects.
+
+```c
+capslock_led_on();
+gp100_led_on();
+gp103_led_on();
+keycaps_led_on();
+
+
+// led_set_user example - you could also turn these on/off in response
+// to events in process_record_user or matrix_scan_user
+void led_set_user(uint8_t usb_led) {
+    if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
+        capslock_led_on();
+    } else {
+        capslock_led_off();
+    }
+
+    if (some_custom_state) {
+      gp100_led_on();
+    }
+    else {
+      gp100_led_off();
+    }
+}
+```
+
+For the curious:
+
+```
+CAPSLOCK_LED    B2
+GP103_LED       F4
+KEYCAPS_LED     F5
+GP100_LED       F7
+```
 
 ### Other Keymaps
 
-The "default" keymap included is basically the OLKB Atomic keymap with a few buttons added for RGB underglow control. This should be usable as a starting point, but most people will be best served creating their own keymap and flashing it - more info on creating your own keymap is available in [the official QMK documentation](https://docs.qmk.fm).
+The "default" keymap included is basically the OLKB Atomic keymap with
+a few buttons added for RGB underglow control. This should be usable
+as a starting point, but most people will be best served creating
+their own keymap and flashing it - more info on creating your own
+keymap is available in [the official QMK
+documentation](https://docs.qmk.fm).
+
+Keymaps follow the format **__\<name\>.c__** and are stored in
+subdirectories under `keyboards/xd75/keymaps`
 
-To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
+To build the firmware binary hex file for a specific keymap, and
+install it, using DFU, just do `make` with a keymap like this:
 
 ```
-$ make [default|jack|<name>]
+$ make xd75:[default|<name>]
 ```
 
-Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.