From 317c624761741f71856f20ab55916e637183edb4 Mon Sep 17 00:00:00 2001 From: Nicholas Shaff Date: Sat, 11 Aug 2018 15:23:11 -0500 Subject: 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. --- keyboards/sixshooter/sixshooter.c | 57 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 keyboards/sixshooter/sixshooter.c (limited to 'keyboards/sixshooter/sixshooter.c') diff --git a/keyboards/sixshooter/sixshooter.c b/keyboards/sixshooter/sixshooter.c new file mode 100644 index 0000000000..814d219a29 --- /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); +} -- cgit v1.2.3