 546f5f2c4f
			
		
	
	
		546f5f2c4f
		
			
		
	
	
	
	
		
			
			* error log cleanup: 40percentclub/25 40percentclub/25: Claims to support a community layout that does not exist: ortho_5x5 * error log cleanup: 40percentclub/4x4 ☒ 40percentclub/4x4: Claims to support a community layout that does not exist: ortho_4x8 ☒ 40percentclub/4x4: Claims to support a community layout that does not exist: ortho_4x16 * error log cleanup: 40percentclub/5x5 ☒ 40percentclub/5x5: Claims to support a community layout that does not exist: ortho_5x5 * error log cleanup: 40percentclub/nori ☒ 40percentclub/nori: Claims to support a community layout that does not exist: ortho_4x8 * error log cleanup: barracuda ☒ barracuda: Claims to support a community layout that does not exist: ortho_3x11 * error log cleanup: bpiphany/frosty_flake ☒ keyboards/bpiphany/frosty_flake/frosty_flake.h: LAYOUT_tkl_ansi: Nested layout macro detected. Matrix data not available! * error log cleanup: bpiphany/pegasushoof/2013 ☒ keyboards/bpiphany/pegasushoof/2013/2013.h: LAYOUT_tkl_ansi: Nested layout macro detected. Matrix data not available! * error cleanup: bpiphany/pegasushoof/2015 ☒ keyboards/bpiphany/pegasushoof/2015/2015.h: LAYOUT_tkl_ansi: Nested layout macro detected. Matrix data not available! ☒ keyboards/bpiphany/pegasushoof/2015/2015.h: LAYOUT_tkl_iso: Nested layout macro detected. Matrix data not available! * error log cleanup: 40percentclub ☒ 40percentclub/25: Claims to support a community layout that does not exist: ortho_5x10 ☒ 40percentclub/5x5: Claims to support a community layout that does not exist: ortho_5x10 * error cleanup: converter/usb_usb ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_ansi: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_iso: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_jis: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_ansi: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_iso: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_jis: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_ansi: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_iso: Nested layout macro detected. Matrix data not available! ☒ keyboards/converter/usb_usb/usb_usb.h: LAYOUT_jis: Nested layout macro detected. Matrix data not available! * error cleanup: ergo42 ☒ ergo42/rev1: Claims to support a community layout that does not exist: ortho_4x14 * error cleanup: handwired/412_64 ☒ handwired/412_64: Claims to support a community layout that does not exist: ortho_4x16 * error log cleanup: handwired/tritium_numpad ☒ handwired/tritium_numpad: Claims to support a community layout that does not exist: nontra_6x4 * error log cleanup: handwired/xealous/rev1 ☒ handwired/xealous/rev1: Claims to support a community layout that does not exist: split60 * error log cleanup: kbdfans/kbd67/rev2 ⚠ kbdfans/kbd67/rev2: info.json uses alias name LAYOUT_65_ansi_blocker_splitbs instead of LAYOUT_65_ansi_blocker_split_bs * error cleanup: keebio/nyquist ☒ keyboards/keebio/nyquist/nyquist.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available! ☒ keyboards/keebio/nyquist/nyquist.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available! ☒ keyboards/keebio/nyquist/nyquist.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available! * error cleanup: kindakeyboards/conone65 ☒ kindakeyboards/conone65: Claims to support a community layout that does not exist: 65_iso_split_bs * error cleanup: latinpadble ☒ latinpadble: Claims to support a community layout that does not exist: pad * error cleanup: masterworks/classy_tkl/rev_a ☒ masterworks/classy_tkl/rev_a: Claims to support a community layout that does not exist: tkl_ansi_wkl * error cleanup: meira ⚠ meira/featherble: info.json uses alias name LAYOUT_ortho_4x12 instead of LAYOUT ⚠ meira/promicro: info.json uses alias name LAYOUT_ortho_4x12 instead of LAYOUT * error cleanup: nopunin10did/jabberwocky ⚠ nopunin10did/jabberwocky: MANUFACTURER in config.h is overwriting manufacturer in info.json * error cleanup: ok60 ☒ ok60: Claims to support a community layout that does not exist: 60_ansi_split_bksp_rshift * error cleanup: ok60 ☒ ok60: Claims to support a community layout that does not exist: 60_ansi_split_bksp_rshift * error cleanup: planck ☒ keyboards/planck/ez/ez.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available! ☒ keyboards/planck/ez/ez.h: LAYOUT_ortho_4x12: Nested layout macro detected. Matrix data not available! ⚠ planck/thk: DEBOUNCE in config.h is overwriting debounce in info.json ⚠ planck/thk: DEVICE_VER in config.h is overwriting usb.device_ver in info.json ⚠ planck/thk: DIODE_DIRECTION in config.h is overwriting diode_direction in info.json ⚠ planck/thk: MANUFACTURER in config.h is overwriting manufacturer in info.json ⚠ planck/thk: PRODUCT_ID in config.h is overwriting usb.pid in info.json ⚠ planck/thk: VENDOR_ID in config.h is overwriting usb.vid in info.json ⚠ planck/thk: QMK_ESC_OUTPUT in config.h is overwriting qmk_lufa_bootloader.esc_output in info.json ⚠ planck/thk: QMK_ESC_INPUT in config.h is overwriting qmk_lufa_bootloader.esc_input in info.json ⚠ planck/thk: QMK_LED in config.h is overwriting qmk_lufa_bootloader.led in info.json ⚠ planck/thk: QMK_SPEAKER in config.h is overwriting qmk_lufa_bootloader.speaker in info.json ⚠ planck/thk: Matrix pins are specified in both info.json and config.h, the config.h values win. ⚠ planck/thk: LAYOUTS in rules.mk is overwriting community_layouts in info.json ⚠ planck/thk: Feature mousekey is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature extrakey is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature console is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature command is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature sleep_led is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature nkro is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature backlight is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature rgblight is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature bluetooth is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature audio is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature encoder is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature dip_switch is specified in both info.json and rules.mk, the rules.mk value wins. ⚠ planck/thk: Feature bootmagic_lite is specified in both info.json and rules.mk, the rules.mk value wins. * error cleanup: primekb/prime_m ☒ primekb/prime_m: Claims to support a community layout that does not exist: ortho_5x6 * error cleanup: rgbkb/sol/rev2 ⚠ rgbkb/sol/rev2: RGBLED_NUM->rgblight.led_count: invalid literal for int() with base 10: '(BACKLIGHT_LEDS + FULLHAND_LEDS)' * error log cleanup: shk9 ☒ shk9: Claims to support a community layout that does not exist: ortho_3x3 * error log cleanup: sowbug ⚠ sowbug/68keys: RGBLED_NUM->rgblight.led_count: invalid literal for int() with base 10: 'DRIVER_LED_TOTAL' ⚠ sowbug/ansi_tkl: RGBLED_NUM->rgblight.led_count: invalid literal for int() with base 10: '(DRIVER_LED_TOTAL)' * error log cleanup: torn ☒ torn: Claims to support a community layout that does not exist: split_3x6_4 * error cleanup: ymdk/np24/u4rgb6 ☒ ymdk/np24/u4rgb6: Claims to support a community layout that does not exist: ortho_4x6 * error cleanup: masterworks/classy_tkl/rev_a ☒ masterworks/classy_tkl/rev_a: Claims to support a community layout that does not exist: tkl_iso_wkl
		
			
				
	
	
		
			82 lines
		
	
	
	
		
			7.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
	
		
			7.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
| Copyright 2016 Daniel Svensson <dsvensson@gmail.com>
 | |
| 
 | |
| This program is free software: you can redistribute it and/or modify
 | |
| it under the terms of the GNU General Public License as published by
 | |
| the Free Software Foundation, either version 2 of the License, or
 | |
| (at your option) any later version.
 | |
| 
 | |
| This program is distributed in the hope that it will be useful,
 | |
| but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| GNU General Public License for more details.
 | |
| 
 | |
| You should have received a copy of the GNU General Public License
 | |
| along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | |
| */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include "matrix.h"
 | |
| #include "quantum.h"
 | |
| 
 | |
| #define LAYOUT( \
 | |
|     KG6,      KH4, KI4, KI2, KI6, KP5, KL6, KM2, KM4, KO4, KO5, KO6, KO0,   KN5, KN7, KP7, \
 | |
|     KG4, KG5, KH5, KI5, KJ5, KJ4, KK4, KK5, KL5, KM5, KF5, KF4, KL4, KO2,   KR4, KC4, KE4, \
 | |
|     KG2, KG7, KH7, KI7, KJ7, KJ2, KK2, KK7, KL7, KM7, KF7, KF2, KL2, KO3,   KQ4, KC5, KE5, \
 | |
|     KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6,      KO1,                  \
 | |
|     KB2, KH6, KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0,      KB3,        KC6,      \
 | |
|     KP4, KD2, KN6,                KQ6,                KN0, KA3, KM0, KP1,   KC0, KQ0, KR0    \
 | |
|     ) { /*         00-A    01-B    02-C    03-D    04-E    05-F    06-G    07-H    08-I    09-J    10-K    11-L    12-M    13-N    14-O    15-P    16-Q    17-R */  \
 | |
|         /* 0 */  { KC_NO , KC_NO , KC0   , KC_NO , KC_NO , KF0   , KC_NO , KC_NO , KC_NO , KJ0   , KK0   , KC_NO , KM0   , KN0   , KO0   , KC_NO , KQ0   , KR0   }, \
 | |
|         /* 1 */  { KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KG1   , KH1   , KI1   , KJ1   , KK1   , KL1   , KM1   , KC_NO , KO1   , KP1   , KC_NO , KC_NO }, \
 | |
|         /* 2 */  { KC_NO , KB2   , KC_NO , KD2   , KC_NO , KF2   , KG2   , KH2   , KI2   , KJ2   , KK2   , KL2   , KM2   , KC_NO , KO2   , KC_NO , KC_NO , KC_NO }, \
 | |
|         /* 3 */  { KA3   , KB3   , KC_NO , KC_NO , KC_NO , KF3   , KG3   , KH3   , KI3   , KJ3   , KK3   , KL3   , KM3   , KC_NO , KO3   , KC_NO , KC_NO , KC_NO }, \
 | |
|         /* 4 */  { KC_NO , KC_NO , KC4   , KC_NO , KE4   , KF4   , KG4   , KH4   , KI4   , KJ4   , KK4   , KL4   , KM4   , KC_NO , KO4   , KP4   , KQ4   , KR4   }, \
 | |
|         /* 5 */  { KC_NO , KC_NO , KC5   , KC_NO , KE5   , KF5   , KG5   , KH5   , KI5   , KJ5   , KK5   , KL5   , KM5   , KN5   , KO5   , KP5   , KC_NO , KC_NO }, \
 | |
|         /* 6 */  { KC_NO , KC_NO , KC6   , KC_NO , KC_NO , KF6   , KG6   , KH6   , KI6   , KJ6   , KK6   , KL6   , KC_NO , KN6   , KO6   , KC_NO , KQ6   , KC_NO }, \
 | |
|         /* 7 */  { KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KF7   , KG7   , KH7   , KI7   , KJ7   , KK7   , KL7   , KM7   , KN7   , KC_NO , KP7   , KC_NO , KC_NO }  \
 | |
|     }
 | |
| 
 | |
| #define LAYOUT_tkl_ansi( \
 | |
|     KG6,      KH4, KI4, KI2, KI6, KP5, KL6, KM2, KM4, KO4, KO5, KO6, KO0,   KN5, KN7, KP7, \
 | |
|     KG4, KG5, KH5, KI5, KJ5, KJ4, KK4, KK5, KL5, KM5, KF5, KF4, KL4, KO2,   KR4, KC4, KE4, \
 | |
|     KG2, KG7, KH7, KI7, KJ7, KJ2, KK2, KK7, KL7, KM7, KF7, KF2, KL2, KO3,   KQ4, KC5, KE5, \
 | |
|     KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6,      KO1,                  \
 | |
|     KB2,      KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0,      KB3,        KC6,      \
 | |
|     KP4, KD2, KN6,                KQ6,                KN0, KA3, KM0, KP1,   KC0, KQ0, KR0  \
 | |
|     ) { /*         00-A    01-B    02-C    03-D    04-E    05-F    06-G    07-H    08-I    09-J    10-K    11-L    12-M    13-N    14-O    15-P    16-Q    17-R */  \
 | |
|         /* 0 */  { KC_NO , KC_NO , KC0   , KC_NO , KC_NO , KF0   , KC_NO , KC_NO , KC_NO , KJ0   , KK0   , KC_NO , KM0   , KN0   , KO0   , KC_NO , KQ0   , KR0   }, \
 | |
|         /* 1 */  { KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KG1   , KH1   , KI1   , KJ1   , KK1   , KL1   , KM1   , KC_NO , KO1   , KP1   , KC_NO , KC_NO }, \
 | |
|         /* 2 */  { KC_NO , KB2   , KC_NO , KD2   , KC_NO , KF2   , KG2   , KH2   , KI2   , KJ2   , KK2   , KL2   , KM2   , KC_NO , KO2   , KC_NO , KC_NO , KC_NO }, \
 | |
|         /* 3 */  { KA3   , KB3   , KC_NO , KC_NO , KC_NO , KF3   , KG3   , KH3   , KI3   , KJ3   , KK3   , KL3   , KM3   , KC_NO , KO3   , KC_NO , KC_NO , KC_NO }, \
 | |
|         /* 4 */  { KC_NO , KC_NO , KC4   , KC_NO , KE4   , KF4   , KG4   , KH4   , KI4   , KJ4   , KK4   , KL4   , KM4   , KC_NO , KO4   , KP4   , KQ4   , KR4   }, \
 | |
|         /* 5 */  { KC_NO , KC_NO , KC5   , KC_NO , KE5   , KF5   , KG5   , KH5   , KI5   , KJ5   , KK5   , KL5   , KM5   , KN5   , KO5   , KP5   , KC_NO , KC_NO }, \
 | |
|         /* 6 */  { KC_NO , KC_NO , KC6   , KC_NO , KC_NO , KF6   , KG6   , KC_NO , KI6   , KJ6   , KK6   , KL6   , KC_NO , KN6   , KO6   , KC_NO , KQ6   , KC_NO }, \
 | |
|         /* 7 */  { KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KF7   , KG7   , KH7   , KI7   , KJ7   , KK7   , KL7   , KM7   , KN7   , KC_NO , KP7   , KC_NO , KC_NO }  \
 | |
|     }
 | |
| 
 | |
| #define LAYOUT_tkl_jis( \
 | |
|     KG6,      KH4, KI4, KI2, KI6, KP5, KL6, KM2, KM4, KO4, KO5, KO6, KO0,        KN5, KN7, KP7, \
 | |
|     KG4, KG5, KH5, KI5, KJ5, KJ4, KK4, KK5, KL5, KM5, KF5, KF4, KL4, KO7, KO2,   KR4, KC4, KE4, \
 | |
|     KG2, KG7, KH7, KI7, KJ7, KJ2, KK2, KK7, KL7, KM7, KF7, KF2, KL2,             KQ4, KC5, KE5, \
 | |
|     KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6, KO3, KO1,                       \
 | |
|     KB2,      KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0, KL0, KB3,             KC6,      \
 | |
|     KP4, KD2, KN6, KG0,           KQ6,           KH0, KI0, KN0, KM0, KP1,        KC0, KQ0, KR0  \
 | |
|     ) { /*         00-A  01-B  02-C  03-D  04-E  05-F  06-G  07-H  08-I  09-J  10-K  11-L  12-M  13-N  14-O  15-P  16-Q  17-R */ \
 | |
|         /* 0 */  { KC_NO,  KC_NO,  KC0,    KC_NO,  KC_NO,  KF0,    KG0,    KH0,    KI0,    KJ0,    KK0,    KL0,    KM0,    KN0,    KO0,    KC_NO,  KQ0,    KR0   }, \
 | |
|         /* 1 */  { KC_NO,  KC_NO,  KC_NO,  KC_NO,  KC_NO,  KC_NO,  KG1,    KH1,    KI1,    KJ1,    KK1,    KL1,    KM1,    KC_NO,  KO1,    KP1,    KC_NO,  KC_NO }, \
 | |
|         /* 2 */  { KC_NO,  KB2,    KC_NO,  KD2,    KC_NO,  KF2,    KG2,    KH2,    KI2,    KJ2,    KK2,    KL2,    KM2,    KC_NO,  KO2,    KC_NO,  KC_NO,  KC_NO }, \
 | |
|         /* 3 */  { KC_NO,  KB3,    KC_NO,  KC_NO,  KC_NO,  KF3,    KG3,    KH3,    KI3,    KJ3,    KK3,    KL3,    KM3,    KC_NO,  KO3,    KC_NO,  KC_NO,  KC_NO }, \
 | |
|         /* 4 */  { KC_NO,  KC_NO,  KC4,    KC_NO,  KE4,    KF4,    KG4,    KH4,    KI4,    KJ4,    KK4,    KL4,    KM4,    KC_NO,  KO4,    KP4,    KQ4,    KR4   }, \
 | |
|         /* 5 */  { KC_NO,  KC_NO,  KC5,    KC_NO,  KE5,    KF5,    KG5,    KH5,    KI5,    KJ5,    KK5,    KL5,    KM5,    KN5,    KO5,    KP5,    KC_NO,  KC_NO }, \
 | |
|         /* 6 */  { KC_NO,  KC_NO,  KC6,    KC_NO,  KC_NO,  KF6,    KG6,    KC_NO,  KI6,    KJ6,    KK6,    KL6,    KC_NO,  KN6,    KO6,    KC_NO,  KQ6,    KC_NO }, \
 | |
|         /* 7 */  { KC_NO,  KC_NO,  KC_NO,  KC_NO,  KC_NO,  KF7,    KG7,    KH7,    KI7,    KJ7,    KK7,    KL7,    KK7,    KL7,    KO7,    KP7,    KC_NO,  KC_NO }  \
 | |
| }
 | |
| 
 | |
| inline void ph_caps_led_on(void)  { DDRC |=  (1<<6); PORTC &= ~(1<<6); }
 | |
| inline void ph_caps_led_off(void) { DDRC &= ~(1<<6); PORTC &= ~(1<<6); }
 | |
| 
 | |
| inline void ph_sclk_led_on(void)  { DDRC |=  (1<<5); PORTC &= ~(1<<5); }
 | |
| inline void ph_sclk_led_off(void) { DDRC &= ~(1<<5); PORTC &= ~(1<<5); }
 | |
| 
 |