]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/xd60/xd60.h
Added XD60 support
[qmk_firmware.git] / keyboards / xd60 / xd60.h
1 #ifndef XD60_H
2 #define XD60_H
3
4 #include "quantum.h"
5 #include "led.h"
6
7 /* XD60 LEDs
8  *   GPIO pads
9  *   0 F7 WASD LEDs
10  *   1 F6 ESC LED
11  *   2 F5 FN LED
12  *   3 F4 POKER Arrow LEDs
13  *   B2 Capslock LED
14  *   B0 not connected
15  */
16 inline void xd60_caps_led_on(void)    { DDRB |=  (1<<2); PORTB &= ~(1<<2); }
17 inline void xd60_poker_leds_on(void)  { DDRF |=  (1<<4); PORTF &= ~(1<<4); }
18 inline void xd60_fn_led_on(void)        { DDRF |=  (1<<5); PORTF &= ~(1<<5); }
19 inline void xd60_esc_led_on(void)       { DDRF |=  (1<<6); PORTF &= ~(1<<6); }
20 inline void xd60_wasd_leds_on(void)   { DDRF |=  (1<<7); PORTF &= ~(1<<7); }
21
22 inline void xd60_caps_led_off(void)   { DDRB &= ~(1<<2); PORTB &= ~(1<<2); }
23 inline void xd60_poker_leds_off(void) { DDRF &= ~(1<<4); PORTF &= ~(1<<4); }
24 inline void xd60_fn_led_off(void)       { DDRF &= ~(1<<5); PORTF &= ~(1<<5); }
25 inline void xd60_esc_led_off(void)      { DDRF &= ~(1<<6); PORTF &= ~(1<<6); }
26 inline void xd60_wasd_leds_off(void)  { DDRF &= ~(1<<7); PORTF &= ~(1<<7); }
27
28 /* XD60 Keymap Definition Macro */
29 #define KEYMAP( \
30       K00,  K01,  K02,  K03,  K04,  K05,  K06,  K07,  K08,  K09,  K0A,  K0B,  K0C,  K0D,  K49, \
31       K10,  K11,  K12,  K13,  K14,  K15,  K16,  K17,  K18,  K19,  K1A,  K1B,  K1C,  K1D,       \
32       K20,  K21,  K22,  K23,  K24,  K25,  K26,  K27,  K28,  K29,  K2A,  K2B,  K2C,  K2D,       \
33       K30,  K31,  K32,  K33,  K34,  K35,  K36,  K37,  K38,  K39,  K3A,  K3B,  K47,  K3D,  K3C, \
34       K40,  K41,  K42,              K45,                          K4A,  K4B,  K48,  K4C,  K4D  \
35 ) { \
36     { K00,  K01,  K02,  K03,  K04,  K05,  K06,  K07,  K08,  K09,  K0A,  K0B,  K0C,  K0D }, \
37     { K10,  K11,  K12,  K13,  K14,  K15,  K16,  K17,  K18,  K19,  K1A,  K1B,  K1C,  K1D }, \
38     { K20,  K21,  K22,  K23,  K24,  K25,  K26,  K27,  K28,  K29,  K2A,  K2B,  K2C,  K2D }, \
39     { K30,  K31,  K32,  K33,  K34,  K35,  K36,  K37,  K38,  K39,  K3A,  K3B,  K3C,  K3D }, \
40     { K40,  K41,  K42,  KC_NO,KC_NO,K45,  KC_NO,K47,  K48,  K49,  K4A,  K4B,  K4C,  K4D }  \
41 }
42
43 #endif