cleanup usb-usb converter code
This commit is contained in:
		
							parent
							
								
									7e5ccd50dc
								
							
						
					
					
						commit
						5bff9d6181
					
				@ -1,3 +1,3 @@
 | 
				
			|||||||
ifndef MAKEFILE_INCLUDED
 | 
					ifndef MAKEFILE_INCLUDED
 | 
				
			||||||
	include ../../../Makefile
 | 
						include ../../../Makefile
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +0,0 @@
 | 
				
			|||||||
F_CPU = 8000000
 | 
					 | 
				
			||||||
F_USB = 16000000
 | 
					 | 
				
			||||||
UNIMAP_ENABLE = yes
 | 
					 | 
				
			||||||
KEYMAP_SECTION_ENABLE = yes
 | 
					 | 
				
			||||||
include Makefile
 | 
					 | 
				
			||||||
@ -1,6 +0,0 @@
 | 
				
			|||||||
TARGET = usb_usb_debug
 | 
					 | 
				
			||||||
UNIMAP_ENABLE = yes
 | 
					 | 
				
			||||||
#KEYMAP_SECTION_ENABLE = yes
 | 
					 | 
				
			||||||
#LUFA_DEBUG = yes
 | 
					 | 
				
			||||||
OPT_DEFS += -DDEBUG_USB_HOST
 | 
					 | 
				
			||||||
include Makefile
 | 
					 | 
				
			||||||
@ -1,5 +0,0 @@
 | 
				
			|||||||
TARGET = usb_usb_unimap
 | 
					 | 
				
			||||||
UNIMAP_ENABLE = yes
 | 
					 | 
				
			||||||
KEYMAP_SECTION_ENABLE = yes
 | 
					 | 
				
			||||||
#LUFA_DEBUG = yes
 | 
					 | 
				
			||||||
include Makefile
 | 
					 | 
				
			||||||
@ -1,5 +1,9 @@
 | 
				
			|||||||
USB to USB keyboard protocol converter
 | 
					USB to USB keyboard protocol converter
 | 
				
			||||||
======================================
 | 
					======================================
 | 
				
			||||||
 | 
					Original code from Hasu's TMK firmware. Ported to QMK by Coloneljesus.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This port has been tested only on the Pro Micro variant described in the next section.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
See for detail and discussion.
 | 
					See for detail and discussion.
 | 
				
			||||||
https://geekhack.org/index.php?topic=69169.0
 | 
					https://geekhack.org/index.php?topic=69169.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -34,27 +38,7 @@ Also Pro Micro 3.3V(not Mini) or Teensy with mini host shield will work with som
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Build firmware
 | 
					Build firmware
 | 
				
			||||||
--------------
 | 
					--------------
 | 
				
			||||||
Build.
 | 
					Follow normal QMK build instructions to get a binary file. Flashing depends on you hardware.
 | 
				
			||||||
 | 
					 | 
				
			||||||
    $ git clone git://github.com/tmk/tmk_keyboard.git
 | 
					 | 
				
			||||||
    $ cd tmk_keyboard
 | 
					 | 
				
			||||||
    $ git submodule init
 | 
					 | 
				
			||||||
    $ git submodule update
 | 
					 | 
				
			||||||
    $ cd converter/usb_usb
 | 
					 | 
				
			||||||
    $ make
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
And Program converter. Push button on TMK converter and just run this.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    $ make dfu
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
In case of Leonardo push reset button then run command. Serial port name(COM17) depends your system. On Linux I got /dev/ttyACM0.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    $ DEV=COM17 make program
 | 
					 | 
				
			||||||
    or
 | 
					 | 
				
			||||||
    $ avrdude -patmega32u4 -cavr109 -b57600 -Uflash:w:usb_usb.hex -PCOM17
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Limitation
 | 
					Limitation
 | 
				
			||||||
----------
 | 
					----------
 | 
				
			||||||
@ -77,7 +61,7 @@ Update
 | 
				
			|||||||
2014/12/11  Added Hub support(confirmed with HHKB pro2)
 | 
					2014/12/11  Added Hub support(confirmed with HHKB pro2)
 | 
				
			||||||
2016/09/10  Unimap editor support
 | 
					2016/09/10  Unimap editor support
 | 
				
			||||||
2016/10/18  Fix LED state at startup
 | 
					2016/10/18  Fix LED state at startup
 | 
				
			||||||
 | 
					2017/08/16  Port to QMK
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Resource
 | 
					Resource
 | 
				
			||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
 | 
					Copyright 2017 Balz Guenat <balz.guenat@gmail.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This program is free software: you can redistribute it and/or modify
 | 
					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
 | 
					it under the terms of the GNU General Public License as published by
 | 
				
			||||||
@ -18,7 +18,12 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
#ifndef CONFIG_H
 | 
					#ifndef CONFIG_H
 | 
				
			||||||
#define CONFIG_H
 | 
					#define CONFIG_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// do not #include "config_common.h" because the pin names conflict with the USB HID code.
 | 
				
			||||||
 | 
					// CUSTOM_MATRIX is defined it that file, though, and we need it, so we define it ourselves.
 | 
				
			||||||
 | 
					// It's a hack, yeah...
 | 
				
			||||||
 | 
					#define CUSTOM_MATRIX 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* USB Device descriptor parameter */
 | 
				
			||||||
#define VENDOR_ID       0xFEED
 | 
					#define VENDOR_ID       0xFEED
 | 
				
			||||||
#define PRODUCT_ID      0x005B
 | 
					#define PRODUCT_ID      0x005B
 | 
				
			||||||
#define DEVICE_VER      0x0001
 | 
					#define DEVICE_VER      0x0001
 | 
				
			||||||
@ -27,13 +32,32 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			|||||||
#define DESCRIPTION     USB to USB Keyboard Converter with QMK
 | 
					#define DESCRIPTION     USB to USB Keyboard Converter with QMK
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* matrix size */
 | 
					/* size of virtual matrix */
 | 
				
			||||||
#define MATRIX_ROWS 16
 | 
					#define MATRIX_ROWS 16
 | 
				
			||||||
#define MATRIX_COLS 16
 | 
					#define MATRIX_COLS 16
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* matrix scanning is done in custom_matrix.cpp */
 | 
				
			||||||
#define DIODE_DIRECTION CUSTOM_MATRIX
 | 
					#define DIODE_DIRECTION CUSTOM_MATRIX
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* key combination for command */
 | 
					/* key combination for command */
 | 
				
			||||||
#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT))) 
 | 
					#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT))) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Feature disable options
 | 
				
			||||||
 | 
					 *  These options are also useful to firmware size reduction.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* disable debug print */
 | 
				
			||||||
 | 
					//#define NO_DEBUG
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* disable print */
 | 
				
			||||||
 | 
					//#define NO_PRINT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* disable action features */
 | 
				
			||||||
 | 
					//#define NO_ACTION_LAYER
 | 
				
			||||||
 | 
					//#define NO_ACTION_TAPPING
 | 
				
			||||||
 | 
					//#define NO_ACTION_ONESHOT
 | 
				
			||||||
 | 
					//#define NO_ACTION_MACRO
 | 
				
			||||||
 | 
					//#define NO_ACTION_FUNCTION
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					ifndef QUANTUM_DIR
 | 
				
			||||||
 | 
						include ../../../../../Makefile
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					#ifndef CONFIG_USER_H
 | 
				
			||||||
 | 
					#define CONFIG_USER_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "../../config.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										307
									
								
								keyboards/converter/usb_usb/keymaps/coloneljesus/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										307
									
								
								keyboards/converter/usb_usb/keymaps/coloneljesus/keymap.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,307 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					Copyright 2017 Balz Guenat <balz.guenat@gmail.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This program is free software: you can redistribute it and/or modify
 | 
				
			||||||
 | 
					it under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					the Free Software Foundation, either version 2 of the License, or
 | 
				
			||||||
 | 
					(at your option) any later version.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This program is distributed in the hope that it will be useful,
 | 
				
			||||||
 | 
					but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					GNU General Public License for more details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "usb_usb.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
 | 
				
			||||||
 | 
					    /* 0: plain Qwerty without layer switching
 | 
				
			||||||
 | 
					     *         ,---------------. ,---------------. ,---------------.
 | 
				
			||||||
 | 
					     *         |F13|F14|F15|F16| |F17|F18|F19|F20| |F21|F22|F23|F24|
 | 
				
			||||||
 | 
					     * ,---.   |---------------| |---------------| |---------------| ,-----------. ,---------------. ,-------.
 | 
				
			||||||
 | 
					     * |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| |VDn|VUp|Mut|Pwr| | Help  |
 | 
				
			||||||
 | 
					     * `---'   `---------------' `---------------' `---------------' `-----------' `---------------' `-------'
 | 
				
			||||||
 | 
					     * ,-----------------------------------------------------------. ,-----------. ,---------------. ,-------.
 | 
				
			||||||
 | 
					     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|JPY|Bsp| |Ins|Hom|PgU| |NmL|  /|  *|  -| |Stp|Agn|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------| |-----------| |---------------| |-------|
 | 
				
			||||||
 | 
					     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|  \  | |Del|End|PgD| |  7|  8|  9|  +| |Mnu|Und|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------| `-----------' |---------------| |-------|
 | 
				
			||||||
 | 
					     * |CapsL |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  :|  #|Retn|               |  4|  5|  6|KP,| |Sel|Cpy|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|     ,---.     |---------------| |-------|
 | 
				
			||||||
 | 
					     * |Shft|  <|  Z|  X|  C|  V|  B|  N|  M|  ,|  ,|  /| RO|Shift |     |Up |     |  1|  2|  3|KP=| |Exe|Pst|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------| ,-----------. |---------------| |-------|
 | 
				
			||||||
 | 
					     * |Ctl|Gui|Alt|MHEN|HNJ| Space  |H/E|HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| |  0    |  .|Ent| |Fnd|Cut|
 | 
				
			||||||
 | 
					     * `-----------------------------------------------------------' `-----------' `---------------' `-------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    // KEYMAP_ALL(
 | 
				
			||||||
 | 
					    //           F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24,
 | 
				
			||||||
 | 
					    // ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,PAUS,    VOLD,VOLU,MUTE,PWR,     HELP,
 | 
				
			||||||
 | 
					    // GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, JYEN,BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,    STOP,AGIN,
 | 
				
			||||||
 | 
					    // TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,     BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PPLS,    MENU,UNDO,
 | 
				
			||||||
 | 
					    // CAPS,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     NUHS,ENT,                         P4,  P5,  P6,  PCMM,    SLCT,COPY,
 | 
				
			||||||
 | 
					    // LSFT,NUBS,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,     RO,  RSFT,          UP,           P1,  P2,  P3,  PEQL,    EXEC,PSTE,
 | 
				
			||||||
 | 
					    // LCTL,LGUI,LALT,MHEN,HANJ,     SPC,      HAEN,HENK,KANA,RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT,    FIND,CUT
 | 
				
			||||||
 | 
					    // ),
 | 
				
			||||||
 | 
					    KEYMAP_ALL(
 | 
				
			||||||
 | 
					                      KC_F13,  KC_F14,  KC_F15,  KC_F16, KC_F17, KC_F18, KC_F19,  KC_F20,  KC_F21,  KC_F22,  KC_F23,  KC_F24,
 | 
				
			||||||
 | 
					    KC_ESC,           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_PSCR, KC_SLCK, KC_PAUS,    KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR,     KC_HELP, 
 | 
				
			||||||
 | 
					    KC_GRV,  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_JYEN, KC_BSPC,     KC_INS,  KC_HOME, KC_PGUP,    KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,    KC_STOP, KC_AGIN,
 | 
				
			||||||
 | 
					    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_DEL,  KC_END,  KC_PGDN,    KC_P7,   KC_P8,   KC_P9,   KC_PPLS,    KC_MENU, KC_UNDO,
 | 
				
			||||||
 | 
					    MO(1),   KC_A,    KC_S,    KC_D,    KC_F,    KC_G,   KC_H,   KC_J,   KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_NUHS, KC_ENT,                                    KC_P4,   KC_P5,   KC_P6,   KC_PCMM,    KC_SLCT, KC_COPY,
 | 
				
			||||||
 | 
					    KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,   KC_B,   KC_N,   KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RO,   KC_RSFT,              KC_UP,               KC_P1,   KC_P2,   KC_P3,   KC_PEQL,    KC_EXEC, KC_PSTE,
 | 
				
			||||||
 | 
					    KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_HANJ,         KC_SPC,         KC_HAEN, KC_HENK, KC_KANA, KC_RALT, KC_RGUI, KC_APP,  KC_RCTL,     KC_LEFT, KC_DOWN, KC_RGHT,    KC_P0,            KC_PDOT, KC_PENT,    KC_FIND, KC_CUT
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					    KEYMAP_ALL(
 | 
				
			||||||
 | 
					                      ______,  ______,  ______, ______, ______,  ______,  ______, ______,  ______, ______, ______, ______, 
 | 
				
			||||||
 | 
					    ______,           ______,  ______,  ______, ______, ______,  ______,  ______, ______,  ______, ______, ______, ______,             ______,______,______,    ______,______,______,______,    ______,
 | 
				
			||||||
 | 
					    KC_GRV,  ______,  ______,  ______,  ______, ______, ______,  ______,  ______, ______,  ______, ______, ______, ______, ______,     ______,______,______,    ______,______,______,______,    ______,______,
 | 
				
			||||||
 | 
					    KC_CAPS, KC_MPRV, KC_VOLU, KC_MNXT, ______, ______, ______,  ______,  ______, ______,  ______, ______, ______,         ______,     ______,______,______,    ______,______,______,______,    ______,______,
 | 
				
			||||||
 | 
					    ______,  KC_MUTE, KC_VOLD, KC_MPLY, ______, ______, KC_LEFT, KC_DOWN, KC_UP,  KC_RGHT, ______, ______,         ______, ______,                              ______,______,______,______,    ______,______,
 | 
				
			||||||
 | 
					    ______,  ______,  ______, ______,   ______, ______, ______,  ______,  ______, ______,  ______, ______,         ______, ______,            ______,           ______,______,______,______,    ______,______,
 | 
				
			||||||
 | 
					    ______,  ______,  ______, ______,   ______,         ______,           ______, ______,  ______, ______, ______, ______, RESET,      ______,______,______,    ______,       ______,______,    ______,______
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM fn_actions[] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
				
			||||||
 | 
					  switch(id) {
 | 
				
			||||||
 | 
					    default:
 | 
				
			||||||
 | 
					      return MACRO_NONE;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void matrix_init_user(void) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void matrix_scan_user(void) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
				
			||||||
 | 
					  return true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void led_set_user(uint8_t usb_led) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * Keymap samples
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					#if 0
 | 
				
			||||||
 | 
					    /* ANSI layout
 | 
				
			||||||
 | 
					     * ,---.   ,---------------. ,---------------. ,---------------. ,-----------.
 | 
				
			||||||
 | 
					     * |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
 | 
				
			||||||
 | 
					     * `---'   `---------------' `---------------' `---------------' `-----------'
 | 
				
			||||||
 | 
					     * ,-----------------------------------------------------------. ,-----------. ,---------------.
 | 
				
			||||||
 | 
					     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|    Bsp| |Ins|Hom|PgU| |NmL|  /|  *|  -|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------| |-----------| |---------------|
 | 
				
			||||||
 | 
					     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|  \  | |Del|End|PgD| |  7|  8|  9|  +|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------| `-----------' |-----------|   |
 | 
				
			||||||
 | 
					     * |CapsL |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  Return|               |  4|  5|  6|   |
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|     ,---.     |---------------|
 | 
				
			||||||
 | 
					     * |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  ,|  /|Shift     |     |Up |     |  1|  2|  3|   |
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------| ,-----------. |-----------|   |
 | 
				
			||||||
 | 
					     * |Ctl|Gui|Alt|           Space               |Alt|Gui|App|Ctl| |Lef|Dow|Rig| |      0|  .|Ent|
 | 
				
			||||||
 | 
					     * `-----------------------------------------------------------' `-----------' `---------------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    KEYMAP(
 | 
				
			||||||
 | 
					    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,      PSCR,SLCK,BRK,
 | 
				
			||||||
 | 
					    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,
 | 
				
			||||||
 | 
					    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSLS,     DEL, END, PGDN,    P7,  P8,  P9,
 | 
				
			||||||
 | 
					    LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     ENT,                         P4,  P5,  P6,  PPLS,
 | 
				
			||||||
 | 
					    LSFT,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,          RSFT,          UP,           P1,  P2,  P3,
 | 
				
			||||||
 | 
					    LCTL,LGUI,LALT,          SPC,                     RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* ISO layout
 | 
				
			||||||
 | 
					     * ,---.   ,---------------. ,---------------. ,---------------. ,-----------.
 | 
				
			||||||
 | 
					     * |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
 | 
				
			||||||
 | 
					     * `---'   `---------------' `---------------' `---------------' `-----------'
 | 
				
			||||||
 | 
					     * ,-----------------------------------------------------------. ,-----------. ,---------------.
 | 
				
			||||||
 | 
					     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  ^|    Bsp| |Ins|Hom|PgU| |NmL|  /|  *|  -|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------| |-----------| |---------------|
 | 
				
			||||||
 | 
					     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]| Retn| |Del|End|PgD| |  7|  8|  9|  +|
 | 
				
			||||||
 | 
					     * |------------------------------------------------------`    | `-----------' |-----------|   |
 | 
				
			||||||
 | 
					     * |CapsL |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  #|    |               |  4|  5|  6|   |
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|     ,---.     |---------------|
 | 
				
			||||||
 | 
					     * |Shft|\  |  Z|  X|  C|  V|  B|  N|  M|  ,|  ,|  /|Shift     |     |Up |     |  1|  2|  3|Ent|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------| ,-----------. |-----------|   |
 | 
				
			||||||
 | 
					     * |Ctl|Gui|Alt|           Space       |HNK|KNA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| |      0|  .|   |
 | 
				
			||||||
 | 
					     * `-----------------------------------------------------------' `-----------' `---------------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    KEYMAP_ISO(
 | 
				
			||||||
 | 
					    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,      PSCR,SLCK,BRK,
 | 
				
			||||||
 | 
					    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,
 | 
				
			||||||
 | 
					    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,ENT,      DEL, END, PGDN,    P7,  P8,  P9,  PPLS,
 | 
				
			||||||
 | 
					    LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,NUHS,                             P4,  P5,  P6,
 | 
				
			||||||
 | 
					    LSFT,NUBS,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,     RSFT,          UP,           P1,  P2,  P3,  PENT,
 | 
				
			||||||
 | 
					    LCTL,LGUI,LALT,          SPC,                     RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT 
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* JIS layout
 | 
				
			||||||
 | 
					     * ,---.   ,---------------. ,---------------. ,---------------. ,-----------.
 | 
				
			||||||
 | 
					     * |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
 | 
				
			||||||
 | 
					     * `---'   `---------------' `---------------' `---------------' `-----------'
 | 
				
			||||||
 | 
					     * ,-----------------------------------------------------------. ,-----------. ,---------------.
 | 
				
			||||||
 | 
					     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  ^|JPY|Bsp| |Ins|Hom|PgU| |NmL|  /|  *|  -|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------| |-----------| |---------------|
 | 
				
			||||||
 | 
					     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  @|  [| Retn| |Del|End|PgD| |  7|  8|  9|  +|
 | 
				
			||||||
 | 
					     * |------------------------------------------------------`    | `-----------' |-----------|   |
 | 
				
			||||||
 | 
					     * |CapsL |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  :|  ]|    |               |  4|  5|  6|   |
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|     ,---.     |---------------|
 | 
				
			||||||
 | 
					     * |Shft    |  Z|  X|  C|  V|  B|  N|  M|  ,|  ,|  /| RO|Shift |     |Up |     |  1|  2|  3|Ent|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------| ,-----------. |-----------|   |
 | 
				
			||||||
 | 
					     * |Ctl|Gui|Alt|MHEN|      Space      |HENK|KNA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| |      0|  .|   |
 | 
				
			||||||
 | 
					     * `-----------------------------------------------------------' `-----------' `---------------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    KEYMAP_JIS(
 | 
				
			||||||
 | 
					    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,BRK,
 | 
				
			||||||
 | 
					    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, JPY, BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,
 | 
				
			||||||
 | 
					    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,     ENT,      DEL, END, PGDN,    P7,  P8,  P9,  PPLS,
 | 
				
			||||||
 | 
					    LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,NUHS,                                  P4,  P5,  P6,
 | 
				
			||||||
 | 
					    LSFT,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,          RO,  RSFT,          UP,           P1,  P2,  P3,  PENT,
 | 
				
			||||||
 | 
					    LCTL,LGUI,LALT,MHEN,     SPC,                HENK,KANA,RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT 
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Colemak http://colemak.com
 | 
				
			||||||
 | 
					     * ,-----------------------------------------------------------.
 | 
				
			||||||
 | 
					     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backspa|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					     * |Tab  |  Q|  W|  F|  P|  G|  J|  L|  U|  Y|  ;|  [|  ]|    \|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					     * |BackSp|  A|  R|  S|  T|  D|  H|  N|  E|  I|  O|  '|Return  |
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					     * |Shift   |  Z|  X|  C|  V|  B|  K|  M|  ,|  ,|  /|Shift     |
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					     * |Ctrl |Gui |Alt |         Space         |Alt |Gui |Menu|Ctrl|
 | 
				
			||||||
 | 
					     * `----------------------------------------------------------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    KEYMAP_ALL(
 | 
				
			||||||
 | 
					              F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24,
 | 
				
			||||||
 | 
					    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,PAUS,    VOLD,VOLU,MUTE,PWR,     HELP,
 | 
				
			||||||
 | 
					    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, JYEN,BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,    STOP,AGIN,
 | 
				
			||||||
 | 
					    TAB, Q,   W,   F,   P,   G,   J,   L,   U,   Y,   SCLN,LBRC,RBRC,     BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PPLS,    MENU,UNDO,
 | 
				
			||||||
 | 
					    BSPC,A,   R,   S,   T,   D,   H,   N,   E,   I,   O,   QUOT,     NUHS,ENT,                         P4,  P5,  P6,  PCMM,    SLCT,COPY,
 | 
				
			||||||
 | 
					    LSFT,NUBS,Z,   X,   C,   V,   B,   K,   M,   COMM,DOT, SLSH,     RO,  RSFT,          UP,           P1,  P2,  P3,  PEQL,    EXEC,PSTE,
 | 
				
			||||||
 | 
					    LCTL,LGUI,LALT,MHEN,HANJ,     SPC,      HAEN,HENK,KANA,RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT,    FIND,CUT
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Dvorak http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard
 | 
				
			||||||
 | 
					     * ,-----------------------------------------------------------.
 | 
				
			||||||
 | 
					     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  [|  ]|Backspa|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					     * |Tab  |  '|  ,|  .|  P|  Y|  F|  G|  C|  R|  L|  /|  =|    \|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					     * |BackSp|  A|  O|  E|  U|  I|  D|  H|  T|  N|  S|  -|Return  |
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					     * |Shift   |  ;|  Q|  J|  K|  X|  B|  M|  Wl  V|  Z|Shift     |
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					     * |Ctrl |Gui |Alt |         Space         |Alt |Gui |Menu|Ctrl|
 | 
				
			||||||
 | 
					     * `-----------------------------------------------------------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    KEYMAP_ALL(
 | 
				
			||||||
 | 
					              F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24,
 | 
				
			||||||
 | 
					    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,PAUS,    VOLD,VOLU,MUTE,PWR,     HELP,
 | 
				
			||||||
 | 
					    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   LBRC,RBRC,JYEN,BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,    STOP,AGIN,
 | 
				
			||||||
 | 
					    TAB, QUOT,COMM,DOT, P,   Y,   F,   G,   C,   R,   L,   SLSH,EQL,      BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PPLS,    MENU,UNDO,
 | 
				
			||||||
 | 
					    CAPS,A,   O,   E,   U,   I,   D,   H,   T,   N,   S,   MINS,     NUHS,ENT,                         P4,  P5,  P6,  PCMM,    SLCT,COPY,
 | 
				
			||||||
 | 
					    LSFT,NUBS,SCLN,Q,   J,   K,   X,   B,   M,   W,   V,   Z,        RO,  RSFT,          UP,           P1,  P2,  P3,  PEQL,    EXEC,PSTE,
 | 
				
			||||||
 | 
					    LCTL,LGUI,LALT,MHEN,HANJ,     SPC,      HAEN,HENK,KANA,RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT,    FIND,CUT
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* Workman http://viralintrospection.wordpress.com/2010/09/06/a-different-philosophy-in-designing-keyboard-layouts/
 | 
				
			||||||
 | 
					     * ,-----------------------------------------------------------.
 | 
				
			||||||
 | 
					     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backspa|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					     * |Tab  |  Q|  D|  R|  W|  B|  J|  F|  U|  P|  ;|  [|  ]|    \|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					     * |CapsLo|  A|  S|  H|  T|  G|  Y|  N|  E|  O|  I|  '|Return  |
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					     * |Shift   |  Z|  X|  M|  C|  V|  K|  L|  ,|  ,|  /|Shift     |
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					     * |Ctrl |Gui |Alt |         Space         |Alt |Gui |Menu|Ctrl|
 | 
				
			||||||
 | 
					     * `-----------------------------------------------------------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    KEYMAP_ALL(
 | 
				
			||||||
 | 
					              F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24,
 | 
				
			||||||
 | 
					    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,PAUS,    VOLD,VOLU,MUTE,PWR,     HELP,
 | 
				
			||||||
 | 
					    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, JYEN,BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,    STOP,AGIN,
 | 
				
			||||||
 | 
					    TAB, Q,   D,   R,   W,   B,   J,   F,   U,   P,   SCLN,LBRC,RBRC,     BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PPLS,    MENU,UNDO,
 | 
				
			||||||
 | 
					    CAPS,A,   S,   H,   T,   G,   Y,   N,   E,   O,   I,   QUOT,     NUHS,ENT,                         P4,  P5,  P6,  PCMM,    SLCT,COPY,
 | 
				
			||||||
 | 
					    LSFT,NUBS,Z,   X,   M,   C,   V,   K,   L,   COMM,DOT, SLSH,     RO,  RSFT,          UP,           P1,  P2,  P3,  PEQL,    EXEC,PSTE,
 | 
				
			||||||
 | 
					    LCTL,LGUI,LALT,MHEN,HANJ,     SPC,      HAEN,HENK,KANA,RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT,    FIND,CUT
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * SpaceFN layout
 | 
				
			||||||
 | 
					 * http://geekhack.org/index.php?topic=51069.0
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					    /* 0: plain Qwerty
 | 
				
			||||||
 | 
					     *         ,---------------. ,---------------. ,---------------.
 | 
				
			||||||
 | 
					     *         |F13|F14|F15|F16| |F17|F18|F19|F20| |F21|F22|F23|F24|
 | 
				
			||||||
 | 
					     * ,---.   |---------------| |---------------| |---------------| ,-----------. ,---------------. ,-------.
 | 
				
			||||||
 | 
					     * |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| |VDn|VUp|Mut|Pwr| | Help  |
 | 
				
			||||||
 | 
					     * `---'   `---------------' `---------------' `---------------' `-----------' `---------------' `-------'
 | 
				
			||||||
 | 
					     * ,-----------------------------------------------------------. ,-----------. ,---------------. ,-------.
 | 
				
			||||||
 | 
					     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|JPY|Bsp| |Ins|Hom|PgU| |NmL|  /|  *|  -| |Stp|Agn|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------| |-----------| |---------------| |-------|
 | 
				
			||||||
 | 
					     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|  \  | |Del|End|PgD| |  7|  8|  9|  +| |Mnu|Und|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------| `-----------' |---------------| |-------|
 | 
				
			||||||
 | 
					     * |LCtrl |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  :|  #|Retn|               |  4|  5|  6|KP,| |Sel|Cpy|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|     ,---.     |---------------| |-------|
 | 
				
			||||||
 | 
					     * |Shft|  <|  Z|  X|  C|  V|  B|  N|  M|  ,|  ,|  /| RO|Shift |     |Up |     |  1|  2|  3|KP=| |Exe|Pst|
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------| ,-----------. |---------------| |-------|
 | 
				
			||||||
 | 
					     * |Ctl|Gui|Alt|MHEN|HNJ| Space  |H/E|HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| |  0    |  .|Ent| |Fnd|Cut|
 | 
				
			||||||
 | 
					     * `-----------------------------------------------------------' `-----------' `---------------' `-------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    [0] = KEYMAP_ALL(
 | 
				
			||||||
 | 
					              F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24,
 | 
				
			||||||
 | 
					    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,PAUS,    VOLD,VOLU,MUTE,PWR,     HELP,
 | 
				
			||||||
 | 
					    ESC, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, JYEN,BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,    STOP,AGIN,
 | 
				
			||||||
 | 
					    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,     BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PPLS,    MENU,UNDO,
 | 
				
			||||||
 | 
					    LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     NUHS,ENT,                         P4,  P5,  P6,  PCMM,    SLCT,COPY,
 | 
				
			||||||
 | 
					    LSFT,NUBS,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,     RO,  RSFT,          UP,           P1,  P2,  P3,  PEQL,    EXEC,PSTE,
 | 
				
			||||||
 | 
					    LCTL,LGUI,LALT,MHEN,HANJ,     FN0,      HAEN,HENK,KANA,RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT,    FIND,CUT
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* 1: SpaceFN
 | 
				
			||||||
 | 
					     * ,-----------------------------------------------------------.
 | 
				
			||||||
 | 
					     * |`  | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete |
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					     * |Caps |   |   |Esc|   |   |   |Hom|Up |End|Psc|Slk|Pau|Ins  |
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					     * |      |   |   |   |   |   |PgU|Lef|Dow|Rig|   |   |        |
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					     * |        |   |   |   |   |Spc|PgD|`  |~  |   |Men|          |
 | 
				
			||||||
 | 
					     * |-----------------------------------------------------------|
 | 
				
			||||||
 | 
					     * |    |    |    |                        |    |    |    |    |
 | 
				
			||||||
 | 
					     * `-----------------------------------------------------------'
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    [1] = KEYMAP_ALL(
 | 
				
			||||||
 | 
					              TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
 | 
				
			||||||
 | 
					    TRNS,     TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,    TRNS,
 | 
				
			||||||
 | 
					    GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS,DEL,      TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,    TRNS,TRNS,
 | 
				
			||||||
 | 
					    CAPS,TRNS,TRNS,ESC, TRNS,TRNS,TRNS,HOME,UP,  END, PSCR,SLCK,PAUS,     INS,      TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,    TRNS,TRNS,
 | 
				
			||||||
 | 
					    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PGUP,LEFT,DOWN,RGHT,TRNS,TRNS,     TRNS,TRNS,                        TRNS,TRNS,TRNS,TRNS,    TRNS,TRNS,
 | 
				
			||||||
 | 
					    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,SPC, PGDN,GRV, FN1, TRNS,APP,      TRNS,TRNS,          TRNS,         TRNS,TRNS,TRNS,TRNS,    TRNS,TRNS,
 | 
				
			||||||
 | 
					    TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS,     TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS,TRNS,TRNS,    TRNS,     TRNS,TRNS,    TRNS,TRNS
 | 
				
			||||||
 | 
					    ),
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const action_t PROGMEM fn_actions[] = {
 | 
				
			||||||
 | 
					    [0] = ACTION_LAYER_TAP_KEY(1, KC_SPACE),
 | 
				
			||||||
 | 
					    [1] = ACTION_MODS_KEY(MOD_LSFT, KC_GRV),    // tilde
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
@ -1,3 +1,3 @@
 | 
				
			|||||||
ifndef QUANTUM_DIR
 | 
					ifndef QUANTUM_DIR
 | 
				
			||||||
	include ../../../../../Makefile
 | 
						include ../../../../../Makefile
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
				
			|||||||
@ -15,18 +15,8 @@ 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/>.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <stdint.h>
 | 
					 | 
				
			||||||
#include <stdbool.h>
 | 
					 | 
				
			||||||
#include "keycode.h"
 | 
					 | 
				
			||||||
#include "print.h"
 | 
					 | 
				
			||||||
#include "debug.h"
 | 
					 | 
				
			||||||
//#include "action.h"
 | 
					 | 
				
			||||||
//#include "action_macro.h"
 | 
					 | 
				
			||||||
//#include "report.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "usb_usb.h"
 | 
					#include "usb_usb.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
 | 
					const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
 | 
				
			||||||
    /* 0: plain Qwerty without layer switching
 | 
					    /* 0: plain Qwerty without layer switching
 | 
				
			||||||
     *         ,---------------. ,---------------. ,---------------.
 | 
					     *         ,---------------. ,---------------. ,---------------.
 | 
				
			||||||
@ -46,252 +36,50 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
 | 
				
			|||||||
     * |Ctl|Gui|Alt|MHEN|HNJ| Space  |H/E|HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| |  0    |  .|Ent| |Fnd|Cut|
 | 
					     * |Ctl|Gui|Alt|MHEN|HNJ| Space  |H/E|HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| |  0    |  .|Ent| |Fnd|Cut|
 | 
				
			||||||
     * `-----------------------------------------------------------' `-----------' `---------------' `-------'
 | 
					     * `-----------------------------------------------------------' `-----------' `---------------' `-------'
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    // KEYMAP_ALL(
 | 
					    [0] = KEYMAP_ALL(
 | 
				
			||||||
    //           F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24,
 | 
					 | 
				
			||||||
    // ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,PAUS,    VOLD,VOLU,MUTE,PWR,     HELP,
 | 
					 | 
				
			||||||
    // GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, JYEN,BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,    STOP,AGIN,
 | 
					 | 
				
			||||||
    // TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,     BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PPLS,    MENU,UNDO,
 | 
					 | 
				
			||||||
    // CAPS,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     NUHS,ENT,                         P4,  P5,  P6,  PCMM,    SLCT,COPY,
 | 
					 | 
				
			||||||
    // LSFT,NUBS,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,     RO,  RSFT,          UP,           P1,  P2,  P3,  PEQL,    EXEC,PSTE,
 | 
					 | 
				
			||||||
    // LCTL,LGUI,LALT,MHEN,HANJ,     SPC,      HAEN,HENK,KANA,RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT,    FIND,CUT
 | 
					 | 
				
			||||||
    // ),
 | 
					 | 
				
			||||||
    KEYMAP_ALL(
 | 
					 | 
				
			||||||
                      KC_F13,  KC_F14,  KC_F15,  KC_F16, KC_F17, KC_F18, KC_F19,  KC_F20,  KC_F21,  KC_F22,  KC_F23,  KC_F24,
 | 
					                      KC_F13,  KC_F14,  KC_F15,  KC_F16, KC_F17, KC_F18, KC_F19,  KC_F20,  KC_F21,  KC_F22,  KC_F23,  KC_F24,
 | 
				
			||||||
    KC_ESC,           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_PSCR, KC_SLCK, KC_PAUS,    KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR,     KC_HELP, 
 | 
					    KC_ESC,           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_PSCR, KC_SLCK, KC_PAUS,    KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR,     KC_HELP, 
 | 
				
			||||||
    KC_GRV,  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_JYEN, KC_BSPC,     KC_INS,  KC_HOME, KC_PGUP,    KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,    KC_STOP, KC_AGIN,
 | 
					    KC_GRV,  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_JYEN, KC_BSPC,     KC_INS,  KC_HOME, KC_PGUP,    KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,    KC_STOP, KC_AGIN,
 | 
				
			||||||
    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_DEL,  KC_END,  KC_PGDN,    KC_P7,   KC_P8,   KC_P9,   KC_PPLS,    KC_MENU, KC_UNDO,
 | 
					    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_DEL,  KC_END,  KC_PGDN,    KC_P7,   KC_P8,   KC_P9,   KC_PPLS,    KC_MENU, KC_UNDO,
 | 
				
			||||||
    MO(1),   KC_A,    KC_S,    KC_D,    KC_F,    KC_G,   KC_H,   KC_J,   KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_NUHS, KC_ENT,                                    KC_P4,   KC_P5,   KC_P6,   KC_PCMM,    KC_SLCT, KC_COPY,
 | 
					    KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,   KC_H,   KC_J,   KC_K,    KC_L,    KC_SCLN, KC_QUOT,          KC_NUHS, KC_ENT,                                    KC_P4,   KC_P5,   KC_P6,   KC_PCMM,    KC_SLCT, KC_COPY,
 | 
				
			||||||
    KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,   KC_B,   KC_N,   KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RO,   KC_RSFT,              KC_UP,               KC_P1,   KC_P2,   KC_P3,   KC_PEQL,    KC_EXEC, KC_PSTE,
 | 
					    KC_LSFT, KC_NUBS, KC_Z,    KC_X,    KC_C,    KC_V,   KC_B,   KC_N,   KC_M,    KC_COMM, KC_DOT,  KC_SLSH,          KC_RO,   KC_RSFT,              KC_UP,               KC_P1,   KC_P2,   KC_P3,   KC_PEQL,    KC_EXEC, KC_PSTE,
 | 
				
			||||||
    KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_HANJ,         KC_SPC,         KC_HAEN, KC_HENK, KC_KANA, KC_RALT, KC_RGUI, KC_APP,  KC_RCTL,     KC_LEFT, KC_DOWN, KC_RGHT,    KC_P0,            KC_PDOT, KC_PENT,    KC_FIND, KC_CUT
 | 
					    KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_HANJ,         KC_SPC,         KC_HAEN, KC_HENK, KC_KANA, KC_RALT, KC_RGUI, KC_APP,  KC_RCTL,     KC_LEFT, KC_DOWN, KC_RGHT,    KC_P0,            KC_PDOT, KC_PENT,    KC_FIND, KC_CUT
 | 
				
			||||||
    ),
 | 
					    ),
 | 
				
			||||||
    KEYMAP_ALL(
 | 
					    [1] = KEYMAP_ALL(
 | 
				
			||||||
                      ______,  ______,  ______, ______, ______,  ______,  ______, ______,  ______, ______, ______, ______, 
 | 
					                      ______,  ______,  ______, ______, ______,  ______,  ______, ______,  ______, ______, ______, ______, 
 | 
				
			||||||
    ______,           ______,  ______,  ______, ______, ______,  ______,  ______, ______,  ______, ______, ______, ______,             ______,______,______,    ______,______,______,______,    ______,
 | 
					    ______,           ______,  ______,  ______, ______, ______,  ______,  ______, ______,  ______, ______, ______, ______,             ______,______,______,    ______,______,______,______,    ______,
 | 
				
			||||||
    KC_GRV,  ______,  ______,  ______,  ______, ______, ______,  ______,  ______, ______,  ______, ______, ______, ______, ______,     ______,______,______,    ______,______,______,______,    ______,______,
 | 
					    ______,  ______,  ______,  ______,  ______, ______, ______,  ______,  ______, ______,  ______, ______, ______, ______, ______,     ______,______,______,    ______,______,______,______,    ______,______,
 | 
				
			||||||
    KC_CAPS, KC_MPRV, KC_VOLU, KC_MNXT, ______, ______, ______,  ______,  ______, ______,  ______, ______, ______,         ______,     ______,______,______,    ______,______,______,______,    ______,______,
 | 
					    ______,  ______,  ______,  ______,  ______, ______, ______,  ______,  ______, ______,  ______, ______, ______,         ______,     ______,______,______,    ______,______,______,______,    ______,______,
 | 
				
			||||||
    ______,  KC_MUTE, KC_VOLD, KC_MPLY, ______, ______, KC_LEFT, KC_DOWN, KC_UP,  KC_RGHT, ______, ______,         ______, ______,                              ______,______,______,______,    ______,______,
 | 
					    ______,  ______,  ______,  ______,  ______, ______, ______,  ______,  ______, ______,  ______, ______,         ______, ______,                              ______,______,______,______,    ______,______,
 | 
				
			||||||
    ______,  ______,  ______, ______,   ______, ______, ______,  ______,  ______, ______,  ______, ______,         ______, ______,            ______,           ______,______,______,______,    ______,______,
 | 
					    ______,  ______,  ______,  ______,  ______, ______, ______,  ______,  ______, ______,  ______, ______,         ______, ______,            ______,           ______,______,______,______,    ______,______,
 | 
				
			||||||
    ______,  ______,  ______, ______,   ______,         ______,           ______, ______,  ______, ______, ______, ______, RESET,      ______,______,______,    ______,       ______,______,    ______,______
 | 
					    ______,  ______,  ______,  ______,  ______,         ______,           ______, ______,  ______, ______, ______, ______, ______,     ______,______,______,    ______,       ______,______,    ______,______
 | 
				
			||||||
    ),
 | 
					    ),
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// const action_t fn_actions[] PROGMEM = {};
 | 
					const uint16_t PROGMEM fn_actions[] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// const action_t PROGMEM fn_actions[] = {
 | 
					 | 
				
			||||||
//     [0] = ACTION_LAYER_MOMENTARY(1),
 | 
					 | 
				
			||||||
// };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * Keymap samples
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
#if 0
 | 
					 | 
				
			||||||
    /* ANSI layout
 | 
					 | 
				
			||||||
     * ,---.   ,---------------. ,---------------. ,---------------. ,-----------.
 | 
					 | 
				
			||||||
     * |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
 | 
					 | 
				
			||||||
     * `---'   `---------------' `---------------' `---------------' `-----------'
 | 
					 | 
				
			||||||
     * ,-----------------------------------------------------------. ,-----------. ,---------------.
 | 
					 | 
				
			||||||
     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|    Bsp| |Ins|Hom|PgU| |NmL|  /|  *|  -|
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------| |-----------| |---------------|
 | 
					 | 
				
			||||||
     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|  \  | |Del|End|PgD| |  7|  8|  9|  +|
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------| `-----------' |-----------|   |
 | 
					 | 
				
			||||||
     * |CapsL |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  Return|               |  4|  5|  6|   |
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|     ,---.     |---------------|
 | 
					 | 
				
			||||||
     * |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  ,|  /|Shift     |     |Up |     |  1|  2|  3|   |
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------| ,-----------. |-----------|   |
 | 
					 | 
				
			||||||
     * |Ctl|Gui|Alt|           Space               |Alt|Gui|App|Ctl| |Lef|Dow|Rig| |      0|  .|Ent|
 | 
					 | 
				
			||||||
     * `-----------------------------------------------------------' `-----------' `---------------'
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    KEYMAP(
 | 
					 | 
				
			||||||
    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,      PSCR,SLCK,BRK,
 | 
					 | 
				
			||||||
    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,
 | 
					 | 
				
			||||||
    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSLS,     DEL, END, PGDN,    P7,  P8,  P9,
 | 
					 | 
				
			||||||
    LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     ENT,                         P4,  P5,  P6,  PPLS,
 | 
					 | 
				
			||||||
    LSFT,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,          RSFT,          UP,           P1,  P2,  P3,
 | 
					 | 
				
			||||||
    LCTL,LGUI,LALT,          SPC,                     RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /* ISO layout
 | 
					 | 
				
			||||||
     * ,---.   ,---------------. ,---------------. ,---------------. ,-----------.
 | 
					 | 
				
			||||||
     * |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
 | 
					 | 
				
			||||||
     * `---'   `---------------' `---------------' `---------------' `-----------'
 | 
					 | 
				
			||||||
     * ,-----------------------------------------------------------. ,-----------. ,---------------.
 | 
					 | 
				
			||||||
     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  ^|    Bsp| |Ins|Hom|PgU| |NmL|  /|  *|  -|
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------| |-----------| |---------------|
 | 
					 | 
				
			||||||
     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]| Retn| |Del|End|PgD| |  7|  8|  9|  +|
 | 
					 | 
				
			||||||
     * |------------------------------------------------------`    | `-----------' |-----------|   |
 | 
					 | 
				
			||||||
     * |CapsL |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  #|    |               |  4|  5|  6|   |
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|     ,---.     |---------------|
 | 
					 | 
				
			||||||
     * |Shft|\  |  Z|  X|  C|  V|  B|  N|  M|  ,|  ,|  /|Shift     |     |Up |     |  1|  2|  3|Ent|
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------| ,-----------. |-----------|   |
 | 
					 | 
				
			||||||
     * |Ctl|Gui|Alt|           Space       |HNK|KNA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| |      0|  .|   |
 | 
					 | 
				
			||||||
     * `-----------------------------------------------------------' `-----------' `---------------'
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    KEYMAP_ISO(
 | 
					 | 
				
			||||||
    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,      PSCR,SLCK,BRK,
 | 
					 | 
				
			||||||
    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,
 | 
					 | 
				
			||||||
    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,ENT,      DEL, END, PGDN,    P7,  P8,  P9,  PPLS,
 | 
					 | 
				
			||||||
    LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,NUHS,                             P4,  P5,  P6,
 | 
					 | 
				
			||||||
    LSFT,NUBS,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,     RSFT,          UP,           P1,  P2,  P3,  PENT,
 | 
					 | 
				
			||||||
    LCTL,LGUI,LALT,          SPC,                     RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT 
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /* JIS layout
 | 
					 | 
				
			||||||
     * ,---.   ,---------------. ,---------------. ,---------------. ,-----------.
 | 
					 | 
				
			||||||
     * |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
 | 
					 | 
				
			||||||
     * `---'   `---------------' `---------------' `---------------' `-----------'
 | 
					 | 
				
			||||||
     * ,-----------------------------------------------------------. ,-----------. ,---------------.
 | 
					 | 
				
			||||||
     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  ^|JPY|Bsp| |Ins|Hom|PgU| |NmL|  /|  *|  -|
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------| |-----------| |---------------|
 | 
					 | 
				
			||||||
     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  @|  [| Retn| |Del|End|PgD| |  7|  8|  9|  +|
 | 
					 | 
				
			||||||
     * |------------------------------------------------------`    | `-----------' |-----------|   |
 | 
					 | 
				
			||||||
     * |CapsL |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  :|  ]|    |               |  4|  5|  6|   |
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|     ,---.     |---------------|
 | 
					 | 
				
			||||||
     * |Shft    |  Z|  X|  C|  V|  B|  N|  M|  ,|  ,|  /| RO|Shift |     |Up |     |  1|  2|  3|Ent|
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------| ,-----------. |-----------|   |
 | 
					 | 
				
			||||||
     * |Ctl|Gui|Alt|MHEN|      Space      |HENK|KNA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| |      0|  .|   |
 | 
					 | 
				
			||||||
     * `-----------------------------------------------------------' `-----------' `---------------'
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    KEYMAP_JIS(
 | 
					 | 
				
			||||||
    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,BRK,
 | 
					 | 
				
			||||||
    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, JPY, BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,
 | 
					 | 
				
			||||||
    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,     ENT,      DEL, END, PGDN,    P7,  P8,  P9,  PPLS,
 | 
					 | 
				
			||||||
    LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,NUHS,                                  P4,  P5,  P6,
 | 
					 | 
				
			||||||
    LSFT,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,          RO,  RSFT,          UP,           P1,  P2,  P3,  PENT,
 | 
					 | 
				
			||||||
    LCTL,LGUI,LALT,MHEN,     SPC,                HENK,KANA,RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT 
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /* Colemak http://colemak.com
 | 
					 | 
				
			||||||
     * ,-----------------------------------------------------------.
 | 
					 | 
				
			||||||
     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backspa|
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
     * |Tab  |  Q|  W|  F|  P|  G|  J|  L|  U|  Y|  ;|  [|  ]|    \|
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
     * |BackSp|  A|  R|  S|  T|  D|  H|  N|  E|  I|  O|  '|Return  |
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
     * |Shift   |  Z|  X|  C|  V|  B|  K|  M|  ,|  ,|  /|Shift     |
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
     * |Ctrl |Gui |Alt |         Space         |Alt |Gui |Menu|Ctrl|
 | 
					 | 
				
			||||||
     * `----------------------------------------------------------'
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    KEYMAP_ALL(
 | 
					 | 
				
			||||||
              F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24,
 | 
					 | 
				
			||||||
    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,PAUS,    VOLD,VOLU,MUTE,PWR,     HELP,
 | 
					 | 
				
			||||||
    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, JYEN,BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,    STOP,AGIN,
 | 
					 | 
				
			||||||
    TAB, Q,   W,   F,   P,   G,   J,   L,   U,   Y,   SCLN,LBRC,RBRC,     BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PPLS,    MENU,UNDO,
 | 
					 | 
				
			||||||
    BSPC,A,   R,   S,   T,   D,   H,   N,   E,   I,   O,   QUOT,     NUHS,ENT,                         P4,  P5,  P6,  PCMM,    SLCT,COPY,
 | 
					 | 
				
			||||||
    LSFT,NUBS,Z,   X,   C,   V,   B,   K,   M,   COMM,DOT, SLSH,     RO,  RSFT,          UP,           P1,  P2,  P3,  PEQL,    EXEC,PSTE,
 | 
					 | 
				
			||||||
    LCTL,LGUI,LALT,MHEN,HANJ,     SPC,      HAEN,HENK,KANA,RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT,    FIND,CUT
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /* Dvorak http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard
 | 
					 | 
				
			||||||
     * ,-----------------------------------------------------------.
 | 
					 | 
				
			||||||
     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  [|  ]|Backspa|
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
     * |Tab  |  '|  ,|  .|  P|  Y|  F|  G|  C|  R|  L|  /|  =|    \|
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
     * |BackSp|  A|  O|  E|  U|  I|  D|  H|  T|  N|  S|  -|Return  |
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
     * |Shift   |  ;|  Q|  J|  K|  X|  B|  M|  Wl  V|  Z|Shift     |
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
     * |Ctrl |Gui |Alt |         Space         |Alt |Gui |Menu|Ctrl|
 | 
					 | 
				
			||||||
     * `-----------------------------------------------------------'
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    KEYMAP_ALL(
 | 
					 | 
				
			||||||
              F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24,
 | 
					 | 
				
			||||||
    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,PAUS,    VOLD,VOLU,MUTE,PWR,     HELP,
 | 
					 | 
				
			||||||
    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   LBRC,RBRC,JYEN,BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,    STOP,AGIN,
 | 
					 | 
				
			||||||
    TAB, QUOT,COMM,DOT, P,   Y,   F,   G,   C,   R,   L,   SLSH,EQL,      BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PPLS,    MENU,UNDO,
 | 
					 | 
				
			||||||
    CAPS,A,   O,   E,   U,   I,   D,   H,   T,   N,   S,   MINS,     NUHS,ENT,                         P4,  P5,  P6,  PCMM,    SLCT,COPY,
 | 
					 | 
				
			||||||
    LSFT,NUBS,SCLN,Q,   J,   K,   X,   B,   M,   W,   V,   Z,        RO,  RSFT,          UP,           P1,  P2,  P3,  PEQL,    EXEC,PSTE,
 | 
					 | 
				
			||||||
    LCTL,LGUI,LALT,MHEN,HANJ,     SPC,      HAEN,HENK,KANA,RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT,    FIND,CUT
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /* Workman http://viralintrospection.wordpress.com/2010/09/06/a-different-philosophy-in-designing-keyboard-layouts/
 | 
					 | 
				
			||||||
     * ,-----------------------------------------------------------.
 | 
					 | 
				
			||||||
     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backspa|
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
     * |Tab  |  Q|  D|  R|  W|  B|  J|  F|  U|  P|  ;|  [|  ]|    \|
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
     * |CapsLo|  A|  S|  H|  T|  G|  Y|  N|  E|  O|  I|  '|Return  |
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
     * |Shift   |  Z|  X|  M|  C|  V|  K|  L|  ,|  ,|  /|Shift     |
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
     * |Ctrl |Gui |Alt |         Space         |Alt |Gui |Menu|Ctrl|
 | 
					 | 
				
			||||||
     * `-----------------------------------------------------------'
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    KEYMAP_ALL(
 | 
					 | 
				
			||||||
              F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24,
 | 
					 | 
				
			||||||
    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,PAUS,    VOLD,VOLU,MUTE,PWR,     HELP,
 | 
					 | 
				
			||||||
    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, JYEN,BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,    STOP,AGIN,
 | 
					 | 
				
			||||||
    TAB, Q,   D,   R,   W,   B,   J,   F,   U,   P,   SCLN,LBRC,RBRC,     BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PPLS,    MENU,UNDO,
 | 
					 | 
				
			||||||
    CAPS,A,   S,   H,   T,   G,   Y,   N,   E,   O,   I,   QUOT,     NUHS,ENT,                         P4,  P5,  P6,  PCMM,    SLCT,COPY,
 | 
					 | 
				
			||||||
    LSFT,NUBS,Z,   X,   M,   C,   V,   K,   L,   COMM,DOT, SLSH,     RO,  RSFT,          UP,           P1,  P2,  P3,  PEQL,    EXEC,PSTE,
 | 
					 | 
				
			||||||
    LCTL,LGUI,LALT,MHEN,HANJ,     SPC,      HAEN,HENK,KANA,RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT,    FIND,CUT
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * SpaceFN layout
 | 
					 | 
				
			||||||
 * http://geekhack.org/index.php?topic=51069.0
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					 | 
				
			||||||
    /* 0: plain Qwerty
 | 
					 | 
				
			||||||
     *         ,---------------. ,---------------. ,---------------.
 | 
					 | 
				
			||||||
     *         |F13|F14|F15|F16| |F17|F18|F19|F20| |F21|F22|F23|F24|
 | 
					 | 
				
			||||||
     * ,---.   |---------------| |---------------| |---------------| ,-----------. ,---------------. ,-------.
 | 
					 | 
				
			||||||
     * |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| |VDn|VUp|Mut|Pwr| | Help  |
 | 
					 | 
				
			||||||
     * `---'   `---------------' `---------------' `---------------' `-----------' `---------------' `-------'
 | 
					 | 
				
			||||||
     * ,-----------------------------------------------------------. ,-----------. ,---------------. ,-------.
 | 
					 | 
				
			||||||
     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|JPY|Bsp| |Ins|Hom|PgU| |NmL|  /|  *|  -| |Stp|Agn|
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------| |-----------| |---------------| |-------|
 | 
					 | 
				
			||||||
     * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|  \  | |Del|End|PgD| |  7|  8|  9|  +| |Mnu|Und|
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------| `-----------' |---------------| |-------|
 | 
					 | 
				
			||||||
     * |LCtrl |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  :|  #|Retn|               |  4|  5|  6|KP,| |Sel|Cpy|
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|     ,---.     |---------------| |-------|
 | 
					 | 
				
			||||||
     * |Shft|  <|  Z|  X|  C|  V|  B|  N|  M|  ,|  ,|  /| RO|Shift |     |Up |     |  1|  2|  3|KP=| |Exe|Pst|
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------| ,-----------. |---------------| |-------|
 | 
					 | 
				
			||||||
     * |Ctl|Gui|Alt|MHEN|HNJ| Space  |H/E|HENK|KANA|Alt|Gui|App|Ctl| |Lef|Dow|Rig| |  0    |  .|Ent| |Fnd|Cut|
 | 
					 | 
				
			||||||
     * `-----------------------------------------------------------' `-----------' `---------------' `-------'
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    [0] = KEYMAP_ALL(
 | 
					 | 
				
			||||||
              F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24,
 | 
					 | 
				
			||||||
    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,PAUS,    VOLD,VOLU,MUTE,PWR,     HELP,
 | 
					 | 
				
			||||||
    ESC, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, JYEN,BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,    STOP,AGIN,
 | 
					 | 
				
			||||||
    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,     BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PPLS,    MENU,UNDO,
 | 
					 | 
				
			||||||
    LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     NUHS,ENT,                         P4,  P5,  P6,  PCMM,    SLCT,COPY,
 | 
					 | 
				
			||||||
    LSFT,NUBS,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,     RO,  RSFT,          UP,           P1,  P2,  P3,  PEQL,    EXEC,PSTE,
 | 
					 | 
				
			||||||
    LCTL,LGUI,LALT,MHEN,HANJ,     FN0,      HAEN,HENK,KANA,RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT,    FIND,CUT
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /* 1: SpaceFN
 | 
					 | 
				
			||||||
     * ,-----------------------------------------------------------.
 | 
					 | 
				
			||||||
     * |`  | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete |
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
     * |Caps |   |   |Esc|   |   |   |Hom|Up |End|Psc|Slk|Pau|Ins  |
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
     * |      |   |   |   |   |   |PgU|Lef|Dow|Rig|   |   |        |
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
     * |        |   |   |   |   |Spc|PgD|`  |~  |   |Men|          |
 | 
					 | 
				
			||||||
     * |-----------------------------------------------------------|
 | 
					 | 
				
			||||||
     * |    |    |    |                        |    |    |    |    |
 | 
					 | 
				
			||||||
     * `-----------------------------------------------------------'
 | 
					 | 
				
			||||||
     */
 | 
					 | 
				
			||||||
    [1] = KEYMAP_ALL(
 | 
					 | 
				
			||||||
              TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
 | 
					 | 
				
			||||||
    TRNS,     TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,    TRNS,
 | 
					 | 
				
			||||||
    GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS,DEL,      TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,    TRNS,TRNS,
 | 
					 | 
				
			||||||
    CAPS,TRNS,TRNS,ESC, TRNS,TRNS,TRNS,HOME,UP,  END, PSCR,SLCK,PAUS,     INS,      TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,    TRNS,TRNS,
 | 
					 | 
				
			||||||
    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PGUP,LEFT,DOWN,RGHT,TRNS,TRNS,     TRNS,TRNS,                        TRNS,TRNS,TRNS,TRNS,    TRNS,TRNS,
 | 
					 | 
				
			||||||
    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,SPC, PGDN,GRV, FN1, TRNS,APP,      TRNS,TRNS,          TRNS,         TRNS,TRNS,TRNS,TRNS,    TRNS,TRNS,
 | 
					 | 
				
			||||||
    TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS,     TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS,TRNS,TRNS,    TRNS,     TRNS,TRNS,    TRNS,TRNS
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const action_t PROGMEM fn_actions[] = {
 | 
					const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
				
			||||||
    [0] = ACTION_LAYER_TAP_KEY(1, KC_SPACE),
 | 
					  switch(id) {
 | 
				
			||||||
    [1] = ACTION_MODS_KEY(MOD_LSFT, KC_GRV),    // tilde
 | 
					    default:
 | 
				
			||||||
 | 
					      return MACRO_NONE;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					
 | 
				
			||||||
 | 
					void matrix_init_user(void) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void matrix_scan_user(void) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
				
			||||||
 | 
					  return true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void led_set_user(uint8_t usb_led) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,51 +1,3 @@
 | 
				
			|||||||
#----------------------------------------------------------------------------
 | 
					 | 
				
			||||||
# On command line:
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make all = Make software.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make clean = Clean out built project files.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make coff = Convert ELF to AVR COFF.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make extcoff = Convert ELF to AVR Extended COFF.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make program = Download the hex file to the device.
 | 
					 | 
				
			||||||
#                Please customize your programmer settings(PROGRAM_CMD)
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make teensy = Download the hex file to the device, using teensy_loader_cli.
 | 
					 | 
				
			||||||
#               (must have teensy_loader_cli installed).
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make dfu = Download the hex file to the device, using dfu-programmer (must
 | 
					 | 
				
			||||||
#            have dfu-programmer installed).
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make flip = Download the hex file to the device, using Atmel FLIP (must
 | 
					 | 
				
			||||||
#             have Atmel FLIP installed).
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make dfu-ee = Download the eeprom file to the device, using dfu-programmer
 | 
					 | 
				
			||||||
#               (must have dfu-programmer installed).
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make flip-ee = Download the eeprom file to the device, using Atmel FLIP
 | 
					 | 
				
			||||||
#                (must have Atmel FLIP installed).
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make debug = Start either simulavr or avarice as specified for debugging,
 | 
					 | 
				
			||||||
#              with avr-gdb or avr-insight as the front end for debugging.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make filename.s = Just compile filename.c into the assembler code only.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# make filename.i = Create a preprocessed source file for use in submitting
 | 
					 | 
				
			||||||
#                   bug reports to the GCC project.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# To rebuild project do "make clean" then "make all".
 | 
					 | 
				
			||||||
#----------------------------------------------------------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Target file name (without extension).
 | 
					 | 
				
			||||||
# TARGET ?= usb_usb
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# TMK_DIR ?= ../../tmk_core
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Directory keyboard dependent files exist
 | 
					 | 
				
			||||||
# TARGET_DIR ?= .
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# MCU name
 | 
					# MCU name
 | 
				
			||||||
MCU ?= atmega32u4
 | 
					MCU ?= atmega32u4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -64,12 +16,12 @@ MCU ?= atmega32u4
 | 
				
			|||||||
F_CPU ?= 8000000
 | 
					F_CPU ?= 8000000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# LUFA specific
 | 
					# LUFA specific
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Target architecture (see library "Board Types" documentation).
 | 
					# Target architecture (see library "Board Types" documentation).
 | 
				
			||||||
ARCH ?= AVR8
 | 
					ARCH ?= AVR8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Input clock frequency.
 | 
					# Input clock frequency.
 | 
				
			||||||
#     This will define a symbol, F_USB, in all source code files equal to the
 | 
					#     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
 | 
					#     input clock frequency (before any prescaling is performed) in Hz. This value may
 | 
				
			||||||
@ -82,71 +34,33 @@ ARCH ?= AVR8
 | 
				
			|||||||
#     If no clock division is performed on the input clock inside the AVR (via the
 | 
					#     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.
 | 
					#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
 | 
				
			||||||
F_USB ?= $(F_CPU)
 | 
					F_USB ?= $(F_CPU)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Interrupt driven control endpoint task
 | 
					# Interrupt driven control endpoint task
 | 
				
			||||||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
 | 
					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
 | 
					# Build Options
 | 
				
			||||||
#   comment out to disable the options.
 | 
					#   comment out to disable the options.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
#MOUSEKEY_ENABLE ?= yes	# Mouse keys
 | 
					# BOOTMAGIC_ENABLE	?= yes	# Virtual DIP switch configuration(+1000)
 | 
				
			||||||
EXTRAKEY_ENABLE ?= yes	# Media control and System control
 | 
					# MOUSEKEY_ENABLE		?= yes	# Mouse keys(+4700)
 | 
				
			||||||
# CONSOLE_ENABLE ?= yes	# Console for debug
 | 
					EXTRAKEY_ENABLE		?= yes	# Audio control and System control(+450)
 | 
				
			||||||
CONSOLE_ENABLE ?= no	# Console for debug
 | 
					# CONSOLE_ENABLE		?= yes	# Console for debug(+400)
 | 
				
			||||||
#COMMAND_ENABLE ?= yes    # Commands for debug and configuration
 | 
					# COMMAND_ENABLE		?= yes  # Commands for debug and configuration
 | 
				
			||||||
#NKRO_ENABLE ?= yes	# USB Nkey Rollover
 | 
					# SLEEP_LED_ENABLE ?= yes  # Breathing sleep LED during USB suspend
 | 
				
			||||||
 | 
					# NKRO_ENABLE ?= yes	# USB Nkey Rollover - not yet supported in LUFA
 | 
				
			||||||
 | 
					# BACKLIGHT_ENABLE ?= yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Boot Section Size in bytes
 | 
					 | 
				
			||||||
#   Teensy halfKay   512
 | 
					 | 
				
			||||||
#   Atmel DFU loader 4096
 | 
					 | 
				
			||||||
#   LUFA bootloader  4096
 | 
					 | 
				
			||||||
OPT_DEFS += -DBOOTLOADER_SIZE=4096
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#LDFLAGS += -Wl,--relax
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#OPT_DEFS += -DNO_ACTION_TAPPING
 | 
					 | 
				
			||||||
#OPT_DEFS += -DNO_ACTION_LAYER
 | 
					 | 
				
			||||||
#OPT_DEFS += -DNO_ACTION_MACRO
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
CUSTOM_MATRIX = yes
 | 
					CUSTOM_MATRIX = yes
 | 
				
			||||||
 | 
					 | 
				
			||||||
SRC = custom_matrix.cpp
 | 
					SRC = custom_matrix.cpp
 | 
				
			||||||
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Keymap file
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# ifeq (yes,$(strip $(UNIMAP_ENABLE)))
 | 
					 | 
				
			||||||
#     KEYMAP_FILE = unimap
 | 
					 | 
				
			||||||
# else
 | 
					 | 
				
			||||||
#     ifeq (yes,$(strip $(ACTIONMAP_ENABLE)))
 | 
					 | 
				
			||||||
#         KEYMAP_FILE = actionmap
 | 
					 | 
				
			||||||
#     else
 | 
					 | 
				
			||||||
#         KEYMAP_FILE = keymap
 | 
					 | 
				
			||||||
#     endif
 | 
					 | 
				
			||||||
# endif
 | 
					 | 
				
			||||||
# ifdef KEYMAP
 | 
					 | 
				
			||||||
#     SRC := $(KEYMAP_FILE)_$(KEYMAP).c $(SRC)
 | 
					 | 
				
			||||||
# else
 | 
					 | 
				
			||||||
#     SRC := $(KEYMAP_FILE).c $(SRC)
 | 
					 | 
				
			||||||
# endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# CONFIG_H ?= config.h
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Search Path
 | 
					 | 
				
			||||||
# VPATH += $(TARGET_DIR)
 | 
					 | 
				
			||||||
# VPATH += $(TMK_DIR)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# program Leonardo
 | 
					 | 
				
			||||||
# PROGRAM_CMD = avrdude -p$(MCU) -cavr109 -b57600 -Uflash:w:$(TARGET).hex -P$(DEV)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
include $(TMK_DIR)/protocol/usb_hid.mk
 | 
					include $(TMK_DIR)/protocol/usb_hid.mk
 | 
				
			||||||
# include $(TMK_DIR)/protocol/lufa.mk
 | 
					 | 
				
			||||||
# include $(TMK_DIR)/common.mk
 | 
					 | 
				
			||||||
# include $(TMK_DIR)/rules.mk
 | 
					 | 
				
			||||||
 | 
				
			|||||||
@ -1,45 +0,0 @@
 | 
				
			|||||||
/*
 | 
					 | 
				
			||||||
Copyright 2016 Jun Wako <wakojun@gmail.com>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This program is free software: you can redistribute it and/or modify
 | 
					 | 
				
			||||||
it under the terms of the GNU General Public License as published by
 | 
					 | 
				
			||||||
the Free Software Foundation, either version 2 of the License, or
 | 
					 | 
				
			||||||
(at your option) any later version.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This program is distributed in the hope that it will be useful,
 | 
					 | 
				
			||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					 | 
				
			||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					 | 
				
			||||||
GNU General Public License for more details.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
You should have received a copy of the GNU General Public License
 | 
					 | 
				
			||||||
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
#include "unimap_trans.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define AC_FN0 ACTION_LAYER_MOMENTARY(1)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef KEYMAP_SECTION_ENABLE
 | 
					 | 
				
			||||||
const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] __attribute__ ((section (".keymap.keymaps"))) = {
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = {
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
    UNIMAP(
 | 
					 | 
				
			||||||
              F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24,
 | 
					 | 
				
			||||||
    ESC,      F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,PAUS,         VOLD,VOLU,MUTE,
 | 
					 | 
				
			||||||
    GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, JYEN,BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,
 | 
					 | 
				
			||||||
    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,     BSLS,     DEL, END, PGDN,    P7,  P8,  P9,  PPLS,
 | 
					 | 
				
			||||||
    CAPS,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     NUHS,ENT,                         P4,  P5,  P6,  PCMM,
 | 
					 | 
				
			||||||
    LSFT,NUBS,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,     RO,  RSFT,          UP,           P1,  P2,  P3,  PENT,
 | 
					 | 
				
			||||||
    LCTL,LGUI,LALT,MHEN,          SPC,           HENK,KANA,RALT,RGUI,FN0, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PEQL
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
    UNIMAP(
 | 
					 | 
				
			||||||
              TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
 | 
					 | 
				
			||||||
    GRV,      TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          TRNS,TRNS,TRNS,         TRNS,TRNS,TRNS,
 | 
					 | 
				
			||||||
    ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, INS, DEL,      TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,
 | 
					 | 
				
			||||||
    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,UP,  INS,      TRNS,     TRNS,TRNS,TRNS,    TRNS,TRNS,TRNS,TRNS,
 | 
					 | 
				
			||||||
    TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,TRNS,TRNS,HOME,PGUP,LEFT,RGHT,     TRNS,TRNS,                        TRNS,TRNS,TRNS,TRNS,
 | 
					 | 
				
			||||||
    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,END, PGDN,DOWN,     TRNS,TRNS,          PGUP,         TRNS,TRNS,TRNS,TRNS,
 | 
					 | 
				
			||||||
    TRNS,TRNS,TRNS,TRNS,          TRNS,          TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     HOME,PGDN,END,     TRNS,     TRNS,TRNS
 | 
					 | 
				
			||||||
    ),
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
@ -14,6 +14,7 @@ GNU General Public License for more details.
 | 
				
			|||||||
You should have received a copy of the GNU General Public License
 | 
					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 USB_USB_H
 | 
					#ifndef USB_USB_H
 | 
				
			||||||
#define USB_USB_H
 | 
					#define USB_USB_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -43,7 +43,6 @@ SRC += $(USB_HID_DIR)/override_Serial.cpp
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# replace arduino/wiring.c
 | 
					# replace arduino/wiring.c
 | 
				
			||||||
SRC += $(USB_HID_DIR)/override_wiring.c
 | 
					SRC += $(USB_HID_DIR)/override_wiring.c
 | 
				
			||||||
SRC += common/avr/timer.c
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
SRC += $(USB_HOST_SHIELD_SRC)
 | 
					SRC += $(USB_HOST_SHIELD_SRC)
 | 
				
			||||||
SRC += $(ARDUINO_CORES_SRC)
 | 
					SRC += $(ARDUINO_CORES_SRC)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user