diff options
author | Nicholas Shaff <nick@shadedream.com> | 2018-08-11 15:23:11 -0500 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2018-08-11 13:23:11 -0700 |
commit | 317c624761741f71856f20ab55916e637183edb4 (patch) | |
tree | e3de6a0815beeeb0faf9fa8748a607fc841576b2 /keyboards/sixshooter/sixshooter.c | |
parent | e5f201edb426b01537abd659e1ca317260d87654 (diff) | |
download | qmk_firmware-317c624761741f71856f20ab55916e637183edb4.tar.gz |
Keyboard: Six Shooter Keyboard (#3598)
* Created base sixshooter configuration
* Added SixShooter basic LED on/off support.
* Updated LED identifier numbers to align with layout identifiers (and IDs on PCB).
* Minor sixshooter documentation cleanup.
* Added sixshooter info.json file.
* Moved sixshooter custom keycodes out of keymaps and into base keyboard files, small documentation tweaks.
* Removed unnecessary boot section size definition.
* Removing CONFIG_H if/define and replacing with #pragma once.
Diffstat (limited to 'keyboards/sixshooter/sixshooter.c')
-rw-r--r-- | keyboards/sixshooter/sixshooter.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/keyboards/sixshooter/sixshooter.c b/keyboards/sixshooter/sixshooter.c new file mode 100644 index 000000000..814d219a2 --- /dev/null +++ b/keyboards/sixshooter/sixshooter.c @@ -0,0 +1,57 @@ +#include "sixshooter.h" + +extern inline void sixshooter_led_0_on(void); +extern inline void sixshooter_led_1_on(void); +extern inline void sixshooter_led_2_on(void); +extern inline void sixshooter_led_3_on(void); +extern inline void sixshooter_led_4_on(void); +extern inline void sixshooter_led_5_on(void); + +extern inline void sixshooter_led_0_off(void); +extern inline void sixshooter_led_1_off(void); +extern inline void sixshooter_led_2_off(void); +extern inline void sixshooter_led_3_off(void); +extern inline void sixshooter_led_4_off(void); +extern inline void sixshooter_led_5_off(void); + +extern inline void sixshooter_led_all_on(void); +extern inline void sixshooter_led_all_off(void); + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + + matrix_init_user(); +} + +void matrix_scan_kb(void) { + // put your looping keyboard code here + // runs every cycle (a lot) + + matrix_scan_user(); +} + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + // put your per-action keyboard code here + // runs for every action, just before processing by the firmware + if (record->event.pressed) { + + /* Check for custom keycodes for turning on and off LEDs */ + switch(keycode) { + case SS_LON: + sixshooter_led_all_on(); + return false; + case SS_LOFF: + sixshooter_led_all_off(); + return false; + } + } + + return process_record_user(keycode, record); +} + +void led_set_kb(uint8_t usb_led) { + // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here + + led_set_user(usb_led); +} |