mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-11-03 23:02:34 +01:00 
			
		
		
		
	Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware
This commit is contained in:
		
						commit
						2d655b1830
					
				@ -1,6 +1,6 @@
 | 
				
			|||||||
<!-- -*- mode: markdown; fill-column: 8192 -*- -->
 | 
					<!-- -*- mode: markdown; fill-column: 8192 -*- -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Mnemes Swedish Bonaza
 | 
					Mnemes Swedish Bonanza
 | 
				
			||||||
=======================
 | 
					=======================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
My Layout in process, most of the code is shamelessly stolen from [algernons][algernon] excellent layout
 | 
					My Layout in process, most of the code is shamelessly stolen from [algernons][algernon] excellent layout
 | 
				
			||||||
@ -33,6 +33,8 @@ It's for Windows (current work forces me to) and Swedish (matter of birth) so ym
 | 
				
			|||||||
    - `LEAD s l` : `λ`.
 | 
					    - `LEAD s l` : `λ`.
 | 
				
			||||||
    - `LEAD s s` : `¯\_(ツ)_/¯`
 | 
					    - `LEAD s s` : `¯\_(ツ)_/¯`
 | 
				
			||||||
    - `LEAD s f` : `凸(ツ)凸`
 | 
					    - `LEAD s f` : `凸(ツ)凸`
 | 
				
			||||||
 | 
					    - `LEAD u l` : Set unicode input mode to linux.
 | 
				
			||||||
 | 
					    - `LEAD s w` : Set unicode input mode to windows.
 | 
				
			||||||
    - `LEAD a *` : Application switching based on position in start menu. Very specific to my computer.
 | 
					    - `LEAD a *` : Application switching based on position in start menu. Very specific to my computer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
#define ONESHOT_TIMEOUT 3000
 | 
					#define ONESHOT_TIMEOUT 3000
 | 
				
			||||||
#define TAPPING_TERM 200
 | 
					#define TAPPING_TERM 200
 | 
				
			||||||
#define PREVENT_STUCK_MODIFIERS
 | 
					#define PREVENT_STUCK_MODIFIERS
 | 
				
			||||||
 | 
					#define FORCE_NKRO
 | 
				
			||||||
#define LEADER_TIMEOUT 1000
 | 
					#define LEADER_TIMEOUT 1000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "../../config.h"
 | 
					#include "../../config.h"
 | 
				
			||||||
 | 
				
			|||||||
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 448 KiB After Width: | Height: | Size: 446 KiB  | 
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 420 KiB After Width: | Height: | Size: 415 KiB  | 
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 423 KiB After Width: | Height: | Size: 423 KiB  | 
@ -7,43 +7,47 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 *WINDOWS SWEDISH
 | 
					 *WINDOWS SWEDISH
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#define KN_HALF	KC_GRV          // 1/2
 | 
					 /*
 | 
				
			||||||
#define KN_PLUS	KC_MINS         // +
 | 
					  *WINDOWS SWEDISH
 | 
				
			||||||
#define KN_ACUT	KC_EQL          // ´
 | 
					  */
 | 
				
			||||||
#define KN_AO	  KC_LBRC         // Å
 | 
					 #define KN_HALF KC_GRV          // 1/2
 | 
				
			||||||
#define KN_UMLA	KC_RBRC         // ¨
 | 
					 #define KN_PLUS KC_MINS         // +
 | 
				
			||||||
#define KN_OE	  KC_SCLN         // Ö
 | 
					 #define KN_ACUT KC_EQL          // ´
 | 
				
			||||||
#define KN_AE	  KC_QUOT         // Ä
 | 
					 #define KN_AO	 KC_LBRC         // Å
 | 
				
			||||||
#define	KN_QUOT	KC_NUHS         // '
 | 
					 #define KN_UMLA KC_RBRC         // ¨
 | 
				
			||||||
#define KN_LABK	KC_NUBS         // <
 | 
					 #define KN_OE	 KC_SCLN         // Ö
 | 
				
			||||||
#define KN_MINS KC_SLSH         // -
 | 
					 #define KN_AE	 KC_QUOT         // Ä
 | 
				
			||||||
#define KN_EXLM LSFT(KC_1)      // !
 | 
					 #define KN_QUOT KC_NUHS         // '
 | 
				
			||||||
#define KN_DQT  LSFT(KC_2)      // "
 | 
					 #define KN_LABK KC_NUBS         // <
 | 
				
			||||||
#define KN_AT   RALT(KC_2)      // @
 | 
					 #define KN_MINS KC_SLSH         // -
 | 
				
			||||||
#define KN_HASH LSFT(KC_3)      // #
 | 
					 #define KN_EXLM LSFT(KC_1)      // !
 | 
				
			||||||
#define KN_DLR  RALT(KC_4)      // $
 | 
					 #define KN_DQT  LSFT(KC_2)      // "
 | 
				
			||||||
#define KN_PERC LSFT(KC_5)      // %
 | 
					 #define KN_AT   RALT(KC_2)      // @
 | 
				
			||||||
#define KN_AMPR LSFT(KC_6)      // &
 | 
					 #define KN_HASH LSFT(KC_3)      // #
 | 
				
			||||||
#define KN_SLSH LSFT(KC_7)      // /
 | 
					 #define KN_EUR  LSFT(KC_4)      // €
 | 
				
			||||||
#define KN_LPRN LSFT(KC_8)      // (
 | 
					 #define KN_DLR  RALT(KC_4)      // $
 | 
				
			||||||
#define KN_RPRN LSFT(KC_9)      // )
 | 
					 #define KN_PERC LSFT(KC_5)      // %
 | 
				
			||||||
#define KN_EQL  LSFT(KC_0)      // =
 | 
					 #define KN_AMPR LSFT(KC_6)      // &
 | 
				
			||||||
#define KN_UNDS LSFT(KN_MINS)   // _
 | 
					 #define KN_SLSH LSFT(KC_7)      // /
 | 
				
			||||||
#define KN_QUES LSFT(KN_PLUS)   // ?
 | 
					 #define KN_LPRN LSFT(KC_8)      // (
 | 
				
			||||||
#define KN_GRAV LSFT(KN_ACUT)   // `
 | 
					 #define KN_RPRN LSFT(KC_9)      // )
 | 
				
			||||||
#define KN_LCBR RALT(KC_7)      // {
 | 
					 #define KN_EQL  LSFT(KC_0)      // =
 | 
				
			||||||
#define KN_RCBR RALT(KC_0)      // }
 | 
					 #define KN_UNDS LSFT(KN_MINS)   // _
 | 
				
			||||||
#define KN_LBRC RALT(KC_8)      // [
 | 
					 #define KN_QUES LSFT(KN_PLUS)   // ?
 | 
				
			||||||
#define KN_RBRC RALT(KC_9)      // ]
 | 
					 #define KN_GRAV LSFT(KN_ACUT)   // `
 | 
				
			||||||
#define KN_RABK LSFT(KN_LABK)   // <
 | 
					 #define KN_LCBR RALT(KC_7)      // {
 | 
				
			||||||
#define KN_COLN LSFT(KC_DOT)    // :
 | 
					 #define KN_RCBR RALT(KC_0)      // }
 | 
				
			||||||
#define KN_SCLN LSFT(KC_COMM)   // :
 | 
					 #define KN_LBRC RALT(KC_8)      // [
 | 
				
			||||||
#define KN_PIPE RALT(KN_LABK)   // |
 | 
					 #define KN_RBRC RALT(KC_9)      // ]
 | 
				
			||||||
#define KN_QUES LSFT(KN_PLUS)   // ?
 | 
					 #define KN_RABK LSFT(KN_LABK)   // <
 | 
				
			||||||
#define KN_CIRC LSFT(KN_UMLA)   // ^
 | 
					 #define KN_COLN LSFT(KC_DOT)    // :
 | 
				
			||||||
#define KN_ASTR LSFT(KN_QUOT)   // *
 | 
					 #define KN_SCLN LSFT(KC_COMM)   // :
 | 
				
			||||||
#define KN_TILD RALT(KN_UMLA)   // ~
 | 
					 #define KN_PIPE RALT(KN_LABK)   // |
 | 
				
			||||||
#define KN_BSLS RALT(KN_PLUS)   //
 | 
					 #define KN_QUES LSFT(KN_PLUS)   // ?
 | 
				
			||||||
 | 
					 #define KN_CIRC LSFT(KN_UMLA)   // ^
 | 
				
			||||||
 | 
					 #define KN_ASTR LSFT(KN_QUOT)   // *
 | 
				
			||||||
 | 
					 #define KN_TILD RALT(KN_UMLA)   // ~
 | 
				
			||||||
 | 
					 #define KN_BSLS RALT(KN_PLUS)   //
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define OSM_LCTL OSM(MOD_LCTL)
 | 
					#define OSM_LCTL OSM(MOD_LCTL)
 | 
				
			||||||
#define OSM_LALT OSM(MOD_LALT)
 | 
					#define OSM_LALT OSM(MOD_LALT)
 | 
				
			||||||
@ -85,32 +89,26 @@ enum {
 | 
				
			|||||||
  TD_EQ
 | 
					  TD_EQ
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//Custom keycodes
 | 
					 | 
				
			||||||
enum {
 | 
					 | 
				
			||||||
  PLACEHOLDER = SAFE_RANGE
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//State and timers
 | 
					//State and timers
 | 
				
			||||||
uint16_t kf_timers[12];
 | 
					uint16_t kf_timers[12];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  [BASE] = {
 | 
					  [BASE] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   { M(KF_11) ,M(KF_1)  ,M(KF_2)  ,M(KF_3)  ,M(KF_4) ,M(KF_5)         ,KC_NO   ,M(KF_6)        ,M(KF_7) ,M(KF_8) ,M(KF_9) ,M(KF_10) ,M(KF_12) },
 | 
					   { M(KF_11) ,M(KF_1)  ,M(KF_2)  ,M(KF_3)  ,M(KF_4) ,M(KF_5)  ,KC_NO   ,M(KF_6) ,M(KF_7) ,M(KF_8) ,M(KF_9) ,M(KF_10) ,M(KF_12) },
 | 
				
			||||||
   { KC_TAB   ,KC_Q     ,KC_W     ,KC_E     ,KC_R    ,KC_T            ,KC_NO   ,KC_Y           ,KC_U    ,KC_I    ,KC_O    ,KC_P     ,KN_AO },
 | 
					   { KC_TAB   ,KC_Q     ,KC_W     ,KC_E     ,KC_R    ,KC_T     ,KC_NO   ,KC_Y    ,KC_U    ,KC_I    ,KC_O    ,KC_P     ,KN_AO },
 | 
				
			||||||
   { OSM_LCTL ,KC_A     ,KC_S     ,KC_D     ,KC_F    ,KC_G            ,KC_NO   ,KC_H           ,KC_J    ,KC_K    ,KC_L    ,KN_OE    ,KN_AE },
 | 
					   { OSM_LCTL ,KC_A     ,KC_S     ,KC_D     ,KC_F    ,KC_G     ,KC_NO   ,KC_H    ,KC_J    ,KC_K    ,KC_L    ,KN_OE    ,KN_AE },
 | 
				
			||||||
   { OSM_LSFT ,KC_Z     ,KC_X     ,KC_C     ,KC_V    ,KC_B            ,KC_DELT ,KC_N           ,KC_M    ,KC_COMM ,KC_DOT  ,KN_MINS  ,OSM_LSFT },
 | 
					   { OSM_LSFT ,KC_Z     ,KC_X     ,KC_C     ,KC_V    ,KC_B     ,KC_DELT ,KC_N    ,KC_M    ,KC_COMM ,KC_DOT  ,KN_MINS  ,OSM_LSFT },
 | 
				
			||||||
   { MO(NAV)  ,OSM_LCTL ,OSM_LALT ,KC_LGUI  ,KC_SPC  ,LT(SYM,KC_BSPC) ,KC_HYP  ,LT(SYM,KC_ENT) ,KC_SPC  ,KC_LEAD ,KC_LALT ,KC_LCTRL ,MO(NAV) }
 | 
					   { MO(NAV)  ,OSM_LCTL ,OSM_LALT ,KC_LGUI  ,MO(SYM) ,KC_BSPC  ,KC_ENT  ,KC_SPC  ,MO(SYM) ,KC_LEAD ,KC_LALT ,KC_LCTRL ,KC_HYP }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 },
 | 
					 },
 | 
				
			||||||
  [NAV] = {
 | 
					  [NAV] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   { KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS },
 | 
					   { KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS },
 | 
				
			||||||
   { KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_NO   ,KC_PGUP  ,KC_HOME  ,KC_UP    ,KC_END   ,KC_TRNS  ,KC_TRNS },
 | 
					   { KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_NO   ,KC_HOME  ,KC_PGDN  ,KC_PGUP  ,KC_END   ,KC_TRNS  ,KC_TRNS },
 | 
				
			||||||
   { KC_TRNS  ,KC_LSFT  ,KC_LCTL  ,KC_LALT  ,KC_L  ,KC_TRNS  ,KC_NO   ,KC_PGDN  ,KC_LEFT  ,KC_DOWN  ,KC_RIGHT ,KC_TRNS  ,KC_TRNS },
 | 
					   { KC_TRNS  ,KC_LSFT  ,KC_LCTL  ,KC_LALT  ,KC_L     ,KC_TRNS  ,KC_NO   ,KC_LEFT  ,KC_DOWN  ,KC_UP    ,KC_RIGHT ,KC_TRNS  ,KC_TRNS },
 | 
				
			||||||
   { KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS },
 | 
					   { KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS },
 | 
				
			||||||
   { KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_VOLD  ,KC_VOLU }
 | 
					   { KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_VOLD  ,KC_VOLU }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -119,8 +117,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
   { KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,TD(TD_EQ) ,KC_NO   ,TD(TD_FUN) ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS },
 | 
					   { KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,TD(TD_EQ) ,KC_NO   ,TD(TD_FUN) ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS },
 | 
				
			||||||
   { KC_TRNS  ,KN_LABK  ,KN_RABK  ,KN_LCBR  ,KN_RCBR  ,KN_PLUS   ,KC_NO   ,KN_AT      ,KN_DQT   ,KN_QUOT  ,KN_GRAV  ,KN_SLSH  ,KC_TRNS },
 | 
					   { KC_TRNS  ,KN_LABK  ,KN_RABK  ,KN_LCBR  ,KN_RCBR  ,KN_PLUS   ,KC_NO   ,KN_AT      ,KN_DQT   ,KN_QUOT  ,KN_GRAV  ,KN_SLSH  ,KC_TRNS },
 | 
				
			||||||
   { KC_TRNS  ,KN_EXLM  ,KN_EQL   ,KN_LPRN  ,KN_RPRN  ,KN_MINS   ,KC_NO   ,KN_UNDS    ,KN_SCLN  ,KN_COLN  ,KN_AMPR  ,KN_PIPE  ,KC_TRNS },
 | 
					   { KC_TRNS  ,KN_EXLM  ,KN_EQL   ,KN_LPRN  ,KN_RPRN  ,KN_MINS   ,KC_NO   ,KN_UNDS    ,KN_CIRC  ,KN_DLR   ,KN_AMPR  ,KN_PIPE  ,KC_TRNS },
 | 
				
			||||||
   { KC_TRNS  ,KN_DLR   ,KN_PERC  ,KN_LBRC  ,KN_RBRC  ,KN_ASTR   ,KC_TRNS ,KN_HASH    ,KC_COMM  ,KC_DOT   ,KN_QUES  ,KN_BSLS  ,KC_TRNS },
 | 
					   { KC_TRNS  ,KN_EUR   ,KN_PERC  ,KN_LBRC  ,KN_RBRC  ,KN_ASTR   ,KC_TRNS ,KN_HASH    ,KN_SCLN  ,KN_COLN  ,KN_QUES  ,KN_BSLS  ,KC_TRNS },
 | 
				
			||||||
   { KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS   ,KC_TRNS ,KC_TRNS    ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS }
 | 
					   { KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS   ,KC_TRNS ,KC_TRNS    ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS  ,KC_TRNS }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@ -302,6 +300,15 @@ void matrix_scan_user(void) {
 | 
				
			|||||||
      register_code (KC_LGUI); TAP_ONCE (KC_7); unregister_code (KC_LGUI);
 | 
					      register_code (KC_LGUI); TAP_ONCE (KC_7); unregister_code (KC_LGUI);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    SEQ_TWO_KEYS (KC_U, KC_L) {
 | 
				
			||||||
 | 
					      set_unicode_input_mode(UC_LNX);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    SEQ_TWO_KEYS (KC_U, KC_W) {
 | 
				
			||||||
 | 
					      set_unicode_input_mode(UC_WINC);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    SEQ_TWO_KEYS (KC_S, KC_S) {
 | 
					    SEQ_TWO_KEYS (KC_S, KC_S) {
 | 
				
			||||||
      // ¯\_(ツ)_/¯
 | 
					      // ¯\_(ツ)_/¯
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										3
									
								
								keyboards/gonnerd/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								keyboards/gonnerd/Makefile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					ifndef MAKEFILE_INCLUDED
 | 
				
			||||||
 | 
						include ../../Makefile
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
							
								
								
									
										43
									
								
								keyboards/gonnerd/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								keyboards/gonnerd/config.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,43 @@
 | 
				
			|||||||
 | 
					#ifndef CONFIG_H
 | 
				
			||||||
 | 
					#define CONFIG_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "config_common.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* USB Device descriptor parameter */
 | 
				
			||||||
 | 
					#define VENDOR_ID       0xFEED
 | 
				
			||||||
 | 
					#define PRODUCT_ID      0x6060
 | 
				
			||||||
 | 
					#define DEVICE_VER      0x0001
 | 
				
			||||||
 | 
					#define MANUFACTURER    GON
 | 
				
			||||||
 | 
					#define PRODUCT         NerD
 | 
				
			||||||
 | 
					#define DESCRIPTION     QMK port for the GON Nerd PCB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* key matrix size */
 | 
				
			||||||
 | 
					#define MATRIX_ROWS 10
 | 
				
			||||||
 | 
					#define MATRIX_COLS 9
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* backlight */
 | 
				
			||||||
 | 
					#define BACKLIGHT_PIN B7
 | 
				
			||||||
 | 
					#define BACKLIGHT_LEVELS 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* matrix pins */
 | 
				
			||||||
 | 
					#define MATRIX_ROW_PINS { B4, E2, F4, F7, F1, F6, C6, F5, D7, C7 }
 | 
				
			||||||
 | 
					#define MATRIX_COL_PINS { E6, B0, B1, B2, B3, F0, D0, D5, D1 }
 | 
				
			||||||
 | 
					#define UNUSED_PINS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* COL2ROW or ROW2COL */
 | 
				
			||||||
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 | 
				
			||||||
 | 
					#define DEBOUNCING_DELAY 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 | 
				
			||||||
 | 
					#define LOCKING_SUPPORT_ENABLE
 | 
				
			||||||
 | 
					/* Locking resynchronize hack */
 | 
				
			||||||
 | 
					#define LOCKING_RESYNC_ENABLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* key combination for magic key command */
 | 
				
			||||||
 | 
					#define IS_COMMAND() ( \
 | 
				
			||||||
 | 
					    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										1
									
								
								keyboards/gonnerd/gonnerd.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/gonnerd/gonnerd.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					#include "gonnerd.h"
 | 
				
			||||||
							
								
								
									
										42
									
								
								keyboards/gonnerd/gonnerd.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								keyboards/gonnerd/gonnerd.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					#ifndef GONNERD_H
 | 
				
			||||||
 | 
					#define GONNERD_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "quantum.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define KEYMAP_TKL( \
 | 
				
			||||||
 | 
					        K08,      K09, K18, K19, K28, K29, K38, K39, K48, K49, K58, K59, K68,    K69, K88, K89, \
 | 
				
			||||||
 | 
					        K00, K01, K10, K11, K20, K21, K30, K31, K40, K41, K50, K51, K60, K61,    K80, K81, K84, \
 | 
				
			||||||
 | 
					        K02, K03, K12, K13, K22, K23, K32, K33, K42, K43, K52, K53, K62, K63,    K82, K83, K85, \
 | 
				
			||||||
 | 
					        K04, K14, K15, K24, K25, K34, K35, K44, K45, K54, K55, K64, K71, K65,                   \
 | 
				
			||||||
 | 
					        K07, K79, K16, K17, K26, K27, K36, K37, K46, K47, K56, K57, K66, K67,         K86,      \
 | 
				
			||||||
 | 
					        K06, K05, K78,                K70,                K72, K73, K74, K75,    K76, K77, K87  \
 | 
				
			||||||
 | 
					) \
 | 
				
			||||||
 | 
					{ \
 | 
				
			||||||
 | 
					      {  K00, K10, K20, K30, K40, K50, K60, K70, K80 }, \
 | 
				
			||||||
 | 
					      {  K01, K11, K21, K31, K41, K51, K61, K71, K81 }, \
 | 
				
			||||||
 | 
					      {  K02, K12, K22, K32, K42, K52, K62, K72, K82 }, \
 | 
				
			||||||
 | 
					      {  K03, K13, K23, K33, K43, K53, K63, K73, K83 }, \
 | 
				
			||||||
 | 
					      {  K04, K14, K24, K34, K44, K54, K64, K74, K84 }, \
 | 
				
			||||||
 | 
					      {  K05, K15, K25, K35, K45, K55, K65, K75, K85 }, \
 | 
				
			||||||
 | 
					      {  K06, K16, K26, K36, K46, K56, K66, K76, K86 }, \
 | 
				
			||||||
 | 
					      {  K07, K17, K27, K37, K47, K57, K67, K77, K87 }, \
 | 
				
			||||||
 | 
					      {  K08, K18, K28, K38, K48, K58, K68, K78, K88 }, \
 | 
				
			||||||
 | 
					      {  K09, K19, K29, K39, K49, K59, K69, K79, K89 } \
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define KEYMAP_60( \
 | 
				
			||||||
 | 
					        K08, K01, K10, K11, K20, K21, K30, K31, K40, K41, K50, K51, K60, K61, \
 | 
				
			||||||
 | 
					        K02, K03, K12, K13, K22, K23, K32, K33, K42, K43, K52, K53, K62, K63, \
 | 
				
			||||||
 | 
					        K04, K14, K15, K24, K25, K34, K35, K44, K45, K54, K55, K64, K71, K65, \
 | 
				
			||||||
 | 
					        K07, K79, K16, K17, K26, K27, K36, K37, K46, K47, K56, K57, K66, K67, \
 | 
				
			||||||
 | 
					        K06, K05, K78,                K70,                K72, K73, K74, K75  \
 | 
				
			||||||
 | 
					) KEYMAP_TKL( \
 | 
				
			||||||
 | 
					        K08,          KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,  KC_NO,    KC_NO, KC_NO, KC_NO,  \
 | 
				
			||||||
 | 
					        KC_NO, K01,   K10,   K11,   K20,   K21,   K30,   K31,   K40,   K41,   K50,   K51,   K60,    K61,      KC_NO, KC_NO, KC_NO,  \
 | 
				
			||||||
 | 
					        K02,   K03,   K12,   K13,   K22,   K23,   K32,   K33,   K42,   K43,   K52,   K53,   K62,    K63,      KC_NO, KC_NO, KC_NO,  \
 | 
				
			||||||
 | 
					        K04,   K14,   K15,   K24,   K25,   K34,   K35,   K44,   K45,   K54,   K55,   K64,   K71,    K65,                            \
 | 
				
			||||||
 | 
					        K07,   K79,   K16,   K17,   K26,   K27,   K36,   K37,   K46,   K47,   K56,   K57,   K66,    K67,             KC_NO,         \
 | 
				
			||||||
 | 
					        K06,   K05,   K78,                        K70,                        K72,   K73,   K74,    K75,      KC_NO, KC_NO, KC_NO   \
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										21
									
								
								keyboards/gonnerd/keymaps/default/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								keyboards/gonnerd/keymaps/default/Makefile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					# Build Options
 | 
				
			||||||
 | 
					#   change to "no" to disable the options, or define them in the Makefile in
 | 
				
			||||||
 | 
					#   the appropriate keymap folder that will get included automatically
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration(+1000)
 | 
				
			||||||
 | 
					MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
 | 
				
			||||||
 | 
					EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
 | 
				
			||||||
 | 
					CONSOLE_ENABLE = no         # Console for debug(+400)
 | 
				
			||||||
 | 
					COMMAND_ENABLE = yes        # Commands for debug and configuration
 | 
				
			||||||
 | 
					NKRO_ENABLE = yes           # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
				
			||||||
 | 
					BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
				
			||||||
 | 
					MIDI_ENABLE = no            # MIDI controls
 | 
				
			||||||
 | 
					AUDIO_ENABLE = no           # Audio output on port C6
 | 
				
			||||||
 | 
					UNICODE_ENABLE = no         # Unicode
 | 
				
			||||||
 | 
					BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 | 
				
			||||||
 | 
					RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
 | 
				
			||||||
 | 
					SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ifndef QUANTUM_DIR
 | 
				
			||||||
 | 
						include ../../../../Makefile
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
							
								
								
									
										16
									
								
								keyboards/gonnerd/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								keyboards/gonnerd/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					#include "gonnerd.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Keymap layers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					  [0] = KEYMAP_60( /* Base */
 | 
				
			||||||
 | 
					    KC_ESC, KC_1,   KC_2,   KC_3,   KC_4,   KC_5,   KC_6,   KC_7,   KC_8,   KC_9,   KC_0,   KC_MINS,KC_EQL, KC_BSPC,\
 | 
				
			||||||
 | 
					    KC_TAB, KC_Q,   KC_W,   KC_E,   KC_R,   KC_T,   KC_Y,   KC_U,   KC_I,   KC_O,   KC_P,   KC_LBRC,KC_RBRC,KC_BSLS,\
 | 
				
			||||||
 | 
					    KC_LCTL,KC_A,   KC_S,   KC_D,   KC_F,   KC_G,   KC_H,   KC_J,   KC_K,   KC_L,   KC_SCLN,KC_QUOT,KC_NO,  KC_ENT, \
 | 
				
			||||||
 | 
					    KC_LSFT,KC_NO,  KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,KC_NO,  \
 | 
				
			||||||
 | 
					    KC_LCTL,KC_LGUI,KC_LALT,                        KC_SPC,                         KC_RALT,KC_RGUI,MO(1),  KC_RCTL),
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM fn_actions[] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										21
									
								
								keyboards/gonnerd/keymaps/mauin/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								keyboards/gonnerd/keymaps/mauin/Makefile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					# Build Options
 | 
				
			||||||
 | 
					#   change to "no" to disable the options, or define them in the Makefile in
 | 
				
			||||||
 | 
					#   the appropriate keymap folder that will get included automatically
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration(+1000)
 | 
				
			||||||
 | 
					MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
 | 
				
			||||||
 | 
					EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
 | 
				
			||||||
 | 
					CONSOLE_ENABLE = no         # Console for debug(+400)
 | 
				
			||||||
 | 
					COMMAND_ENABLE = yes        # Commands for debug and configuration
 | 
				
			||||||
 | 
					NKRO_ENABLE = yes           # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
				
			||||||
 | 
					BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
				
			||||||
 | 
					MIDI_ENABLE = no            # MIDI controls
 | 
				
			||||||
 | 
					AUDIO_ENABLE = no           # Audio output on port C6
 | 
				
			||||||
 | 
					UNICODE_ENABLE = no         # Unicode
 | 
				
			||||||
 | 
					BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 | 
				
			||||||
 | 
					RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
 | 
				
			||||||
 | 
					SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ifndef QUANTUM_DIR
 | 
				
			||||||
 | 
						include ../../../../Makefile
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
							
								
								
									
										78
									
								
								keyboards/gonnerd/keymaps/mauin/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								keyboards/gonnerd/keymaps/mauin/keymap.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,78 @@
 | 
				
			|||||||
 | 
					#include "gonnerd.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Keymap layers
 | 
				
			||||||
 | 
					#define BASE_LAYER 0
 | 
				
			||||||
 | 
					#define FUNCTION_LAYER 1
 | 
				
			||||||
 | 
					#define SYSTEM_LAYER 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Key aliases
 | 
				
			||||||
 | 
					#define __x__ KC_NO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					  /* Layer 0: Default Layer
 | 
				
			||||||
 | 
					   * ,-----------------------------------------------------------.
 | 
				
			||||||
 | 
					   * |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  = |  BSp |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					   * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \|
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					   * |Funct |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Enter   |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					   * |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|    Shift |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------'
 | 
				
			||||||
 | 
					   * |  Ctl|Alt|Gui  |         Space         |Gui  |Alt| F2| Ctl |
 | 
				
			||||||
 | 
					   * `-----------------------------------------------------------'
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  [BASE_LAYER] = KEYMAP_60(
 | 
				
			||||||
 | 
					      KC_ESC,   KC_1,     KC_2,     KC_3,    KC_4,     KC_5,     KC_6,     KC_7,    KC_8,    KC_9,     KC_0,     KC_MINS,  KC_EQL,   KC_BSPC, \
 | 
				
			||||||
 | 
					      KC_TAB,   KC_Q,     KC_W,     KC_E,    KC_R,     KC_T,     KC_Y,     KC_U,    KC_I,    KC_O,     KC_P,     KC_LBRC,  KC_RBRC,  KC_BSLS, \
 | 
				
			||||||
 | 
					      MO(1),    KC_A,     KC_S,     KC_D,    KC_F,     KC_G,     KC_H,     KC_J,    KC_K,    KC_L,     KC_SCLN,  KC_QUOT,  __x__,    KC_ENT, \
 | 
				
			||||||
 | 
					      KC_LSFT,  __x__,    KC_Z,     KC_X,     KC_C,    KC_V,     KC_B,     KC_N,    KC_M,    KC_COMM,  KC_DOT,   KC_SLSH,  KC_RSFT,  __x__, \
 | 
				
			||||||
 | 
					      KC_LCTL,  KC_LALT,  KC_LGUI,                     KC_SPC,                                         KC_RGUI,  KC_RALT,  MO(3),    KC_RCTL \
 | 
				
			||||||
 | 
					  ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* Layer 1: Function Layer
 | 
				
			||||||
 | 
					   * ,-----------------------------------------------------------.
 | 
				
			||||||
 | 
					   * |   | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11| F12|  Del |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					   * |     |Prv|Ply|Nxt|   |   |Pg^|Hme|Up |End|   |Br-|Br+|     |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					   * |Hold  |Mte|Vl-|Vl+|   |   |Pgv|Lft|Dwn|Rgt|   |   |        |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					   * |        |   |   |   |   |   |   |   |   |   |   |          |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------'
 | 
				
			||||||
 | 
					   * |     |   |     |                       |     |   |   |     |
 | 
				
			||||||
 | 
					   * `-----------------------------------------------------------'
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					   [FUNCTION_LAYER] = KEYMAP_60(
 | 
				
			||||||
 | 
					       KC_GRV,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_DEL, \
 | 
				
			||||||
 | 
					       __x__,   KC_MPRV, KC_MPLY, KC_MNXT, __x__,   __x__,   KC_PGUP, KC_HOME, KC_UP,   KC_END,  __x__,   KC_SLCK, KC_PAUS, __x__, \
 | 
				
			||||||
 | 
					       KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, __x__,   __x__,   KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, __x__,   __x__,   __x__,   __x__, \
 | 
				
			||||||
 | 
					       KC_LSFT,  __x__,  __x__,   __x__,   __x__,   __x__,   __x__,   __x__,   __x__,   __x__,   __x__,   __x__,   __x__,   __x__, \
 | 
				
			||||||
 | 
					       KC_LCTL, KC_LALT, KC_LGUI,                   KC_SPC,                                      __x__,   __x__,   __x__,   __x__ \
 | 
				
			||||||
 | 
					   ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* Layer 2: System Layer
 | 
				
			||||||
 | 
					   * ,-----------------------------------------------------------.
 | 
				
			||||||
 | 
					   * |Reset|   |   |   |   |   |   |   |   |   |   |    |   |    |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					   * |     |   |   |   |   |   |   |   |   |   |   |   |   |     |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					   * |      |   |   |   |   |   |   |   |   |   |   |   |        |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					   * |        |   |   |   |   |   |   |   |   |   |   |          |
 | 
				
			||||||
 | 
					   * |-----------------------------------------------------------'
 | 
				
			||||||
 | 
					   * |     |   |     |                       |     |   |   |     |
 | 
				
			||||||
 | 
					   * `-----------------------------------------------------------'
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  [SYSTEM_LAYER] = KEYMAP_60(
 | 
				
			||||||
 | 
					      RESET,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,   __x__, \
 | 
				
			||||||
 | 
					      __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,   __x__, \
 | 
				
			||||||
 | 
					      __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,   __x__, \
 | 
				
			||||||
 | 
					      __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,  __x__,   __x__, \
 | 
				
			||||||
 | 
					      __x__,  __x__,  __x__,                  __x__,                                  __x__,  __x__,  KC_TRNS, __x__ \
 | 
				
			||||||
 | 
					  ),
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM fn_actions[] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										5
									
								
								keyboards/gonnerd/keymaps/mauin/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								keyboards/gonnerd/keymaps/mauin/readme.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					# Mauin's keymap for the GON NerD
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This layout is based on a Pok3r style layout with a standard base layer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Function layers provide access to navigation and media keys.
 | 
				
			||||||
							
								
								
									
										34
									
								
								keyboards/gonnerd/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								keyboards/gonnerd/readme.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					GON NerD keyboard firmware
 | 
				
			||||||
 | 
					======================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Changing Bootloader
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It's not possible to simply flash this firmware on the GON NerD keyboard as the original bootloader does not support DFU connections.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It is possible to change the bootloader of the GON NerD with an ISP programmer. A guide on how to change the bootloader on your GON NerD can be found here:
 | 
				
			||||||
 | 
					[Converting NerD60 to TMK](https://deskthority.net/wiki/Converting_NerD60_to_TMK). After changing the bootloader you can flash your QMK keymap onto the keyboard.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_After changing the bootloader on your GON NerD PCB you will not be able to go back to the original firmware and the official configuration software will
 | 
				
			||||||
 | 
					not work anymore. You will lose your warranty and official support from GON!_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Building
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Download or clone the whole firmware and navigate to the keyboards/gonnerd folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Depending on which keymap you would like to use, you will have to compile slightly differently.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Default
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To build with the default keymap, simply run `make default`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Other Keymaps
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a folder with the name of your keymap in the keymaps folder, and see keymap documentation (you can find in top readme.md) and existant keymap files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					$ make [default|jack|<name>]
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
 | 
				
			||||||
							
								
								
									
										66
									
								
								keyboards/gonnerd/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								keyboards/gonnerd/rules.mk
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,66 @@
 | 
				
			|||||||
 | 
					# MCU name
 | 
				
			||||||
 | 
					MCU = atmega32u4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Processor frequency.
 | 
				
			||||||
 | 
					#     This will define a symbol, F_CPU, in all source code files equal to the
 | 
				
			||||||
 | 
					#     processor frequency in Hz. You can then use this symbol in your source code to
 | 
				
			||||||
 | 
					#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
 | 
				
			||||||
 | 
					#     automatically to create a 32-bit value in your source code.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#     This will be an integer division of F_USB below, as it is sourced by
 | 
				
			||||||
 | 
					#     F_USB after it has run through any CPU prescalers. Note that this value
 | 
				
			||||||
 | 
					#     does not *change* the processor frequency - it should merely be updated to
 | 
				
			||||||
 | 
					#     reflect the processor speed set externally so that the code can use accurate
 | 
				
			||||||
 | 
					#     software delays.
 | 
				
			||||||
 | 
					F_CPU = 8000000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# LUFA specific
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Target architecture (see library "Board Types" documentation).
 | 
				
			||||||
 | 
					ARCH = AVR8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Input clock frequency.
 | 
				
			||||||
 | 
					#     This will define a symbol, F_USB, in all source code files equal to the
 | 
				
			||||||
 | 
					#     input clock frequency (before any prescaling is performed) in Hz. This value may
 | 
				
			||||||
 | 
					#     differ from F_CPU if prescaling is used on the latter, and is required as the
 | 
				
			||||||
 | 
					#     raw input clock is fed directly to the PLL sections of the AVR for high speed
 | 
				
			||||||
 | 
					#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
 | 
				
			||||||
 | 
					#     at the end, this will be done automatically to create a 32-bit value in your
 | 
				
			||||||
 | 
					#     source code.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#     If no clock division is performed on the input clock inside the AVR (via the
 | 
				
			||||||
 | 
					#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
 | 
				
			||||||
 | 
					F_USB = $(F_CPU)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Interrupt driven control endpoint task(+60)
 | 
				
			||||||
 | 
					OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Boot Section Size in *bytes*
 | 
				
			||||||
 | 
					#   Teensy halfKay   512
 | 
				
			||||||
 | 
					#   Teensy++ halfKay 1024
 | 
				
			||||||
 | 
					#   Atmel DFU loader 4096
 | 
				
			||||||
 | 
					#   LUFA bootloader  4096
 | 
				
			||||||
 | 
					#   USBaspLoader     2048
 | 
				
			||||||
 | 
					OPT_DEFS += -DBOOTLOADER_SIZE=4096
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build Options
 | 
				
			||||||
 | 
					#   change yes to no to disable
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					BOOTMAGIC_ENABLE ?= no       # Virtual DIP switch configuration(+1000)
 | 
				
			||||||
 | 
					MOUSEKEY_ENABLE ?= yes       # Mouse keys(+4700)
 | 
				
			||||||
 | 
					EXTRAKEY_ENABLE ?= yes       # Audio control and System control(+450)
 | 
				
			||||||
 | 
					CONSOLE_ENABLE ?= no         # Console for debug(+400)
 | 
				
			||||||
 | 
					COMMAND_ENABLE ?= yes        # Commands for debug and configuration
 | 
				
			||||||
 | 
					                             # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | 
				
			||||||
 | 
					SLEEP_LED_ENABLE ?= no       # Breathing sleep LED during USB suspend
 | 
				
			||||||
 | 
					                             # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
				
			||||||
 | 
					NKRO_ENABLE ?= no            # USB Nkey Rollover
 | 
				
			||||||
 | 
					BACKLIGHT_ENABLE ?= yes      # Enable keyboard backlight functionality on B7 by default
 | 
				
			||||||
 | 
					MIDI_ENABLE ?= no            # MIDI controls
 | 
				
			||||||
 | 
					UNICODE_ENABLE ?= no         # Unicode
 | 
				
			||||||
 | 
					BLUETOOTH_ENABLE ?= no       # Enable Bluetooth with the Adafruit EZ-Key HID
 | 
				
			||||||
 | 
					AUDIO_ENABLE ?= no           # Audio output on port C6
 | 
				
			||||||
@ -43,38 +43,107 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
#define MATRIX_ROW_PINS { D7, C6, D0, D1, F5, F4, F1, F0 }
 | 
					#define MATRIX_ROW_PINS { D7, C6, D0, D1, F5, F4, F1, F0 }
 | 
				
			||||||
#define UNUSED_PINS
 | 
					#define UNUSED_PINS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* COL2ROW or ROW2COL */
 | 
					/*
 | 
				
			||||||
 | 
					 * Keyboard Matrix Assignments
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Change this to how you wired your keyboard
 | 
				
			||||||
 | 
					 * COLS: AVR pins used for columns, left to right
 | 
				
			||||||
 | 
					 * ROWS: AVR pins used for rows, top to bottom
 | 
				
			||||||
 | 
					 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
 | 
				
			||||||
 | 
					 *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
#define DIODE_DIRECTION COL2ROW
 | 
					#define DIODE_DIRECTION COL2ROW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* define if matrix has ghost */
 | 
					// #define BACKLIGHT_PIN B7
 | 
				
			||||||
 | 
					// #define BACKLIGHT_BREATHING
 | 
				
			||||||
 | 
					// #define BACKLIGHT_LEVELS 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 | 
				
			||||||
 | 
					#define DEBOUNCING_DELAY 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* define if matrix has ghost (lacks anti-ghosting diodes) */
 | 
				
			||||||
//#define MATRIX_HAS_GHOST
 | 
					//#define MATRIX_HAS_GHOST
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* number of backlight levels */
 | 
					/* number of backlight levels */
 | 
				
			||||||
#define BACKLIGHT_LEVELS 3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Set 0 if debouncing isn't needed */
 | 
					 | 
				
			||||||
#define DEBOUNCING_DELAY 5
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 | 
					/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
 | 
				
			||||||
#define LOCKING_SUPPORT_ENABLE
 | 
					// #define LOCKING_SUPPORT_ENABLE
 | 
				
			||||||
/* Locking resynchronize hack */
 | 
					/* Locking resynchronize hack */
 | 
				
			||||||
#define LOCKING_RESYNC_ENABLE
 | 
					// #define LOCKING_RESYNC_ENABLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Force NKRO
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
 | 
				
			||||||
 | 
					 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
 | 
				
			||||||
 | 
					 * makefile for this to work.)
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
 | 
				
			||||||
 | 
					 * until the next keyboard reset.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
 | 
				
			||||||
 | 
					 * fully operational during normal computer usage.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
 | 
				
			||||||
 | 
					 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
 | 
				
			||||||
 | 
					 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
 | 
				
			||||||
 | 
					 * power-up.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					//#define FORCE_NKRO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* key combination for command */
 | 
					/* key combination for command */
 | 
				
			||||||
#define IS_COMMAND() ( \
 | 
					#define IS_COMMAND() ( \
 | 
				
			||||||
    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT) | MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RCTRL)) \
 | 
					    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT) | MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RCTRL)) \
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* control how magic key switches layers */
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS  true
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS  true
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* override magic key keymap */
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_HELP1          H
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_HELP2          SLASH
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_DEBUG          D
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_DEBUG_MATRIX   X
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_DEBUG_KBD      K
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_DEBUG_MOUSE    M
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_VERSION        V
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_STATUS         S
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_CONSOLE        C
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_LAYER0_ALT1    ESC
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_LAYER0_ALT2    GRAVE
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_LAYER0         0
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_LAYER1         1
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_LAYER2         2
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_LAYER3         3
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_LAYER4         4
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_LAYER5         5
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_LAYER6         6
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_LAYER7         7
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_LAYER8         8
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_LAYER9         9
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_BOOTLOADER     PAUSE
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_LOCK           CAPS
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_EEPROM         E
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_NKRO           N
 | 
				
			||||||
 | 
					//#define MAGIC_KEY_SLEEP_LED      Z
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Feature disable options
 | 
					 * Feature disable options
 | 
				
			||||||
 *  These options are also useful to firmware size reduction.
 | 
					 *  These options are also useful to firmware size reduction.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* disable debug print */
 | 
					/* disable debug print */
 | 
				
			||||||
//#define NO_DEBUG
 | 
					// #define NO_DEBUG
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* disable print */
 | 
					/* disable print */
 | 
				
			||||||
//#define NO_PRINT
 | 
					// #define NO_PRINT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* disable action features */
 | 
					/* disable action features */
 | 
				
			||||||
//#define NO_ACTION_LAYER
 | 
					//#define NO_ACTION_LAYER
 | 
				
			||||||
 | 
				
			|||||||
@ -14,4 +14,11 @@
 | 
				
			|||||||
#define RGB_DI_PIN B5
 | 
					#define RGB_DI_PIN B5
 | 
				
			||||||
#define RGBSPS_NUM 57
 | 
					#define RGBSPS_NUM 57
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define LAYOUT_DVORAK
 | 
				
			||||||
 | 
					#define LAYOUT_COLEMAK
 | 
				
			||||||
 | 
					#define LAYOUT_NORMAN
 | 
				
			||||||
 | 
					#define LAYOUT_WORKMAN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define DOUBLESPACE_LAYER_ENABLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
				
			|||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,6 +1,38 @@
 | 
				
			|||||||
#include "promethium.h"
 | 
					#include "promethium.h"
 | 
				
			||||||
 | 
					#include "analog.h"
 | 
				
			||||||
 | 
					#include "timer.h"
 | 
				
			||||||
 | 
					#include "matrix.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// cubic fit {3.3, 0}, {3.5, 2.9}, {3.6, 5}, {3.7, 8.6}, {3.8, 36},  {3.9, 62}, {4.0, 73}, {4.05, 83}, {4.1, 89}, {4.15, 94}, {4.2, 100}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					uint8_t battery_level(void) {
 | 
				
			||||||
 | 
					    float voltage = analogRead(BATTERY_PIN) * 2 * 3.3 / 1024;
 | 
				
			||||||
 | 
					    if (voltage < MIN_VOLTAGE) return 0;
 | 
				
			||||||
 | 
					    if (voltage > MAX_VOLTAGE) return 255;
 | 
				
			||||||
 | 
					    return (voltage - MIN_VOLTAGE) / (MAX_VOLTAGE - MIN_VOLTAGE) * 255;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__attribute__ ((weak))
 | 
				
			||||||
 | 
					void battery_poll(uint8_t level) {
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void matrix_init_kb(void) {
 | 
					void matrix_init_kb(void) {
 | 
				
			||||||
 | 
					 | 
				
			||||||
	matrix_init_user();
 | 
						matrix_init_user();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void matrix_scan_kb(void) {
 | 
				
			||||||
 | 
					    static uint16_t counter = BATTERY_POLL;
 | 
				
			||||||
 | 
					    counter++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (counter > BATTERY_POLL) {
 | 
				
			||||||
 | 
					        counter = 0;
 | 
				
			||||||
 | 
					        battery_poll(battery_level());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    matrix_scan_user();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void led_set_kb(uint8_t usb_led) {
 | 
				
			||||||
 | 
					    led_set_user(usb_led);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -4,6 +4,11 @@
 | 
				
			|||||||
#include "quantum.h"
 | 
					#include "quantum.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define PS2_INIT_DELAY 2000
 | 
					#define PS2_INIT_DELAY 2000
 | 
				
			||||||
 | 
					#define UNICODE_TYPE_DELAY 0
 | 
				
			||||||
 | 
					#define BATTERY_PIN 9
 | 
				
			||||||
 | 
					#define BATTERY_POLL 30000
 | 
				
			||||||
 | 
					#define MAX_VOLTAGE 4.2
 | 
				
			||||||
 | 
					#define MIN_VOLTAGE 3.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define KEYMAP( \
 | 
					#define KEYMAP( \
 | 
				
			||||||
    k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
 | 
					    k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
 | 
				
			||||||
@ -22,6 +27,8 @@
 | 
				
			|||||||
    {k47, k48, k49, k4a, k4b, k4c} \
 | 
					    {k47, k48, k49, k4a, k4b, k4c} \
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum led_sequence {
 | 
					enum led_sequence {
 | 
				
			||||||
  LED_IND_BLUETOOTH,
 | 
					  LED_IND_BLUETOOTH,
 | 
				
			||||||
  LED_IND_USB,
 | 
					  LED_IND_USB,
 | 
				
			||||||
@ -98,4 +105,4 @@ enum led_sequence {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void battery_poll(uint8_t level);
 | 
				
			||||||
@ -22,3 +22,52 @@ void rgbsps_turnoff(void) {
 | 
				
			|||||||
void rgbsps_send(void) {
 | 
					void rgbsps_send(void) {
 | 
				
			||||||
  ws2812_setleds(led, RGBSPS_NUM);
 | 
					  ws2812_setleds(led, RGBSPS_NUM);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void rgbsps_sethsv(uint8_t index, uint16_t hue, uint8_t sat, uint8_t val) {
 | 
				
			||||||
 | 
					  uint8_t r = 0, g = 0, b = 0, base, color;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (sat == 0) { // Acromatic color (gray). Hue doesn't mind.
 | 
				
			||||||
 | 
					    r = val;
 | 
				
			||||||
 | 
					    g = val;
 | 
				
			||||||
 | 
					    b = val;
 | 
				
			||||||
 | 
					  } else {
 | 
				
			||||||
 | 
					    base = ((255 - sat) * val) >> 8;
 | 
				
			||||||
 | 
					    color = (val - base) * (hue % 60) / 60;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    switch (hue / 60) {
 | 
				
			||||||
 | 
					      case 0:
 | 
				
			||||||
 | 
					        r = val;
 | 
				
			||||||
 | 
					        g = base + color;
 | 
				
			||||||
 | 
					        b = base;
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					      case 1:
 | 
				
			||||||
 | 
					        r = val - color;
 | 
				
			||||||
 | 
					        g = val;
 | 
				
			||||||
 | 
					        b = base;
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					      case 2:
 | 
				
			||||||
 | 
					        r = base;
 | 
				
			||||||
 | 
					        g = val;
 | 
				
			||||||
 | 
					        b = base + color;
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					      case 3:
 | 
				
			||||||
 | 
					        r = base;
 | 
				
			||||||
 | 
					        g = val - color;
 | 
				
			||||||
 | 
					        b = val;
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					      case 4:
 | 
				
			||||||
 | 
					        r = base + color;
 | 
				
			||||||
 | 
					        g = base;
 | 
				
			||||||
 | 
					        b = val;
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					      case 5:
 | 
				
			||||||
 | 
					        r = val;
 | 
				
			||||||
 | 
					        g = base;
 | 
				
			||||||
 | 
					        b = val - color;
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  rgbsps_set(index, r, g, b);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2,3 +2,4 @@ void rgbsps_set(uint8_t index, uint8_t r, uint8_t g, uint8_t b);
 | 
				
			|||||||
void rgbsps_setall(uint8_t r, uint8_t g, uint8_t b);
 | 
					void rgbsps_setall(uint8_t r, uint8_t g, uint8_t b);
 | 
				
			||||||
void rgbsps_turnoff(void);
 | 
					void rgbsps_turnoff(void);
 | 
				
			||||||
void rgbsps_send(void);
 | 
					void rgbsps_send(void);
 | 
				
			||||||
 | 
					void rgbsps_sethsv(uint8_t index, uint16_t hue, uint8_t sat, uint8_t val);
 | 
				
			||||||
@ -73,3 +73,4 @@ SLEEP_LED_ENABLE ?= no    # Breathing sleep LED during USB suspend
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
SRC += $(QUANTUM_DIR)/light_ws2812.c
 | 
					SRC += $(QUANTUM_DIR)/light_ws2812.c
 | 
				
			||||||
SRC += rgbsps.c
 | 
					SRC += rgbsps.c
 | 
				
			||||||
 | 
					SRC += $(QUANTUM_DIR)/analog.c
 | 
				
			||||||
@ -15,7 +15,7 @@ To build, run "make" from within the \bone2planck folder.
 | 
				
			|||||||
 ,-----------------------------------------------------------------------------------.
 | 
					 ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 |  ß   |   J  |   D  |   U  |   A  |   X  |   P  |   H  |   L  |   M  |   W  |  Q   |
 | 
					 |  ß   |   J  |   D  |   U  |   A  |   X  |   P  |   H  |   L  |   M  |   W  |  Q   |
 | 
				
			||||||
 |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
					 |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
				
			||||||
 |  M1  |   C  |   T  |   I  |   E  |   O  |   B  |   N  |   R  |   S  |   G  |M1/Ent|  hold for M1, tap for Enter
 | 
					 |  M1  |   C  |   T  |   I  |   E  |   O  |   B  |   N  |   R  |   S  |   G  |M1/Ent| hold: M1, tap: Enter
 | 
				
			||||||
 |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
					 |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
				
			||||||
 | Shift|   F  |   V  |   Ü  |   Ä  |   Ö  |   Y  |   Z  |   ,  |   .  |   K  |Shift |
 | 
					 | Shift|   F  |   V  |   Ü  |   Ä  |   Ö  |   Y  |   Z  |   ,  |   .  |   K  |Shift |
 | 
				
			||||||
 |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
					 |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
@ -29,7 +29,7 @@ To build, run "make" from within the \bone2planck folder.
 | 
				
			|||||||
 ,-----------------------------------------------------------------------------------.
 | 
					 ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 |  °   |   @  |   _  |   [  |   ]  |   ^  |   !  |   <  |   >  |   =  |   &  |  ´   |
 | 
					 |  °   |   @  |   _  |   [  |   ]  |   ^  |   !  |   <  |   >  |   =  |   &  |  ´   |
 | 
				
			||||||
 |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
					 |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
				
			||||||
 |  M1  |   \  |   /  |   {  |   }  |   *  |   ?  |   (  |   )  |   -  |   :  |M1/Ent|  hold for M1, tap for Enter
 | 
					 |  M1  |   \  |   /  |   {  |   }  |   *  |   ?  |   (  |   )  |   -  |   :  |M1/Ent| hold: M1, tap: Enter
 | 
				
			||||||
 |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
					 |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
				
			||||||
 | Shift|   #  |   ~  |   |  |   $  |   €  |   +  |   %  |   "  |   '  |   ;  |Shift |
 | 
					 | Shift|   #  |   ~  |   |  |   $  |   €  |   +  |   %  |   "  |   '  |   ;  |Shift |
 | 
				
			||||||
 |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
					 |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
@ -56,7 +56,7 @@ To build, run "make" from within the \bone2planck folder.
 | 
				
			|||||||
 ,-----------------------------------------------------------------------------------.
 | 
					 ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 |      |      | Print|Scroll|Pause |      |      |  F7  |  F8  |  F9  |  F12 |      |
 | 
					 |      |      | Print|Scroll|Pause |      |      |  F7  |  F8  |  F9  |  F12 |      |
 | 
				
			||||||
 |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
					 |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
				
			||||||
 |      |      | Mute | Vol- | Vol+ |      |   ³  |  F4  |  F5  |  F6  |  F11 |      |
 | 
					 |  Tab |      | Mute | Vol- | Vol+ |      |   ³  |  F4  |  F5  |  F6  |  F11 | Enter|
 | 
				
			||||||
 |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
					 |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
				
			||||||
 | Shift|      | Prev | Play | Next |      |   ²  |  F1  |  F2  |  F3  |  F10 |Shift |
 | 
					 | Shift|      | Prev | Play | Next |      |   ²  |  F1  |  F2  |  F3  |  F10 |Shift |
 | 
				
			||||||
 |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
					 |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
@ -87,7 +87,7 @@ To build, run "make" from within the \bone2planck folder.
 | 
				
			|||||||
 ,-----------------------------------------------------------------------------------.
 | 
					 ,-----------------------------------------------------------------------------------.
 | 
				
			||||||
 |      |      |  F7  |  F8  |  F9  |  F12 |      | Print|Scroll| Pause|      |      |
 | 
					 |      |      |  F7  |  F8  |  F9  |  F12 |      | Print|Scroll| Pause|      |      |
 | 
				
			||||||
 |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
					 |------+------+------+------+------+-------------+------+------+------+------+------|
 | 
				
			||||||
 |      |  ³   |  F4  |  F5  |  F6  |  F11 |      | Mute | Vol- | Vol+ |      |      |
 | 
					 |  Tab |  ³   |  F4  |  F5  |  F6  |  F11 |      | Mute | Vol- | Vol+ |      | Enter|
 | 
				
			||||||
 |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
					 |------+------+------+------+------+------|------+------+------+------+------+------|
 | 
				
			||||||
 | Shift|  ²   |  F1  |  F2  |  F3  |  F10 |      | Prev | Play | Next |      |Shift |
 | 
					 | Shift|  ²   |  F1  |  F2  |  F3  |  F10 |      | Prev | Play | Next |      |Shift |
 | 
				
			||||||
 |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
					 |------+------+------+------+------+------+------+------+------+------+------+------|
 | 
				
			||||||
 | 
				
			|||||||
@ -39,6 +39,7 @@ These keyboards are part of the QMK repository, but their manufacturers are not
 | 
				
			|||||||
* [Bantam44](/keyboards/bantam44) — It is a 44-key 40% staggered keyboard.
 | 
					* [Bantam44](/keyboards/bantam44) — It is a 44-key 40% staggered keyboard.
 | 
				
			||||||
* [Ergodox Infinity](/keyboards/ergodox) - Ergonomic Split Keyboard by Input Club.
 | 
					* [Ergodox Infinity](/keyboards/ergodox) - Ergonomic Split Keyboard by Input Club.
 | 
				
			||||||
* [GH60](/keyboards/gh60) — A 60% Geekhack community-driven project.
 | 
					* [GH60](/keyboards/gh60) — A 60% Geekhack community-driven project.
 | 
				
			||||||
 | 
					* [GON NerD](/keyboards/gonnerd) — Korean custom 60% PCB
 | 
				
			||||||
* [Happy Hacking Keyboard](/keyboards/hhkb) — The Happy Hacking keyboard can be hacked with a custom controller to run QMK.
 | 
					* [Happy Hacking Keyboard](/keyboards/hhkb) — The Happy Hacking keyboard can be hacked with a custom controller to run QMK.
 | 
				
			||||||
* [Infinity 60%](/keyboards/infinity60) - — Compact community keyboard by Input Club.
 | 
					* [Infinity 60%](/keyboards/infinity60) - — Compact community keyboard by Input Club.
 | 
				
			||||||
* [JD45](/keyboards/jd45) — Another Geekhack community project, designed by jdcarpe.
 | 
					* [JD45](/keyboards/jd45) — Another Geekhack community project, designed by jdcarpe.
 | 
				
			||||||
 | 
				
			|||||||
@ -120,7 +120,7 @@ action_t action_for_key(uint8_t layer, keypos_t key)
 | 
				
			|||||||
            action.code = ACTION_MODS_ONESHOT(mod);
 | 
					            action.code = ACTION_MODS_ONESHOT(mod);
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        case QK_MOD_TAP ... QK_MOD_TAP_MAX:
 | 
					        case QK_MOD_TAP ... QK_MOD_TAP_MAX:
 | 
				
			||||||
            action.code = ACTION_MODS_TAP_KEY((keycode >> 0x8) & 0xF, keycode & 0xFF);
 | 
					            action.code = ACTION_MODS_TAP_KEY((keycode >> 0x8) & 0x1F, keycode & 0xFF);
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
    #ifdef BACKLIGHT_ENABLE
 | 
					    #ifdef BACKLIGHT_ENABLE
 | 
				
			||||||
        case BL_0 ... BL_15:
 | 
					        case BL_0 ... BL_15:
 | 
				
			||||||
 | 
				
			|||||||
@ -139,7 +139,7 @@ void unicode_map_input_error() {}
 | 
				
			|||||||
bool process_unicode_map(uint16_t keycode, keyrecord_t *record) {
 | 
					bool process_unicode_map(uint16_t keycode, keyrecord_t *record) {
 | 
				
			||||||
  if ((keycode & QK_UNICODE_MAP) == QK_UNICODE_MAP && record->event.pressed) {
 | 
					  if ((keycode & QK_UNICODE_MAP) == QK_UNICODE_MAP && record->event.pressed) {
 | 
				
			||||||
    const uint32_t* map = unicode_map;
 | 
					    const uint32_t* map = unicode_map;
 | 
				
			||||||
    uint16_t index = keycode & 0x7FF;
 | 
					    uint16_t index = keycode - QK_UNICODE_MAP;
 | 
				
			||||||
    uint32_t code = pgm_read_dword_far(&map[index]);
 | 
					    uint32_t code = pgm_read_dword_far(&map[index]);
 | 
				
			||||||
    if (code > 0xFFFF && code <= 0x10ffff && input_mode == UC_OSX) {
 | 
					    if (code > 0xFFFF && code <= 0x10ffff && input_mode == UC_OSX) {
 | 
				
			||||||
      // Convert to UTF-16 surrogate pair
 | 
					      // Convert to UTF-16 surrogate pair
 | 
				
			||||||
 | 
				
			|||||||
@ -39,14 +39,14 @@ enum quantum_keycodes {
 | 
				
			|||||||
    QK_CHORDING           = 0x5600,
 | 
					    QK_CHORDING           = 0x5600,
 | 
				
			||||||
    QK_CHORDING_MAX       = 0x56FF,
 | 
					    QK_CHORDING_MAX       = 0x56FF,
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
    QK_MOD_TAP            = 0x6000,
 | 
					    QK_TAP_DANCE          = 0x5700,
 | 
				
			||||||
    QK_MOD_TAP_MAX        = 0x6FFF,
 | 
					    QK_TAP_DANCE_MAX      = 0x57FF,
 | 
				
			||||||
    QK_TAP_DANCE          = 0x7100,
 | 
					 | 
				
			||||||
    QK_TAP_DANCE_MAX      = 0x71FF,
 | 
					 | 
				
			||||||
#ifdef UNICODEMAP_ENABLE
 | 
					#ifdef UNICODEMAP_ENABLE
 | 
				
			||||||
    QK_UNICODE_MAP        = 0x7800,
 | 
					    QK_UNICODE_MAP        = 0x5800,
 | 
				
			||||||
    QK_UNICODE_MAP_MAX    = 0x7FFF,
 | 
					    QK_UNICODE_MAP_MAX    = 0x5BFF,
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					    QK_MOD_TAP            = 0x6000,
 | 
				
			||||||
 | 
					    QK_MOD_TAP_MAX        = 0x7FFF,
 | 
				
			||||||
#ifdef UNICODE_ENABLE
 | 
					#ifdef UNICODE_ENABLE
 | 
				
			||||||
    QK_UNICODE            = 0x8000,
 | 
					    QK_UNICODE            = 0x8000,
 | 
				
			||||||
    QK_UNICODE_MAX        = 0xFFFF,
 | 
					    QK_UNICODE_MAX        = 0xFFFF,
 | 
				
			||||||
@ -54,7 +54,7 @@ enum quantum_keycodes {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    // Loose keycodes - to be used directly
 | 
					    // Loose keycodes - to be used directly
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    RESET = 0x7000,
 | 
					    RESET = 0x5C00,
 | 
				
			||||||
    DEBUG,
 | 
					    DEBUG,
 | 
				
			||||||
    MAGIC_SWAP_CONTROL_CAPSLOCK,
 | 
					    MAGIC_SWAP_CONTROL_CAPSLOCK,
 | 
				
			||||||
    MAGIC_CAPSLOCK_TO_CONTROL,
 | 
					    MAGIC_CAPSLOCK_TO_CONTROL,
 | 
				
			||||||
@ -298,15 +298,29 @@ enum quantum_keycodes {
 | 
				
			|||||||
#define OSM(mod) (mod | QK_ONE_SHOT_MOD)
 | 
					#define OSM(mod) (mod | QK_ONE_SHOT_MOD)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// M-od, T-ap - 256 keycode max
 | 
					// M-od, T-ap - 256 keycode max
 | 
				
			||||||
#define MT(mod, kc) (kc | QK_MOD_TAP | ((mod & 0xF) << 8))
 | 
					#define MT(mod, kc) (kc | QK_MOD_TAP | ((mod & 0x1F) << 8))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define CTL_T(kc) MT(MOD_LCTL, kc)
 | 
					#define CTL_T(kc) MT(MOD_LCTL, kc)
 | 
				
			||||||
 | 
					#define LCTL_T(kc) MT(MOD_LCTL, kc)
 | 
				
			||||||
 | 
					#define RCTL_T(kc) MT(MOD_RCTL, kc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SFT_T(kc) MT(MOD_LSFT, kc)
 | 
					#define SFT_T(kc) MT(MOD_LSFT, kc)
 | 
				
			||||||
 | 
					#define LSFT_T(kc) MT(MOD_LSFT, kc)
 | 
				
			||||||
 | 
					#define RSFT_T(kc) MT(MOD_RSFT, kc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ALT_T(kc) MT(MOD_LALT, kc)
 | 
					#define ALT_T(kc) MT(MOD_LALT, kc)
 | 
				
			||||||
 | 
					#define LALT_T(kc) MT(MOD_LALT, kc)
 | 
				
			||||||
 | 
					#define RALT_T(kc) MT(MOD_RALT, kc)
 | 
				
			||||||
#define ALGR_T(kc) MT(MOD_RALT, kc) // dual-function AltGR
 | 
					#define ALGR_T(kc) MT(MOD_RALT, kc) // dual-function AltGR
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define GUI_T(kc) MT(MOD_LGUI, kc)
 | 
					#define GUI_T(kc) MT(MOD_LGUI, kc)
 | 
				
			||||||
 | 
					#define LGUI_T(kc) MT(MOD_LGUI, kc)
 | 
				
			||||||
 | 
					#define RGUI_T(kc) MT(MOD_RGUI, kc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define C_S_T(kc) MT((MOD_LCTL | MOD_LSFT), kc) // Control + Shift e.g. for gnome-terminal
 | 
					#define C_S_T(kc) MT((MOD_LCTL | MOD_LSFT), kc) // Control + Shift e.g. for gnome-terminal
 | 
				
			||||||
#define MEH_T(kc) MT((MOD_LCTL | MOD_LSFT | MOD_LALT), kc) // Meh is a less hyper version of the Hyper key -- doesn't include Win or Cmd, so just alt+shift+ctrl
 | 
					#define MEH_T(kc) MT((MOD_LCTL | MOD_LSFT | MOD_LALT), kc) // Meh is a less hyper version of the Hyper key -- doesn't include Win or Cmd, so just alt+shift+ctrl
 | 
				
			||||||
#define LCAG_T(kc) MT((MOD_LCTL | MOD_LALT | MOD_LGUI), kc) // Left control alt and gui
 | 
					#define LCAG_T(kc) MT((MOD_LCTL | MOD_LALT | MOD_LGUI), kc) // Left control alt and gui
 | 
				
			||||||
 | 
					#define RCAG_T(kc) MT((MOD_RCTL | MOD_RALT | MOD_RGUI), kc) // Right control alt and gui
 | 
				
			||||||
#define ALL_T(kc) MT((MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI), kc) // see http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/
 | 
					#define ALL_T(kc) MT((MOD_LCTL | MOD_LSFT | MOD_LALT | MOD_LGUI), kc) // see http://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/
 | 
				
			||||||
#define SCMD_T(kc) MT((MOD_LGUI | MOD_LSFT), kc)
 | 
					#define SCMD_T(kc) MT((MOD_LGUI | MOD_LSFT), kc)
 | 
				
			||||||
#define SWIN_T(kc) SCMD_T(kc)
 | 
					#define SWIN_T(kc) SCMD_T(kc)
 | 
				
			||||||
 | 
				
			|||||||
@ -23,7 +23,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define PS2_MOUSE_SEND(command, message) \
 | 
					#define PS2_MOUSE_SEND(command, message) \
 | 
				
			||||||
do { \
 | 
					do { \
 | 
				
			||||||
   uint8_t rcv = ps2_host_send(command); \
 | 
					   __attribute__ ((unused)) uint8_t rcv = ps2_host_send(command); \
 | 
				
			||||||
   if (debug_mouse) { \
 | 
					   if (debug_mouse) { \
 | 
				
			||||||
        print((message)); \
 | 
					        print((message)); \
 | 
				
			||||||
        xprintf(" command: %X, result: %X, error: %X \n", command, rcv, ps2_error); \
 | 
					        xprintf(" command: %X, result: %X, error: %X \n", command, rcv, ps2_error); \
 | 
				
			||||||
@ -55,13 +55,14 @@ do { \
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define PS2_MOUSE_RECEIVE(message) \
 | 
					#define PS2_MOUSE_RECEIVE(message) \
 | 
				
			||||||
do { \
 | 
					do { \
 | 
				
			||||||
   uint8_t rcv = ps2_host_recv_response(); \
 | 
					   __attribute__ ((unused)) uint8_t rcv = ps2_host_recv_response(); \
 | 
				
			||||||
   if (debug_mouse) { \
 | 
					   if (debug_mouse) { \
 | 
				
			||||||
        print((message)); \
 | 
					        print((message)); \
 | 
				
			||||||
        xprintf(" result: %X, error: %X \n", rcv, ps2_error); \
 | 
					        xprintf(" result: %X, error: %X \n", rcv, ps2_error); \
 | 
				
			||||||
    } \
 | 
					    } \
 | 
				
			||||||
} while(0)
 | 
					} while(0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__attribute__ ((unused))
 | 
				
			||||||
static enum ps2_mouse_mode_e {
 | 
					static enum ps2_mouse_mode_e {
 | 
				
			||||||
    PS2_MOUSE_STREAM_MODE,
 | 
					    PS2_MOUSE_STREAM_MODE,
 | 
				
			||||||
    PS2_MOUSE_REMOTE_MODE,
 | 
					    PS2_MOUSE_REMOTE_MODE,
 | 
				
			||||||
 | 
				
			|||||||
@ -11,7 +11,7 @@ if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
 | 
				
			|||||||
		make all-keyboards AUTOGEN="true"
 | 
							make all-keyboards AUTOGEN="true"
 | 
				
			||||||
		: $((exit_code = $exit_code + $?))
 | 
							: $((exit_code = $exit_code + $?))
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
		MKB=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards\/)([a-zA-Z0-9_]+)' | sort -u)
 | 
							MKB=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards\/)([a-zA-Z0-9_]+)(?=\/)' | sort -u)
 | 
				
			||||||
		for KB in $MKB ; do
 | 
							for KB in $MKB ; do
 | 
				
			||||||
			echo "Making all keymaps for $KB"
 | 
								echo "Making all keymaps for $KB"
 | 
				
			||||||
			make "$KB" AUTOGEN=true
 | 
								make "$KB" AUTOGEN=true
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user