mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-30 21:02:32 +01:00 
			
		
		
		
	AMJ40 Refactor (#11854)
* update keyboard source files - add license headers (attributed to original keyboard submitter) - #pragma once include guards - file template matching - readme update and template matching * set sensible default keyboard settings - enable Bootmagic Lite and Mouse Keys - disable Console and Command - remove default keymap's rules.mk file * remove unnecessary files from default keymap * refactor default keymap * add additional layouts/keymaps * update keyboard readme - add images and bootloader instructions - reformat link list * convert tabs to spaces in default keymap
This commit is contained in:
		
							parent
							
								
									e768fb83bd
								
							
						
					
					
						commit
						fa740f8129
					
				| @ -1 +1,17 @@ | |||||||
|  | /* Copyright 2017 Fabian Topfstedt
 | ||||||
|  |  * | ||||||
|  |  * 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/>.
 | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
| #include "amj40.h" | #include "amj40.h" | ||||||
|  | |||||||
| @ -1,26 +1,52 @@ | |||||||
| #ifndef AMJ40_H | /* Copyright 2017 Fabian Topfstedt
 | ||||||
| #define AMJ40_H |  * Copyright 2021 James Young (@noroadsleft) | ||||||
|  |  * | ||||||
|  |  * 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 "quantum.h" | #include "quantum.h" | ||||||
| 
 | 
 | ||||||
| // readability  
 |  | ||||||
| #define XXX KC_NO | #define XXX KC_NO | ||||||
| 
 | 
 | ||||||
| /* AMJ40 ver2.0 layout1 配列一
 | /* AMJ40 ver2.0 staggered layouts
 | ||||||
|  * ,-----------------------------------------------------------. |  * ,-----------------------------------------------. | ||||||
|  * | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | |  * |00 |01 |02 |03 |04 |05 |06 |07 |08 |09 |0a |0b | | ||||||
|  * |-----------------------------------------------------------| |  * |-----------------------------------------------| | ||||||
|  * | 10   | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1B    | |  * |10  |11 |12 |13 |14 |15 |16 |17 |18 |19 |1b    | | ||||||
|  * |-----------------------------------------------------------| |  * |-----------------------------------------------| | ||||||
|  * | 20     | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |  2A | 2B | |  * |20    |22 |23 |24 |25 |26 |27 |28 |29 |2a  |2b | | ||||||
|  * |-----------------------------------------------------------| |  * |-----------------------------------------------| | ||||||
|  * | 30  | 31 | 32  |   34      |  35         | 39  | 3A | 3B  | |  * |30  |31 |32  |   34   |35        |39  |3a |3b  | Layout 1 Bottom Row | ||||||
|  * `-----------------------------------------------------------' |  * `-----------------------------------------------' | ||||||
|  |  * ,-----------------------------------------------. | ||||||
|  |  * |30  |31 |32 |           35           |3a  |3b  | Layout 2 | ||||||
|  |  * `-----------------------------------------------' | ||||||
|  |  * ,-----------------------------------------------. | ||||||
|  |  * |30   |31 |32   |   34   |    35    |39 |3a |3b | Layout 3 | ||||||
|  |  * `-----------------------------------------------' | ||||||
|  |  * ,-----------------------------------------------. | ||||||
|  |  * |30  |31 |32  |           35           |3a |3b  | Layout 4 | ||||||
|  |  * `-----------------------------------------------' | ||||||
|  */ |  */ | ||||||
|  | 
 | ||||||
|  | // a.k.a. Layout 1 or Layout 3 (matrix is the same for both)
 | ||||||
| #define LAYOUT( \ | #define LAYOUT( \ | ||||||
|     k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ |     k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ | ||||||
|     k10, k11, k12, k13, k14, k15, k16, k17, k18, k19,      k1b,  \ |     k10, k11, k12, k13, k14, k15, k16, k17, k18, k19,      k1b, \ | ||||||
|     k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b,  \ |     k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ | ||||||
|     k30, k31, k32,      k34, k35,                k39, k3a, k3b  \ |     k30, k31, k32,      k34, k35,                k39, k3a, k3b  \ | ||||||
| ) { \ | ) { \ | ||||||
|     {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b}, \ |     {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b}, \ | ||||||
| @ -29,10 +55,55 @@ | |||||||
|     {k30, k31, k32, XXX, k34, k35, XXX, XXX, XXX, k39, k3a, k3b} \ |     {k30, k31, k32, XXX, k34, k35, XXX, XXX, XXX, k39, k3a, k3b} \ | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | // a.k.a. Layout 2 or Layout 4 (matrix is the same for both)
 | ||||||
|  | #define LAYOUT_625u_space( \ | ||||||
|  |     k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ | ||||||
|  |     k10, k11, k12, k13, k14, k15, k16, k17, k18, k19,      k1b, \ | ||||||
|  |     k20,      k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ | ||||||
|  |     k30, k31, k32,             k35,                   k3a, k3b  \ | ||||||
|  | ) { \ | ||||||
|  |     { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ | ||||||
|  |     { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, XXX, k1b }, \ | ||||||
|  |     { k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ | ||||||
|  |     { k30, k31, k32, XXX, XXX, k35, XXX, XXX, XXX, XXX, k3a, k3b } \ | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
|  | /* AMJ40 ver2.0 ortholinear layouts
 | ||||||
|  |  * ,-----------------------------------------------. | ||||||
|  |  * |00 |01 |02 |03 |04 |05 |06 |07 |08 |09 |0a |0b | | ||||||
|  |  * |-----------------------------------------------| | ||||||
|  |  * |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |1a |1b | | ||||||
|  |  * |-----------------------------------------------| | ||||||
|  |  * |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 |2a |2b | | ||||||
|  |  * |-----------------------------------------------| | ||||||
|  |  * |30 |31 |32 |33 |34 |    35    |38  |39 |3a |3b | 2.75u Spacebar | ||||||
|  |  * `-----------------------------------------------' | ||||||
|  |  * ,-----------------------------------------------. | ||||||
|  |  * |30 |31 |32 |          35           |39 |3a |3b | 6u Spacebar | ||||||
|  |  * `-----------------------------------------------' | ||||||
|  |  */ | ||||||
| 
 | 
 | ||||||
|  | // equivalent to LAYOUT_all
 | ||||||
|  | #define LAYOUT_ortho_275u_space( \ | ||||||
|  |     k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ | ||||||
|  |     k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ | ||||||
|  |     k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ | ||||||
|  |     k30, k31, k32, k33, k34,     k35,      k38,  k39, k3a, k3b  \ | ||||||
|  | ) { \ | ||||||
|  |     { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ | ||||||
|  |     { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ | ||||||
|  |     { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ | ||||||
|  |     { k30, k31, k32, k33, k34, k35, XXX, XXX, k38, k39, k3a, k3b }  \ | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| void matrix_init_user(void); | #define LAYOUT_ortho_600u_space( \ | ||||||
| void matrix_scan_user(void); |     k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \ | ||||||
| 
 |     k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \ | ||||||
| #endif |     k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \ | ||||||
|  |     k30, k31, k32,             k35,              k39, k3a, k3b  \ | ||||||
|  | ) { \ | ||||||
|  |     { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \ | ||||||
|  |     { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \ | ||||||
|  |     { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \ | ||||||
|  |     { k30, k31, k32, XXX, XXX, k35, XXX, XXX, XXX, k39, k3a, k3b }  \ | ||||||
|  | } | ||||||
|  | |||||||
| @ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License | |||||||
| along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||||
| */ | */ | ||||||
| 
 | 
 | ||||||
| #ifndef CONFIG_H | #pragma once | ||||||
| #define CONFIG_H |  | ||||||
| 
 | 
 | ||||||
| #include "config_common.h" | #include "config_common.h" | ||||||
| 
 | 
 | ||||||
| @ -87,5 +86,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| //#define NO_ACTION_ONESHOT
 | //#define NO_ACTION_ONESHOT
 | ||||||
| //#define NO_ACTION_MACRO
 | //#define NO_ACTION_MACRO
 | ||||||
| //#define NO_ACTION_FUNCTION
 | //#define NO_ACTION_FUNCTION
 | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  | |||||||
| @ -1,13 +1,208 @@ | |||||||
| { | { | ||||||
|   "keyboard_name": "AMJ40",  |     "keyboard_name": "AMJ40", | ||||||
|   "url": "",  |     "url": "", | ||||||
|   "maintainer": "qmk",  |     "maintainer": "qmk", | ||||||
|   "bootloader": "",  |     "width": 12, | ||||||
|   "width": 12,  |     "height": 4, | ||||||
|   "height": 4,  |     "layouts": { | ||||||
|   "layouts": { |         "LAYOUT": { | ||||||
|     "LAYOUT": { |             "layout": [ | ||||||
|       "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2, "w":1.25}, {"x":11, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3, "w":1.25}, {"x":3.5, "y":3, "w":2.25}, {"x":5.75, "y":3, "w":2.75}, {"x":8.5, "y":3, "w":1.25}, {"x":9.75, "y":3}, {"x":10.75, "y":3, "w":1.25}] |                 {"x":0, "y":0}, | ||||||
|  |                 {"x":1, "y":0}, | ||||||
|  |                 {"x":2, "y":0}, | ||||||
|  |                 {"x":3, "y":0}, | ||||||
|  |                 {"x":4, "y":0}, | ||||||
|  |                 {"x":5, "y":0}, | ||||||
|  |                 {"x":6, "y":0}, | ||||||
|  |                 {"x":7, "y":0}, | ||||||
|  |                 {"x":8, "y":0}, | ||||||
|  |                 {"x":9, "y":0}, | ||||||
|  |                 {"x":10, "y":0}, | ||||||
|  |                 {"x":11, "y":0}, | ||||||
|  | 
 | ||||||
|  |                 {"x":0, "y":1, "w":1.25}, | ||||||
|  |                 {"x":1.25, "y":1}, | ||||||
|  |                 {"x":2.25, "y":1}, | ||||||
|  |                 {"x":3.25, "y":1}, | ||||||
|  |                 {"x":4.25, "y":1}, | ||||||
|  |                 {"x":5.25, "y":1}, | ||||||
|  |                 {"x":6.25, "y":1}, | ||||||
|  |                 {"x":7.25, "y":1}, | ||||||
|  |                 {"x":8.25, "y":1}, | ||||||
|  |                 {"x":9.25, "y":1}, | ||||||
|  |                 {"x":10.25, "y":1, "w":1.75}, | ||||||
|  | 
 | ||||||
|  |                 {"x":0, "y":2, "w":1.75}, | ||||||
|  |                 {"x":1.75, "y":2}, | ||||||
|  |                 {"x":2.75, "y":2}, | ||||||
|  |                 {"x":3.75, "y":2}, | ||||||
|  |                 {"x":4.75, "y":2}, | ||||||
|  |                 {"x":5.75, "y":2}, | ||||||
|  |                 {"x":6.75, "y":2}, | ||||||
|  |                 {"x":7.75, "y":2}, | ||||||
|  |                 {"x":8.75, "y":2}, | ||||||
|  |                 {"x":9.75, "y":2, "w":1.25}, | ||||||
|  |                 {"x":11, "y":2}, | ||||||
|  | 
 | ||||||
|  |                 {"x":0, "y":3, "w":1.25}, | ||||||
|  |                 {"x":1.25, "y":3}, | ||||||
|  |                 {"x":2.25, "y":3, "w":1.25}, | ||||||
|  |                 {"x":3.5, "y":3, "w":2.25}, | ||||||
|  |                 {"x":5.75, "y":3, "w":2.75}, | ||||||
|  |                 {"x":8.5, "y":3, "w":1.25}, | ||||||
|  |                 {"x":9.75, "y":3}, | ||||||
|  |                 {"x":10.75, "y":3, "w":1.25} | ||||||
|  |             ] | ||||||
|  |         }, | ||||||
|  |         "LAYOUT_625u_space": { | ||||||
|  |             "layout": [ | ||||||
|  |                 {"x":0, "y":0}, | ||||||
|  |                 {"x":1, "y":0}, | ||||||
|  |                 {"x":2, "y":0}, | ||||||
|  |                 {"x":3, "y":0}, | ||||||
|  |                 {"x":4, "y":0}, | ||||||
|  |                 {"x":5, "y":0}, | ||||||
|  |                 {"x":6, "y":0}, | ||||||
|  |                 {"x":7, "y":0}, | ||||||
|  |                 {"x":8, "y":0}, | ||||||
|  |                 {"x":9, "y":0}, | ||||||
|  |                 {"x":10, "y":0}, | ||||||
|  |                 {"x":11, "y":0}, | ||||||
|  | 
 | ||||||
|  |                 {"x":0, "y":1, "w":1.25}, | ||||||
|  |                 {"x":1.25, "y":1}, | ||||||
|  |                 {"x":2.25, "y":1}, | ||||||
|  |                 {"x":3.25, "y":1}, | ||||||
|  |                 {"x":4.25, "y":1}, | ||||||
|  |                 {"x":5.25, "y":1}, | ||||||
|  |                 {"x":6.25, "y":1}, | ||||||
|  |                 {"x":7.25, "y":1}, | ||||||
|  |                 {"x":8.25, "y":1}, | ||||||
|  |                 {"x":9.25, "y":1}, | ||||||
|  |                 {"x":10.25, "y":1, "w":1.75}, | ||||||
|  | 
 | ||||||
|  |                 {"x":0, "y":2, "w":1.75}, | ||||||
|  |                 {"x":1.75, "y":2}, | ||||||
|  |                 {"x":2.75, "y":2}, | ||||||
|  |                 {"x":3.75, "y":2}, | ||||||
|  |                 {"x":4.75, "y":2}, | ||||||
|  |                 {"x":5.75, "y":2}, | ||||||
|  |                 {"x":6.75, "y":2}, | ||||||
|  |                 {"x":7.75, "y":2}, | ||||||
|  |                 {"x":8.75, "y":2}, | ||||||
|  |                 {"x":9.75, "y":2, "w":1.25}, | ||||||
|  |                 {"x":11, "y":2}, | ||||||
|  | 
 | ||||||
|  |                 {"x":0, "y":3, "w":1.25}, | ||||||
|  |                 {"x":1.25, "y":3}, | ||||||
|  |                 {"x":2.25, "y":3}, | ||||||
|  |                 {"x":3.25, "y":3, "w":6.25}, | ||||||
|  |                 {"x":9.5, "y":3, "w":1.25}, | ||||||
|  |                 {"x":10.75, "y":3, "w":1.25} | ||||||
|  |             ] | ||||||
|  |         }, | ||||||
|  |         "LAYOUT_ortho_600u_space": { | ||||||
|  |             "layout": [ | ||||||
|  |                 {"label":"K00 (F4,F1)", "x":0, "y":0}, | ||||||
|  |                 {"label":"K01 (F4,F0)", "x":1, "y":0}, | ||||||
|  |                 {"label":"K02 (F4,E6)", "x":2, "y":0}, | ||||||
|  |                 {"label":"K03 (F4,C7)", "x":3, "y":0}, | ||||||
|  |                 {"label":"K04 (F4,C6)", "x":4, "y":0}, | ||||||
|  |                 {"label":"K05 (F4,B0)", "x":5, "y":0}, | ||||||
|  |                 {"label":"K06 (F4,D4)", "x":6, "y":0}, | ||||||
|  |                 {"label":"K07 (F4,B1)", "x":7, "y":0}, | ||||||
|  |                 {"label":"K08 (F4,B7)", "x":8, "y":0}, | ||||||
|  |                 {"label":"K09 (F4,B5)", "x":9, "y":0}, | ||||||
|  |                 {"label":"K0A (F4,B4)", "x":10, "y":0}, | ||||||
|  |                 {"label":"K0B (F4,D7)", "x":11, "y":0}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"K10 (F5,F1)", "x":0, "y":1}, | ||||||
|  |                 {"label":"K11 (F5,F0)", "x":1, "y":1}, | ||||||
|  |                 {"label":"K12 (F5,E6)", "x":2, "y":1}, | ||||||
|  |                 {"label":"K13 (F5,C7)", "x":3, "y":1}, | ||||||
|  |                 {"label":"K14 (F5,C6)", "x":4, "y":1}, | ||||||
|  |                 {"label":"K15 (F5,B0)", "x":5, "y":1}, | ||||||
|  |                 {"label":"K16 (F5,D4)", "x":6, "y":1}, | ||||||
|  |                 {"label":"K17 (F5,B1)", "x":7, "y":1}, | ||||||
|  |                 {"label":"K18 (F5,B7)", "x":8, "y":1}, | ||||||
|  |                 {"label":"K19 (F5,B5)", "x":9, "y":1}, | ||||||
|  |                 {"label":"K1A (F5,B4)", "x":10, "y":1}, | ||||||
|  |                 {"label":"K1B (F5,D7)", "x":11, "y":1}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"K20 (F6,F1)", "x":0, "y":2}, | ||||||
|  |                 {"label":"K21 (F6,F0)", "x":1, "y":2}, | ||||||
|  |                 {"label":"K22 (F6,E6)", "x":2, "y":2}, | ||||||
|  |                 {"label":"K23 (F6,C7)", "x":3, "y":2}, | ||||||
|  |                 {"label":"K24 (F6,C6)", "x":4, "y":2}, | ||||||
|  |                 {"label":"K25 (F6,B0)", "x":5, "y":2}, | ||||||
|  |                 {"label":"K26 (F6,D4)", "x":6, "y":2}, | ||||||
|  |                 {"label":"K27 (F6,B1)", "x":7, "y":2}, | ||||||
|  |                 {"label":"K28 (F6,B7)", "x":8, "y":2}, | ||||||
|  |                 {"label":"K29 (F6,B5)", "x":9, "y":2}, | ||||||
|  |                 {"label":"K2A (F6,B4)", "x":10, "y":2}, | ||||||
|  |                 {"label":"K2B (F6,D7)", "x":11, "y":2}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"K30 (F7,F1)", "x":0, "y":3}, | ||||||
|  |                 {"label":"K31 (F7,F0)", "x":1, "y":3}, | ||||||
|  |                 {"label":"K32 (F7,E6)", "x":2, "y":3}, | ||||||
|  |                 {"label":"K35 (F7,B0)", "x":3, "y":3, "w":6}, | ||||||
|  |                 {"label":"K39 (F7,B5)", "x":9, "y":3}, | ||||||
|  |                 {"label":"K3A (F7,B4)", "x":10, "y":3}, | ||||||
|  |                 {"label":"K3B (F7,D7)", "x":11, "y":3} | ||||||
|  |             ] | ||||||
|  |         }, | ||||||
|  |         "LAYOUT_ortho_275u_space": { | ||||||
|  |             "layout": [ | ||||||
|  |                 {"label":"K00 (F4,F1)", "x":0, "y":0}, | ||||||
|  |                 {"label":"K01 (F4,F0)", "x":1, "y":0}, | ||||||
|  |                 {"label":"K02 (F4,E6)", "x":2, "y":0}, | ||||||
|  |                 {"label":"K03 (F4,C7)", "x":3, "y":0}, | ||||||
|  |                 {"label":"K04 (F4,C6)", "x":4, "y":0}, | ||||||
|  |                 {"label":"K05 (F4,B0)", "x":5, "y":0}, | ||||||
|  |                 {"label":"K06 (F4,D4)", "x":6, "y":0}, | ||||||
|  |                 {"label":"K07 (F4,B1)", "x":7, "y":0}, | ||||||
|  |                 {"label":"K08 (F4,B7)", "x":8, "y":0}, | ||||||
|  |                 {"label":"K09 (F4,B5)", "x":9, "y":0}, | ||||||
|  |                 {"label":"K0A (F4,B4)", "x":10, "y":0}, | ||||||
|  |                 {"label":"K0B (F4,D7)", "x":11, "y":0}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"K10 (F5,F1)", "x":0, "y":1}, | ||||||
|  |                 {"label":"K11 (F5,F0)", "x":1, "y":1}, | ||||||
|  |                 {"label":"K12 (F5,E6)", "x":2, "y":1}, | ||||||
|  |                 {"label":"K13 (F5,C7)", "x":3, "y":1}, | ||||||
|  |                 {"label":"K14 (F5,C6)", "x":4, "y":1}, | ||||||
|  |                 {"label":"K15 (F5,B0)", "x":5, "y":1}, | ||||||
|  |                 {"label":"K16 (F5,D4)", "x":6, "y":1}, | ||||||
|  |                 {"label":"K17 (F5,B1)", "x":7, "y":1}, | ||||||
|  |                 {"label":"K18 (F5,B7)", "x":8, "y":1}, | ||||||
|  |                 {"label":"K19 (F5,B5)", "x":9, "y":1}, | ||||||
|  |                 {"label":"K1A (F5,B4)", "x":10, "y":1}, | ||||||
|  |                 {"label":"K1B (F5,D7)", "x":11, "y":1}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"K20 (F6,F1)", "x":0, "y":2}, | ||||||
|  |                 {"label":"K21 (F6,F0)", "x":1, "y":2}, | ||||||
|  |                 {"label":"K22 (F6,E6)", "x":2, "y":2}, | ||||||
|  |                 {"label":"K23 (F6,C7)", "x":3, "y":2}, | ||||||
|  |                 {"label":"K24 (F6,C6)", "x":4, "y":2}, | ||||||
|  |                 {"label":"K25 (F6,B0)", "x":5, "y":2}, | ||||||
|  |                 {"label":"K26 (F6,D4)", "x":6, "y":2}, | ||||||
|  |                 {"label":"K27 (F6,B1)", "x":7, "y":2}, | ||||||
|  |                 {"label":"K28 (F6,B7)", "x":8, "y":2}, | ||||||
|  |                 {"label":"K29 (F6,B5)", "x":9, "y":2}, | ||||||
|  |                 {"label":"K2A (F6,B4)", "x":10, "y":2}, | ||||||
|  |                 {"label":"K2B (F6,D7)", "x":11, "y":2}, | ||||||
|  | 
 | ||||||
|  |                 {"label":"K30 (F7,F1)", "x":0, "y":3}, | ||||||
|  |                 {"label":"K31 (F7,F0)", "x":1, "y":3}, | ||||||
|  |                 {"label":"K32 (F7,E6)", "x":2, "y":3}, | ||||||
|  |                 {"label":"K33 (F7,C7)", "x":3, "y":3}, | ||||||
|  |                 {"label":"K34 (F7,C6)", "x":4, "y":3}, | ||||||
|  |                 {"label":"K35 (F7,B0)", "x":5, "y":3, "w":2.75}, | ||||||
|  |                 {"label":"K38 (F7,B7)", "x":7.75, "y":3, "w":1.25}, | ||||||
|  |                 {"label":"K39 (F7,B5)", "x":9, "y":3}, | ||||||
|  |                 {"label":"K3A (F7,B4)", "x":10, "y":3}, | ||||||
|  |                 {"label":"K3B (F7,D7)", "x":11, "y":3} | ||||||
|  |             ] | ||||||
|  |         } | ||||||
|     } |     } | ||||||
|   } |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,42 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # adjust for cpu  |  | ||||||
| # -j 16 gave best result on a hyperthreaded quad core core i7 |  | ||||||
| 
 |  | ||||||
| LIMIT=10 |  | ||||||
| THREADS="-j 16" |  | ||||||
| KMAP=iso_split_rshift |  | ||||||
| 
 |  | ||||||
| echo "We need sudo later" |  | ||||||
| sudo ls 2>&1 /dev/null |  | ||||||
| 
 |  | ||||||
| function wait_bootloader { |  | ||||||
| 	echo "Waiting for Bootloader..." |  | ||||||
| 	local STARTTIME=$(date +"%s") |  | ||||||
| 	local REMIND=0 |  | ||||||
|     local EXEC=dfu-programmer |  | ||||||
|     local TARGET=atmega32u4 |  | ||||||
| 	while true |  | ||||||
| 	do |  | ||||||
| 		sudo $EXEC $TARGET get > /dev/null 2>&1 |  | ||||||
| 		[ $? -eq 0 ] && break |  | ||||||
| 		ENDTIME=$(date +"%s") |  | ||||||
| 		DURATION=$(($ENDTIME-$STARTTIME)) |  | ||||||
| 		if [ $REMIND -eq 0 -a $DURATION -gt $LIMIT ] |  | ||||||
| 		then  |  | ||||||
| 			echo "Did you forget to press the reset button?" |  | ||||||
| 			REMIND=1 |  | ||||||
| 		fi |  | ||||||
|         sleep 1 |  | ||||||
| 	done |  | ||||||
| } |  | ||||||
| make clean |  | ||||||
| make KEYMAP=${KMAP} ${THREADS} |  | ||||||
| if [[ $? -eq 0 ]] |  | ||||||
| then |  | ||||||
|     echo "please trigger flashing!" |  | ||||||
|     wait_bootloader |  | ||||||
|     sudo make KEYMAP=${KMAP} dfu ${THREADS} |  | ||||||
| else |  | ||||||
|     echo "make failed" |  | ||||||
|     exit 77 |  | ||||||
| fi |  | ||||||
| @ -1,135 +1,143 @@ | |||||||
| 
 | /* Copyright 2017 Fabian Topfstedt
 | ||||||
| 
 |  * | ||||||
|  |  * 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/>.
 | ||||||
|  |  */ | ||||||
| 
 | 
 | ||||||
| #include QMK_KEYBOARD_H | #include QMK_KEYBOARD_H | ||||||
| 
 | 
 | ||||||
| // Each layer gets a name for readability, which is then used in the keymap matrix below.
 | enum layer_names { | ||||||
| // The underscores don't mean anything - you can have a layer called STUFF or any other name.
 |     _QWERTY, | ||||||
| // Layer names don't all need to be of the same length, obviously, and you can also skip them
 |     _LOWER, | ||||||
| // entirely and just use numbers.
 |     _RAISE, | ||||||
| #define _QWERTY 0 |     _ADJUST, | ||||||
| #define _LOWER 1 |  | ||||||
| #define _RAISE 2 |  | ||||||
| #define _ADJUST 3 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| enum custom_keycodes { |  | ||||||
|   QWERTY = SAFE_RANGE, |  | ||||||
|   LOWER, |  | ||||||
|   RAISE, |  | ||||||
|   ADJUST, |  | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | enum custom_keycodes { | ||||||
|  |     QWERTY = SAFE_RANGE, | ||||||
|  |     LOWER, | ||||||
|  |     RAISE, | ||||||
|  |     ADJUST, | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | #define LT1_SPC LT(_LOWER,KC_SPC) | ||||||
|  | #define LT2_SPC LT(_RAISE,KC_SPC) | ||||||
|  | #define LT3_LGU LT(_ADJUST,KC_LGUI) | ||||||
|  | 
 | ||||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|         /* Default Layer
 |     /* Default Layer
 | ||||||
|      * ,-----------------------------------------------------------. |      * ,-----------------------------------------------. | ||||||
|      * | Esc|  Q |  W |  E |  R |  T |  Y |  U |  I |  O |  P | BS | |      * |Esc| Q | W | E | R | T | Y | U | I | O | P |BS | | ||||||
|      * |-----------------------------------------------------------| |      * |-----------------------------------------------| | ||||||
|      * | Tab |  A |  S |  D |  F |  G |  H |  J |  K |  L | Ent    | |      * |Tab | A | S | D | F | G | H | J | K | L |Enter | | ||||||
|      * |-----------------------------------------------------------| |      * |-----------------------------------------------| | ||||||
|      * | LSft   |  Z |  X |  C |  V |  B |  N |  M |  ,  |  . | /? | |      * | LSft | Z | X | C | V | B | N | M | , | .  |/? | | ||||||
|      * |-----------------------------------------------------------| |      * |-----------------------------------------------| | ||||||
|      * | LCtl | LGui| LAlt|  spc fn0  |  spc fn1    |fn2|RAlt|RCtl | |      * |LCtl|GUI|LAlt|Spc/Fn0 | Spc/Fn1  |Fn2 |Alt|RCtl| | ||||||
|      * `-----------------------------------------------------------' |      * `-----------------------------------------------' | ||||||
|      */ |      */ | ||||||
|     [_QWERTY] = LAYOUT( \ |     [_QWERTY] = LAYOUT( | ||||||
|         KC_ESC,  KC_Q,   KC_W,   KC_E,   KC_R,   KC_T,   KC_Y,   KC_U,   KC_I,    KC_O,    KC_P,   KC_BSPC,\ |         KC_ESC,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC, | ||||||
|         KC_TAB,  KC_A,   KC_S,   KC_D,   KC_F,   KC_G,   KC_H,   KC_J,   KC_K,    KC_L,    KC_ENT,\ |         KC_TAB,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,             KC_ENT, | ||||||
|         KC_LSFT, KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM, KC_DOT,  KC_SLSH,\ |         KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, | ||||||
|         KC_LCTL, KC_LGUI, KC_LALT,          LT(_LOWER, KC_SPC),LT(_RAISE, KC_SPC),LT(_ADJUST, KC_LGUI), KC_RALT, KC_RCTL \ |         KC_LCTL, KC_LGUI, KC_LALT,                   LT1_SPC, LT2_SPC,                   LT3_LGU, KC_RALT, KC_RCTL | ||||||
| 		), |     ), | ||||||
| 
 | 
 | ||||||
|     /* Function Layer 1 HHKB style
 |     /* Function Layer 1 HHKB style
 | ||||||
|      * ,-----------------------------------------------------------. |      * ,-----------------------------------------------. | ||||||
|      * |   ~  |   !   |  @  | # | $ | % | ^ | & | * | ( | ) | Bkspc| |      * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) |BS | | ||||||
|      * |-----------------------------------------------------------| |      * |-----------------------------------------------| | ||||||
|      * |   F1   | F2 | F3 | F4 | F5 |  F6 | _ | + | [ | ] |  Pipe  | |      * | F1 |F2 |F3 |F4 |F5 |F6 | _ | + | { | } | Pipe | | ||||||
|      * |-----------------------------------------------------------| |      * |-----------------------------------------------| | ||||||
|      * |    F7    | F8 | F9 |  F10  |  F11 |  F12 | End|PgDn| ↓ |     |    | |      * |  F7  |F8 |F9 |F10|F11|F12| ~ | | |BL±|BL+ |BL-| | ||||||
|      * |-----------------------------------------------------------| |      * |-----------------------------------------------| | ||||||
|      * |     |    |     |           |             | Stop| App|     | |      * |    |   |    |        |   Left   |Down|Up |Rght| | ||||||
|      * `-----------------------------------------------------------' |      * `-----------------------------------------------' | ||||||
|      */ |      */ | ||||||
|     [_LOWER] = LAYOUT( \ |     [_LOWER] = LAYOUT( | ||||||
|         KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \ |         KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR,    KC_ASTR,    KC_LPRN, KC_RPRN, KC_BSPC, | ||||||
| 		KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \ |         KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_UNDS, KC_PLUS,    KC_LCBR,    KC_RCBR,          KC_PIPE, | ||||||
| 		KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,S(KC_NUHS),S(KC_NUBS),BL_TOGG, BL_INC, BL_DEC, \ |         KC_F7,            KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  S(KC_NUHS), S(KC_NUBS), BL_TOGG, BL_INC,  BL_DEC, | ||||||
| 		_______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ |         _______, _______, _______,                   _______, KC_LEFT,                         KC_DOWN, KC_UP,   KC_RGHT | ||||||
| 		), |     ), | ||||||
| 	 |  | ||||||
| 	/* Function Layer 1 HHKB style
 |  | ||||||
|      * ,-----------------------------------------------------------. |  | ||||||
|      * |Caps|    |MSel| ⏮ | ⏯ | ⏭ |PSCR|SkLk|Paus|  ↑ | Ins| Del| |  | ||||||
|      * |-----------------------------------------------------------| |  | ||||||
|      * |      | 🔇 | ⏏ |    |  * |  / |Hone|PgUp|  ← |  → |       | |  | ||||||
|      * |-----------------------------------------------------------| |  | ||||||
|      * |        | 🔉 | 🔊 |    |  + |  - | End|PgDn| ↓ |     |    | |  | ||||||
|      * |-----------------------------------------------------------| |  | ||||||
|      * |     |    |     |           |             | Stop| App|     | |  | ||||||
|      * `-----------------------------------------------------------' |  | ||||||
|      */ |  | ||||||
|     [_RAISE] = LAYOUT( \ |  | ||||||
|         KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC, \ |  | ||||||
| 		KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS, \ |  | ||||||
| 		KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_NUHS, KC_NUBS, _______, _______, KC_DEL, \ |  | ||||||
| 		_______, KC_TRNS, _______, KC_TRNS, KC_TRNS, _______, _______, RGB_TOG \ |  | ||||||
| 		), |  | ||||||
| 	 |  | ||||||
| 	/* Function Layer 1 HHKB style
 |  | ||||||
|      * ,-----------------------------------------------------------. |  | ||||||
|      * |Caps|    |MSel| ⏮ | ⏯ | ⏭ |PSCR|SkLk|Paus|  ↑ | Ins| Del| |  | ||||||
|      * |-----------------------------------------------------------| |  | ||||||
|      * |      | 🔇 | ⏏ |    |  * |  / |Hone|PgUp|  ← |  → |       | |  | ||||||
|      * |-----------------------------------------------------------| |  | ||||||
|      * |        | 🔉 | 🔊 |    |  + |  - | End|PgDn| ↓ |     |    | |  | ||||||
|      * |-----------------------------------------------------------| |  | ||||||
|      * |     |    |     |           |             | Stop| App|     | |  | ||||||
|      * `-----------------------------------------------------------' |  | ||||||
|      */ |  | ||||||
|     [_ADJUST] = LAYOUT( \ |  | ||||||
|         _______, RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, \ |  | ||||||
| 		_______, _______, _______, AU_ON,   AU_OFF,  AG_NORM, AG_SWAP, _______, _______, _______,  _______,  \ |  | ||||||
| 		_______, _______, _______, RGB_TOG,  RGB_MOD,  RGB_HUI,  RGB_HUD,  RGB_SAI,  RGB_SAD,  RGB_VAI,  RGB_VAD, \ |  | ||||||
| 		KC_SYSTEM_SLEEP, _______, _______, _______, _______, _______, _______, _______ \ |  | ||||||
| 		), |  | ||||||
| 
 | 
 | ||||||
|      |     /* Function Layer 1 HHKB style
 | ||||||
|  |      * ,-----------------------------------------------. | ||||||
|  |      * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |BS | | ||||||
|  |      * |-----------------------------------------------| | ||||||
|  |      * | F1 |F2 |F3 |F4 |F5 |F6 | - | = | [ | ] |  \   | | ||||||
|  |      * |-----------------------------------------------| | ||||||
|  |      * |  F7  |F8 |F9 |F10|F11|F12| # | \ |   |    |Del| | ||||||
|  |      * |-----------------------------------------------| | ||||||
|  |      * |    |   |    |        |          |    |   |RGB±| | ||||||
|  |      * `-----------------------------------------------' | ||||||
|  |      */ | ||||||
|  |     [_RAISE] = LAYOUT( | ||||||
|  |         KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC, | ||||||
|  |         KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC,          KC_BSLS, | ||||||
|  |         KC_F7,            KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_NUHS, KC_NUBS, _______, _______, KC_DEL, | ||||||
|  |         _______, _______, _______,                   _______, _______,                   _______, _______, RGB_TOG | ||||||
|  |     ), | ||||||
| 
 | 
 | ||||||
|  |     /* Function Layer 1 HHKB style
 | ||||||
|  |      * ,-----------------------------------------------. | ||||||
|  |      * |   |RST|   |   |   |   |   |   |   |   |   |Del| | ||||||
|  |      * |-----------------------------------------------| | ||||||
|  |      * |    |   |   |Au1|Au0|AGN|AGS|   |   |   |      | | ||||||
|  |      * |-----------------------------------------------| | ||||||
|  |      * |      |   |   |RTg|RMd|RH+|RH-|RS+|RS-|RV+ |RV-| | ||||||
|  |      * |-----------------------------------------------| | ||||||
|  |      * |SLP |   |    |        |          |    |   |RTg | | ||||||
|  |      * `-----------------------------------------------' | ||||||
|  |      */ | ||||||
|  |     [_ADJUST] = LAYOUT( | ||||||
|  |         _______, RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, | ||||||
|  |         _______, _______, _______, AU_ON,   AU_OFF,  AG_NORM, AG_SWAP, _______, _______, _______,          _______, | ||||||
|  |         _______,          _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, | ||||||
|  |         KC_SLEP, _______, _______,                   _______, _______,                   _______, _______, _______ | ||||||
|  |     ), | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| bool process_record_user(uint16_t keycode, keyrecord_t *record) { | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||||||
|   |     switch (keycode) { | ||||||
|   switch (keycode) { |         case LOWER: | ||||||
|      |             if (record->event.pressed) { | ||||||
|     case LOWER: |                 layer_on(_LOWER); | ||||||
|       if (record->event.pressed) { |                 update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||||||
|         layer_on(_LOWER); |             } else { | ||||||
|         update_tri_layer(_LOWER, _RAISE, _ADJUST); |                 layer_off(_LOWER); | ||||||
|       } else { |                 update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||||||
|         layer_off(_LOWER); |             } | ||||||
|         update_tri_layer(_LOWER, _RAISE, _ADJUST); |             return false; | ||||||
|       } |             break; | ||||||
|       return false; |         case RAISE: | ||||||
|       break; |             if (record->event.pressed) { | ||||||
|     case RAISE: |                 layer_on(_RAISE); | ||||||
|       if (record->event.pressed) { |                 update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||||||
|         layer_on(_RAISE); |             } else { | ||||||
|         update_tri_layer(_LOWER, _RAISE, _ADJUST); |                 layer_off(_RAISE); | ||||||
|       } else { |                 update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||||||
|         layer_off(_RAISE); |             } | ||||||
|         update_tri_layer(_LOWER, _RAISE, _ADJUST); |             return false; | ||||||
|       } |             break; | ||||||
|       return false; |         case ADJUST: | ||||||
|       break; |             if (record->event.pressed) { | ||||||
|     case ADJUST: |                 layer_on(_ADJUST); | ||||||
|       if (record->event.pressed) { |             } else { | ||||||
|         layer_on(_ADJUST); |                 layer_off(_ADJUST); | ||||||
|       } else { |             } | ||||||
|         layer_off(_ADJUST); |             return false; | ||||||
|       } |             break; | ||||||
|       return false; |     } | ||||||
|       break; |     return true; | ||||||
|   } |  | ||||||
|   return true; |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,20 +0,0 @@ | |||||||
| # 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 |  | ||||||
| MOUSEKEY_ENABLE  = no  # Mouse keys |  | ||||||
| EXTRAKEY_ENABLE  = yes # Audio control and System control |  | ||||||
| CONSOLE_ENABLE   = no  # Console for debug |  | ||||||
| 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 = yes  # 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  = yes  # Enable WS2812 RGB underlight. |  | ||||||
| 
 |  | ||||||
| # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 |  | ||||||
| SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend |  | ||||||
| 
 |  | ||||||
| @ -1,4 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| git checkout amj60      # gets you on branch amj60 |  | ||||||
| git fetch origin        # gets you up to date with origin |  | ||||||
| git merge origin/master |  | ||||||
							
								
								
									
										41
									
								
								keyboards/amj40/keymaps/default_625u_space/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								keyboards/amj40/keymaps/default_625u_space/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,41 @@ | |||||||
|  | /* Copyright 2021 James Young (@noroadsleft)
 | ||||||
|  |  * | ||||||
|  |  * 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/>.
 | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #include QMK_KEYBOARD_H | ||||||
|  | 
 | ||||||
|  | #define LT1_SCL     LT(1, KC_SCLN) | ||||||
|  | #define LT2_QUO     LT(2, KC_QUOT) | ||||||
|  | 
 | ||||||
|  | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|  |     [0] = LAYOUT_625u_space( | ||||||
|  |         KC_ESC,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC, | ||||||
|  |         KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,             KC_ENT, | ||||||
|  |         KC_LSFT,          KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, | ||||||
|  |         KC_LCTL, KC_LGUI, KC_LALT,                            KC_SPC,                             LT1_SCL, LT2_QUO | ||||||
|  |     ), | ||||||
|  |     [1] = LAYOUT_625u_space( | ||||||
|  |         KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_DEL, | ||||||
|  |         KC_TAB,  KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, _______,          KC_INS, | ||||||
|  |         _______,          KC_SCLN, KC_QUOT, KC_COLN, KC_DQUO, KC_TILD, KC_LABK, KC_RABK, KC_LBRC, KC_RBRC, _______, | ||||||
|  |         _______, _______, _______,                            _______,                            _______, _______ | ||||||
|  |     ), | ||||||
|  |     [2] = LAYOUT_625u_space( | ||||||
|  |         KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12, | ||||||
|  |         RESET,   KC_PWR,  _______, _______, KC_PSCR, KC_PAUS, BL_TOGG, BL_DEC,  BL_INC,  BL_STEP,          _______, | ||||||
|  |         KC_UP,            KC_MINS, KC_EQL,  KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LPRN, KC_RPRN, _______, | ||||||
|  |         KC_LEFT, KC_DOWN, KC_RGHT,                            _______,                            _______, _______ | ||||||
|  |     ), | ||||||
|  | }; | ||||||
							
								
								
									
										40
									
								
								keyboards/amj40/keymaps/default_ortho_275u_space/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								keyboards/amj40/keymaps/default_ortho_275u_space/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,40 @@ | |||||||
|  | /* Copyright 2021 James Young (@noroadsleft)
 | ||||||
|  |  * | ||||||
|  |  * 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/>.
 | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #include QMK_KEYBOARD_H | ||||||
|  | 
 | ||||||
|  | #define LT2_SLS     LT(2,KC_SLSH) | ||||||
|  | 
 | ||||||
|  | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|  |     [0] = LAYOUT_ortho_275u_space( | ||||||
|  |         KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC, | ||||||
|  |         KC_ESC,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, | ||||||
|  |         KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_UP,   KC_ENT, | ||||||
|  |         KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, MO(1),            KC_SPC,           LT2_SLS, KC_LEFT, KC_DOWN, KC_RGHT | ||||||
|  |     ), | ||||||
|  |     [1] = LAYOUT_ortho_275u_space( | ||||||
|  |         KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH, KC_QUES, KC_UP,   _______, | ||||||
|  |         _______, _______, _______, _______, _______,          _______,          _______, KC_LEFT, KC_DOWN, KC_RGHT | ||||||
|  |     ), | ||||||
|  |     [2] = LAYOUT_ortho_275u_space( | ||||||
|  |         KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSPC, | ||||||
|  |         KC_DEL,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_MINS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS, | ||||||
|  |         _______, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  BL_TOGG, BL_DEC,  BL_INC,  BL_STEP, _______, | ||||||
|  |         RESET,   _______, _______, _______, _______,          _______,          _______, _______, _______, _______ | ||||||
|  |     ), | ||||||
|  | }; | ||||||
							
								
								
									
										38
									
								
								keyboards/amj40/keymaps/default_ortho_600u_space/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								keyboards/amj40/keymaps/default_ortho_600u_space/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,38 @@ | |||||||
|  | /* Copyright 2021 James Young (@noroadsleft)
 | ||||||
|  |  * | ||||||
|  |  * 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/>.
 | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #include QMK_KEYBOARD_H | ||||||
|  | 
 | ||||||
|  | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|  |     [0] = LAYOUT_ortho_600u_space( | ||||||
|  |         KC_ESC,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC, | ||||||
|  |         KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_A,    KC_ENT, | ||||||
|  |         KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, | ||||||
|  |         KC_LCTL, KC_LGUI, MO(1),                     KC_SPC,                             MO(2),   KC_BSLS, KC_B | ||||||
|  |     ), | ||||||
|  |     [1] = LAYOUT_ortho_600u_space( | ||||||
|  |         KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_BSPC, | ||||||
|  |         KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UP,   _______, | ||||||
|  |         KC_UNDS, KC_EQL,  KC_LBRC, KC_RBRC, KC_BSLS, KC_SCLN, KC_QUOT, KC_GRV,  _______, KC_LEFT, KC_DOWN, KC_RGHT, | ||||||
|  |         _______, _______, _______,                   _______,                            _______, _______, _______ | ||||||
|  |     ), | ||||||
|  |     [2] = LAYOUT_ortho_600u_space( | ||||||
|  |         RESET,   _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, | ||||||
|  |         _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC,  BL_INC,  BL_STEP, _______, _______, | ||||||
|  |         _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||||
|  |         _______, _______, _______,                   _______,                            _______, _______, _______ | ||||||
|  |     ), | ||||||
|  | }; | ||||||
| @ -1,14 +1,23 @@ | |||||||
| AMJ40 | # AMJ40 | ||||||
| === | 
 | ||||||
|  | \ | ||||||
|  | [PCB photo](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/amj40/DSC_1718-768x512_640) | ||||||
| 
 | 
 | ||||||
| DIY/Assembled compact 40% keyboard. | DIY/Assembled compact 40% keyboard. | ||||||
| 
 | 
 | ||||||
| Keyboard Maintainer: QMK Community   | * Keyboard Maintainer: QMK Community | ||||||
| Hardware Supported: AMJ40 PCB   | * Hardware Supported: AMJ40 PCB | ||||||
| Hardware Availability: https://geekhack.org/index.php?topic=87961.0 | * Hardware Availability: no longer available | ||||||
|  | * References: [Flashquark](https://flashquark.com/product/amj40-40-mechanical-keyboard-kit/), [geekhack](https://geekhack.org/index.php?topic=87961.0) | ||||||
| 
 | 
 | ||||||
| Make example for this keyboard (after setting up your build environment): | Make example for this keyboard (after setting up your build environment): | ||||||
| 
 | 
 | ||||||
|     make amj40:default |     make amj40:default | ||||||
| 
 | 
 | ||||||
| See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. | Flashing example for this keyboard: | ||||||
|  | 
 | ||||||
|  |     make amj40:default:flash | ||||||
|  | 
 | ||||||
|  | To reset the board into bootloader mode, hold the key at the top left of the keyboard while connecting the USB cable (also erases persistent settings). | ||||||
|  | 
 | ||||||
|  | See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | ||||||
|  | |||||||
| @ -2,27 +2,21 @@ | |||||||
| MCU = atmega32u4 | MCU = atmega32u4 | ||||||
| 
 | 
 | ||||||
| # Bootloader selection
 | # Bootloader selection
 | ||||||
| #   Teensy       halfkay
 |  | ||||||
| #   Pro Micro    caterina
 |  | ||||||
| #   Atmel DFU    atmel-dfu
 |  | ||||||
| #   LUFA DFU     lufa-dfu
 |  | ||||||
| #   QMK DFU      qmk-dfu
 |  | ||||||
| #   ATmega32A    bootloadHID
 |  | ||||||
| #   ATmega328P   USBasp
 |  | ||||||
| BOOTLOADER = atmel-dfu | BOOTLOADER = atmel-dfu | ||||||
| 
 | 
 | ||||||
| # Build Options
 | # Build Options
 | ||||||
| #   comment out to disable the options.
 | #   change yes to no to disable
 | ||||||
| #
 | #
 | ||||||
| BOOTMAGIC_ENABLE = no  # Virtual DIP switch configuration | BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration | ||||||
| MOUSEKEY_ENABLE  = no  # Mouse keys | MOUSEKEY_ENABLE = yes       # Mouse keys | ||||||
| EXTRAKEY_ENABLE  = yes # Audio control and System control | EXTRAKEY_ENABLE = yes       # Audio control and System control | ||||||
| CONSOLE_ENABLE   = yes # Console for debug | CONSOLE_ENABLE = no         # Console for debug | ||||||
| COMMAND_ENABLE   = yes # Commands for debug and configuration | COMMAND_ENABLE = no         # Commands for debug and configuration | ||||||
| NKRO_ENABLE      = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | ||||||
| RGBLIGHT_ENABLE  = yes # Enable keyboard underlight functionality | SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend | ||||||
| BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | ||||||
| MIDI_ENABLE      = no  # MIDI controls | NKRO_ENABLE = yes           # USB Nkey Rollover | ||||||
| AUDIO_ENABLE     = no | BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality | ||||||
| UNICODE_ENABLE   = no  # Unicode | RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow | ||||||
| BLUETOOTH_ENABLE = no  # Enable Bluetooth with the Adafruit EZ-Key HID | BLUETOOTH_ENABLE = no       # Enable Bluetooth | ||||||
|  | AUDIO_ENABLE = no           # Audio output | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 James Young
						James Young