@ -18,6 +18,9 @@
# include "quantum.h"
// readability
# define ___ KC_NO
inline void kc60se_caps_led_on ( void ) { DDRB | = ( 1 < < 2 ) ; PORTB & = ~ ( 1 < < 2 ) ; }
inline void kc60se_caps_led_off ( void ) { DDRB & = ~ ( 1 < < 2 ) ; PORTB & = ~ ( 1 < < 2 ) ; }
@ -25,19 +28,19 @@ inline void kc60se_caps_led_off(void) { DDRB &= ~(1<<2); PORTB &= ~(1<<2); }
* K2C , K31 and K3C are keys for ISO
* This is the row / column wiring , which different from the physical layout .
*/
// All pads defined in logical layout. The KC_NO in this section are padless.
// All pads defined in logical layout. The ___ in this section are padless.
# define LAYOUT( \
K00 , K01 , K02 , K03 , K04 , K05 , K06 , K07 , K08 , K09 , K0A , K0B , K0C , K0D , \
K00 , K01 , K02 , K03 , K04 , K05 , K06 , K07 , K08 , K09 , K0A , K0B , K0C , K0D , K49 , \
K10 , K11 , K12 , K13 , K14 , K15 , K16 , K17 , K18 , K19 , K1A , K1B , K1C , K1D , \
K20 , K21 , K22 , K23 , K24 , K25 , K26 , K27 , K28 , K29 , K2A , K2B , K2C , K2D , \
K30 , K31 , K32 , K33 , K34 , K35 , K36 , K37 , K38 , K39 , K3A , K3B , K3 C, K3D , \
K30 , K31 , K32 , K33 , K34 , K35 , K36 , K37 , K38 , K39 , K3A , K3B , K3 D, K3C , \
K40 , K41 , K42 , K45 , K4A , K4B , K4C , K4D \
) { \
{ K00 , K01 , K02 , K03 , K04 , K05 , K06 , K07 , K08 , K09 , K0A , K0B , K0C , K0D } , \
{ K10 , K11 , K12 , K13 , K14 , K15 , K16 , K17 , K18 , K19 , K1A , K1B , K1C , K1D } , \
{ K20 , K21 , K22 , K23 , K24 , K25 , K26 , K27 , K28 , K29 , K2A , K2B , K2C , K2D } , \
{ K30 , K31 , K32 , K33 , K34 , K35 , K36 , K37 , K38 , K39 , K3A , K3B , K3C , K3D } , \
{ K40 , K41 , K42 , KC_NO, KC_NO , K45 , KC_NO , KC_NO , KC_NO , KC_NO , K4A , K4B , K4C , K4D } \
{ K40 , K41 , K42 , ___, ___ , K45 , ___ , ___ , ___ , K49 , K4A , K4B , K4C , K4D } \
}
/* ANSI */
@ -50,15 +53,15 @@ inline void kc60se_caps_led_off(void) { DDRB &= ~(1<<2); PORTB &= ~(1<<2); }
) { \
{ K00 , K01 , K02 , K03 , K04 , K05 , K06 , K07 , K08 , K09 , K0A , K0B , K0C , K0D } , \
{ K10 , K11 , K12 , K13 , K14 , K15 , K16 , K17 , K18 , K19 , K1A , K1B , K1C , K1D } , \
{ K20 , K21 , K22 , K23 , K24 , K25 , K26 , K27 , K28 , K29 , K2A , K2B , KC_NO , K2D } , \
{ K30 , KC_NO , K32 , K33 , K34 , K35 , K36 , K37 , K38 , K39 , K3A , K3B , KC_NO , K3D } , \
{ K40 , K41 , K42 , KC_NO, KC_NO , K45 , KC_NO , KC_NO , KC_NO , K4A , K4B , K4C , K4D } \
{ K20 , K21 , K22 , K23 , K24 , K25 , K26 , K27 , K28 , K29 , K2A , K2B , ___ , K2D } , \
{ K30 , ___ , K32 , K33 , K34 , K35 , K36 , K37 , K38 , K39 , K3A , K3B , ___ , K3D } , \
{ K40 , K41 , K42 , ___, ___ , K45 , ___ , ___ , ___ , ___ , K4A , K4B , K4C , K4D } \
}
/* HHKB
* K2C & K31 are represented as KC_NO , otherwise this is
* K2C & K31 are represented as ___ , otherwise this is
* the best representation of the physical layout , ( K49 on top right ) .
* The KC_NO s on the space row do not have pads
* The ___ s on the space row do not have pads
*/
# define LAYOUT_60_ansi_split_bs_rshift( \
K00 , K01 , K02 , K03 , K04 , K05 , K06 , K07 , K08 , K09 , K0A , K0B , K0C , K0D , K49 , \
@ -69,9 +72,9 @@ inline void kc60se_caps_led_off(void) { DDRB &= ~(1<<2); PORTB &= ~(1<<2); }
) { \
{ K00 , K01 , K02 , K03 , K04 , K05 , K06 , K07 , K08 , K09 , K0A , K0B , K0C , K0D } , \
{ K10 , K11 , K12 , K13 , K14 , K15 , K16 , K17 , K18 , K19 , K1A , K1B , K1C , K1D } , \
{ K20 , K21 , K22 , K23 , K24 , K25 , K26 , K27 , K28 , K29 , K2A , K2B , KC_NO , K2D } , \
{ K30 , KC_NO , K32 , K33 , K34 , K35 , K36 , K37 , K38 , K39 , K3A , K3B , K3C , K3D } , \
{ K40 , K41 , K42 , KC_NO , KC_NO , K45 , KC_NO , KC_NO , KC_NO , K49 , K4A , K4B , K4C , K4D } \
{ K20 , K21 , K22 , K23 , K24 , K25 , K26 , K27 , K28 , K29 , K2A , K2B , ___ , K2D } , \
{ K30 , ___ , K32 , K33 , K34 , K35 , K36 , K37 , K38 , K39 , K3A , K3B , K3C , K3D } , \
{ K40 , K41 , K42 , ___ , ___ , K45 , ___ , ___ , ___ , K49 , K4A , K4B , K4C , K4D } \
}