mirror of
https://github.com/qmk/qmk_firmware.git
synced 2026-10-02 14:58:59 +02:00
Merge branch 'master' of https://github.com/qmk/qmk_firmware
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
### Layer 0
|
||||
|
||||

|
||||

|
||||
Conventional ANSI layout. Except:
|
||||
|
||||
- Backspace has been replaced with 2 keys
|
||||
@@ -27,7 +27,7 @@ RGB underglow and backlight controls, Reset
|
||||
|
||||
### Layer 2
|
||||
|
||||

|
||||

|
||||
F1-F12, PGUP -> HOME, PGDN -> END
|
||||
|
||||
### Layer 3
|
||||
|
||||
+28
-26
@@ -37,33 +37,35 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
----------------------------------------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#define KEYMAP( \
|
||||
K0D, K2D,K5D,K3D,K6D,K7D,K7F,K7E,K7C,K72,K71,K70,K73, K74,K76,K77,K75, \
|
||||
K0A,K69,K59,K58,K5B,K6F,K5F,K5E,K6C,K5C,K52,K51,K50,K55, K54,K56,K57,K65, \
|
||||
K6A,K39,K68,K6B,K3B,K3F,K6E,K3E,K3C,K62,K61,K60,K33,K53, K64,K66,K67,K25, \
|
||||
K3A,K29,K38,K28,K2B,K2F,K2E,K2C,K1C,K32,K31,K20, K63, K24,K26,K27, \
|
||||
K2A, K18,K08,K1B,K0B,K1F,K1E,K0E,K22,K11,K21, K30, K34, K14,K16,K17,K15, \
|
||||
K1A,K09,K19, K0F, K02,K01,K10, K00,K04,K06, K07,K05 \
|
||||
) { \
|
||||
{ K00, K01, K02, KC_NO,K04, K05, K06, K07 , \
|
||||
K08, K09, K0A, K0B, KC_NO,K0D, K0E, K0F }, \
|
||||
{ K10, K11, KC_NO,KC_NO,K14, K15, K16, K17 , \
|
||||
K18, K19, K1A, K1B, K1C, KC_NO,K1E, K1F }, \
|
||||
{ K20, K21, K22, KC_NO,K24, K25, K26, K27 , \
|
||||
K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
|
||||
{ K30, K31, K32, K33, K34, KC_NO,KC_NO,KC_NO , \
|
||||
K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
|
||||
{ KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO , \
|
||||
KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO }, \
|
||||
{ K50, K51, K52, K53, K54, K55, K56, K57 , \
|
||||
K58, K59, KC_NO,K5B, K5C, K5D, K5E, K5F }, \
|
||||
{ K60, K61, K62, K63, K64, K65, K66, K67 , \
|
||||
K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \
|
||||
{ K70, K71, K72, K73, K74, K75, K76, K77 , \
|
||||
KC_NO,KC_NO,KC_NO,KC_NO,K7C, K7D, K7E, K7F } \
|
||||
}
|
||||
#define LAYOUT( \
|
||||
K0D, K2D, K5D, K3D, K6D, K7D, K7F, K7E, K7C, K72, K71, K70, K73, K74, K76, K77, K75, \
|
||||
K0A, K69, K59, K58, K5B, K6F, K5F, K5E, K6C, K5C, K52, K51, K50, K55, K54, K56, K57, K65, \
|
||||
K6A, K39, K68, K6B, K3B, K3F, K6E, K3E, K3C, K62, K61, K60, K33, K53, K64, K66, K67, K25, \
|
||||
K3A, K29, K38, K28, K2B, K2F, K2E, K2C, K1C, K32, K31, K20, K63, K24, K26, K27, \
|
||||
K2A, K18, K08, K1B, K0B, K1F, K1E, K0E, K22, K11, K21, K30, K34, K14, K16, K17, K15, \
|
||||
K1A, K09, K19, K0F, K02, K01, K10, K00, K04, K06, K07, K05) \
|
||||
{ \
|
||||
{K00, K01, K02, KC_NO, K04, K05, K06, K07, \
|
||||
K08, K09, K0A, K0B, KC_NO, K0D, K0E, K0F}, \
|
||||
{K10, K11, KC_NO, KC_NO, K14, K15, K16, K17, \
|
||||
K18, K19, K1A, K1B, K1C, KC_NO, K1E, K1F}, \
|
||||
{K20, K21, K22, KC_NO, K24, K25, K26, K27, \
|
||||
K28, K29, K2A, K2B, K2C, K2D, K2E, K2F}, \
|
||||
{K30, K31, K32, K33, K34, KC_NO, KC_NO, KC_NO, \
|
||||
K38, K39, K3A, K3B, K3C, K3D, K3E, K3F}, \
|
||||
{KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO}, \
|
||||
{K50, K51, K52, K53, K54, K55, K56, K57, \
|
||||
K58, K59, KC_NO, K5B, K5C, K5D, K5E, K5F}, \
|
||||
{K60, K61, K62, K63, K64, K65, K66, K67, \
|
||||
K68, K69, K6A, K6B, K6C, K6D, K6E, K6F}, \
|
||||
{ \
|
||||
K70, K71, K72, K73, K74, K75, K76, K77, \
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, K7C, K7D, K7E, K7F \
|
||||
} \
|
||||
}
|
||||
/*
|
||||
KEYMAP(
|
||||
LAYOUT(
|
||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______,_______,
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"keyboard_name": "fc980c",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 19.5,
|
||||
"height": 6.75,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "x": 0, "y": 0 },
|
||||
{ "label": "F1", "x": 2, "y": 0 },
|
||||
{ "label": "F2", "x": 3, "y": 0 },
|
||||
{ "label": "F3", "x": 4, "y": 0 },
|
||||
{ "label": "F4", "x": 5, "y": 0 },
|
||||
{ "label": "F5", "x": 6.5, "y": 0 },
|
||||
{ "label": "F6", "x": 7.5, "y": 0 },
|
||||
{ "label": "F7", "x": 8.5, "y": 0 },
|
||||
{ "label": "F8", "x": 9.5, "y": 0 },
|
||||
{ "label": "F9", "x": 11, "y": 0 },
|
||||
{ "label": "F10", "x": 12, "y": 0 },
|
||||
{ "label": "F11", "x": 13, "y": 0 },
|
||||
{ "label": "F12", "x": 14, "y": 0 },
|
||||
{ "label": "Delete", "x": 15.5, "y": 0 },
|
||||
{ "label": "Insert", "x": 16.5, "y": 0 },
|
||||
{ "label": "Pg Up", "x": 17.5, "y": 0 },
|
||||
{ "label": "Pg Dn", "x": 18.5, "y": 0 },
|
||||
{ "label": "~", "x": 0, "y": 1.5 },
|
||||
{ "label": "!", "x": 1, "y": 1.5 },
|
||||
{ "label": "@", "x": 2, "y": 1.5 },
|
||||
{ "label": "#", "x": 3, "y": 1.5 },
|
||||
{ "label": "$", "x": 4, "y": 1.5 },
|
||||
{ "label": "%", "x": 5, "y": 1.5 },
|
||||
{ "label": "^", "x": 6, "y": 1.5 },
|
||||
{ "label": "&", "x": 7, "y": 1.5 },
|
||||
{ "label": "*", "x": 8, "y": 1.5 },
|
||||
{ "label": "(", "x": 9, "y": 1.5 },
|
||||
{ "label": ")", "x": 10, "y": 1.5 },
|
||||
{ "label": "_", "x": 11, "y": 1.5 },
|
||||
{ "label": "+", "x": 12, "y": 1.5 },
|
||||
{ "label": "Backspace", "x": 13, "y": 1.5, "w": 2 },
|
||||
{ "label": "Num Lock", "x": 15.5, "y": 1.5 },
|
||||
{ "label": "/", "x": 16.5, "y": 1.5 },
|
||||
{ "label": "*", "x": 17.5, "y": 1.5 },
|
||||
{ "label": "-", "x": 18.5, "y": 1.5 },
|
||||
{ "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
|
||||
{ "label": "Q", "x": 1.5, "y": 2.5 },
|
||||
{ "label": "W", "x": 2.5, "y": 2.5 },
|
||||
{ "label": "E", "x": 3.5, "y": 2.5 },
|
||||
{ "label": "R", "x": 4.5, "y": 2.5 },
|
||||
{ "label": "T", "x": 5.5, "y": 2.5 },
|
||||
{ "label": "Y", "x": 6.5, "y": 2.5 },
|
||||
{ "label": "U", "x": 7.5, "y": 2.5 },
|
||||
{ "label": "I", "x": 8.5, "y": 2.5 },
|
||||
{ "label": "O", "x": 9.5, "y": 2.5 },
|
||||
{ "label": "P", "x": 10.5, "y": 2.5 },
|
||||
{ "label": "{", "x": 11.5, "y": 2.5 },
|
||||
{ "label": "}", "x": 12.5, "y": 2.5 },
|
||||
{ "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 },
|
||||
{ "label": "7", "x": 15.5, "y": 2.5 },
|
||||
{ "label": "8", "x": 16.5, "y": 2.5 },
|
||||
{ "label": "9", "x": 17.5, "y": 2.5 },
|
||||
{ "label": "+", "x": 18.5, "y": 2.5, "h": 2 },
|
||||
{ "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
|
||||
{ "label": "A", "x": 1.75, "y": 3.5 },
|
||||
{ "label": "S", "x": 2.75, "y": 3.5 },
|
||||
{ "label": "D", "x": 3.75, "y": 3.5 },
|
||||
{ "label": "F", "x": 4.75, "y": 3.5 },
|
||||
{ "label": "G", "x": 5.75, "y": 3.5 },
|
||||
{ "label": "H", "x": 6.75, "y": 3.5 },
|
||||
{ "label": "J", "x": 7.75, "y": 3.5 },
|
||||
{ "label": "K", "x": 8.75, "y": 3.5 },
|
||||
{ "label": "L", "x": 9.75, "y": 3.5 },
|
||||
{ "label": ":", "x": 10.75, "y": 3.5 },
|
||||
{ "label": "\"", "x": 11.75, "y": 3.5 },
|
||||
{ "label": "Enter", "x": 12.75, "y": 3.5, "w": 2.25 },
|
||||
{ "label": "4", "x": 15.5, "y": 3.5 },
|
||||
{ "label": "5", "x": 16.5, "y": 3.5 },
|
||||
{ "label": "6", "x": 17.5, "y": 3.5 },
|
||||
{ "label": "Shift", "x": 0, "y": 4.5, "w": 2.25 },
|
||||
{ "label": "Z", "x": 2.25, "y": 4.5 },
|
||||
{ "label": "X", "x": 3.25, "y": 4.5 },
|
||||
{ "label": "C", "x": 4.25, "y": 4.5 },
|
||||
{ "label": "V", "x": 5.25, "y": 4.5 },
|
||||
{ "label": "B", "x": 6.25, "y": 4.5 },
|
||||
{ "label": "N", "x": 7.25, "y": 4.5 },
|
||||
{ "label": "M", "x": 8.25, "y": 4.5 },
|
||||
{ "label": "<", "x": 9.25, "y": 4.5 },
|
||||
{ "label": ">", "x": 10.25, "y": 4.5 },
|
||||
{ "label": "?", "x": 11.25, "y": 4.5 },
|
||||
{ "label": "Shift", "x": 12.25, "y": 4.5, "w": 1.75 },
|
||||
{ "label": "1", "x": 15.5, "y": 4.5 },
|
||||
{ "label": "2", "x": 16.5, "y": 4.5 },
|
||||
{ "label": "3", "x": 17.5, "y": 4.5 },
|
||||
{ "label": "Enter", "x": 18.5, "y": 4.5, "h": 2 },
|
||||
{ "label": "\u2191", "x": 14.25, "y": 4.75 },
|
||||
{ "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 },
|
||||
{ "label": "Win", "x": 1.25, "y": 5.5 },
|
||||
{ "label": "Alt", "x": 2.25, "y": 5.5, "w": 1.25 },
|
||||
{ "x": 3.5, "y": 5.5, "w": 6 },
|
||||
{ "label": "Alt", "x": 9.5, "y": 5.5, "w": 1.25 },
|
||||
{ "label": "Ctrl", "x": 10.75, "y": 5.5 },
|
||||
{ "label": "Fn", "x": 11.75, "y": 5.5, "w": 1.25 },
|
||||
{ "label": "0", "x": 16.5, "y": 5.5 },
|
||||
{ "label": ".", "x": 17.5, "y": 5.5 },
|
||||
{ "label": "\u2190", "x": 13.25, "y": 5.75 },
|
||||
{ "label": "\u2193", "x": 14.25, "y": 5.75 },
|
||||
{ "label": "\u2192", "x": 15.25, "y": 5.75 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,10 +14,11 @@ 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 "fc980c.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "actuation_point.h"
|
||||
|
||||
enum custom_keycodes {
|
||||
enum custom_keycodes
|
||||
{
|
||||
AP_UP = SAFE_RANGE, // Higher actuation point, more sensitive
|
||||
AP_DN, // Lower actuation point, less sensitive
|
||||
AP_READ_RDAC, // Prints current RDAC value to console
|
||||
@@ -25,53 +26,59 @@ enum custom_keycodes {
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = KEYMAP(
|
||||
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_DEL, KC_INS, KC_PGUP,KC_PGDN,
|
||||
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_BSPC, KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS,
|
||||
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_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
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_ENT, KC_P4, KC_P5, KC_P6,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RCTL,MO(1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT
|
||||
),
|
||||
[1] = KEYMAP(
|
||||
_______, _______,_______,_______,_______,_______,_______, _______, _______,AP_READ_RDAC,AP_READ_EEPROM,AP_DN,AP_UP, _______,_______,KC_HOME,KC_END,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,_______,_______,_______,_______, _______,_______,_______,_______,
|
||||
KC_CAPS,KC_MPRV,KC_VOLU,KC_MNXT,KC_PGUP,KC_INS,KC_HOME, LCTL(KC_LEFT),LCTL(KC_RGHT),KC_END, KC_PSCR,KC_SLCK,KC_PAUS,_______, _______,_______,_______,_______,
|
||||
_______,KC_MUTE,KC_VOLD,KC_MPLY,KC_PGDN,KC_DEL,KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,_______,_______, _______, _______,_______,_______,
|
||||
_______, _______,_______,_______,_______,_______,LCTL(KC_BSPC),LCTL(KC_DEL), _______,_______,_______, _______, KC_PGUP, _______,_______,_______,_______,
|
||||
_______,_______,_______, _______, _______,KC_APP, _______, KC_HOME,KC_PGDN,KC_END, _______,_______
|
||||
),
|
||||
[0] = LAYOUT(
|
||||
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_DEL, KC_INS, KC_PGUP, KC_PGDN,
|
||||
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_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
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_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
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_ENT, KC_P4, KC_P5, KC_P6,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
|
||||
[1] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, AP_READ_RDAC, AP_READ_EEPROM, AP_DN, AP_UP, _______, _______, KC_HOME, KC_END,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_CAPS, KC_MPRV, KC_VOLU, KC_MNXT, KC_PGUP, KC_INS, KC_HOME, LCTL(KC_LEFT), LCTL(KC_RGHT), KC_END, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______,
|
||||
_______, KC_MUTE, KC_VOLD, KC_MPLY, KC_PGDN, KC_DEL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, LCTL(KC_BSPC), LCTL(KC_DEL), _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, KC_APP, _______, KC_HOME, KC_PGDN, KC_END, _______, _______),
|
||||
};
|
||||
|
||||
void matrix_init_user(void) {
|
||||
};
|
||||
void matrix_init_user(void){};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
switch(keycode) {
|
||||
case AP_UP: {
|
||||
actuation_point_up();
|
||||
return false;
|
||||
}
|
||||
case AP_DN: {
|
||||
actuation_point_down();
|
||||
return false;
|
||||
}
|
||||
case AP_READ_RDAC: {
|
||||
xprintf("RDAC: %d", read_rdac());
|
||||
return false;
|
||||
}
|
||||
case AP_READ_EEPROM: {
|
||||
xprintf("EEPROM: %d", read_eeprom());
|
||||
return false;
|
||||
}
|
||||
|
||||
default: return true;
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
if (record->event.pressed)
|
||||
{
|
||||
switch (keycode)
|
||||
{
|
||||
case AP_UP:
|
||||
{
|
||||
actuation_point_up();
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
case AP_DN:
|
||||
{
|
||||
actuation_point_down();
|
||||
return false;
|
||||
}
|
||||
case AP_READ_RDAC:
|
||||
{
|
||||
xprintf("RDAC: %d", read_rdac());
|
||||
return false;
|
||||
}
|
||||
case AP_READ_EEPROM:
|
||||
{
|
||||
xprintf("EEPROM: %d", read_eeprom());
|
||||
return false;
|
||||
}
|
||||
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
};
|
||||
const uint16_t PROGMEM fn_actions[] = {};
|
||||
|
||||
@@ -14,26 +14,23 @@ 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 "fc980c.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = KEYMAP(
|
||||
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_DEL, KC_INS, KC_PGUP,KC_PGDN,
|
||||
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_BSPC, KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS,
|
||||
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_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
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_ENT, KC_P4, KC_P5, KC_P6,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RCTL,MO(1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT
|
||||
),
|
||||
[1] = KEYMAP(
|
||||
_______, _______,_______,_______,_______,_______,_______, _______, _______,_______,_______,_______,_______, _______,_______,KC_HOME,KC_END,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,_______,_______,_______,_______, _______,_______,_______,_______,
|
||||
KC_CAPS,KC_MPRV,KC_VOLU,KC_MNXT,KC_PGUP,KC_INS,KC_HOME, LCTL(KC_LEFT),LCTL(KC_RGHT),KC_END, KC_PSCR,KC_SLCK,KC_PAUS,_______, _______,_______,_______,_______,
|
||||
_______,KC_MUTE,KC_VOLD,KC_MPLY,KC_PGDN,KC_DEL,KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,_______,_______, _______, _______,_______,_______,
|
||||
_______, _______,_______,_______,_______,_______,LCTL(KC_BSPC),LCTL(KC_DEL), _______,_______,_______, _______, KC_PGUP, _______,_______,_______,_______,
|
||||
_______,_______,_______, _______, _______,KC_APP, _______, KC_HOME,KC_PGDN,KC_END, _______,_______
|
||||
),
|
||||
[0] = LAYOUT(
|
||||
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_DEL, KC_INS, KC_PGUP, KC_PGDN,
|
||||
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_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
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_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
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_ENT, KC_P4, KC_P5, KC_P6,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
|
||||
[1] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_CAPS, KC_MPRV, KC_VOLU, KC_MNXT, KC_PGUP, KC_INS, KC_HOME, LCTL(KC_LEFT), LCTL(KC_RGHT), KC_END, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______,
|
||||
_______, KC_MUTE, KC_VOLD, KC_MPLY, KC_PGDN, KC_DEL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, LCTL(KC_BSPC), LCTL(KC_DEL), _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, KC_APP, _______, KC_HOME, KC_PGDN, KC_END, _______, _______),
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
};
|
||||
const uint16_t PROGMEM fn_actions[] = {};
|
||||
|
||||
@@ -14,26 +14,23 @@ 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 "fc980c.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = KEYMAP(
|
||||
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_DEL, KC_INS, KC_PGUP,KC_PGDN,
|
||||
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_BSPC, KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS,
|
||||
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_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
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_ENT, KC_P4, KC_P5, KC_P6,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RCTL,MO(1), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT
|
||||
),
|
||||
[1] = KEYMAP(
|
||||
_______, _______,_______,_______,_______,_______,_______,_______, _______, _______, _______,_______,_______, _______,_______,KC_HOME,KC_END,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______,_______,_______, _______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,KC_PSCR, KC_SLCK, KC_PAUS, _______,_______,_______, _______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______,_______,_______,
|
||||
_______, _______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, _______,_______,_______,_______,
|
||||
_______,_______,_______, _______, _______,KC_APP, _______, KC_HOME,KC_PGDN,KC_END, _______,_______
|
||||
),
|
||||
[0] = LAYOUT(
|
||||
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_DEL, KC_INS, KC_PGUP, KC_PGDN,
|
||||
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_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
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_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
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_ENT, KC_P4, KC_P5, KC_P6,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
|
||||
[1] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, KC_APP, _______, KC_HOME, KC_PGDN, KC_END, _______, _______),
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
};
|
||||
const uint16_t PROGMEM fn_actions[] = {};
|
||||
|
||||
@@ -28,7 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#include "timer.h"
|
||||
#include "matrix.h"
|
||||
#include "led.h"
|
||||
// #include "fc980c.h"
|
||||
// #include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
// Timer resolution check
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define KEYMAP( \
|
||||
#define LAYOUT( \
|
||||
K31, K30, K00, K10, K11, K20, K21, K40, K41, K60, K61, K70, K71, K50, K51, \
|
||||
K32, K01, K02, K13, K12, K23, K22, K42, K43, K62, K63, K73, K72, K52, \
|
||||
K33, K04, K03, K14, K15, K24, K25, K45, K44, K65, K64, K74, K53, \
|
||||
@@ -22,7 +22,7 @@
|
||||
}
|
||||
|
||||
|
||||
#define KEYMAP_JP( \
|
||||
#define LAYOUT_JP( \
|
||||
K02, K32, K62, K22, K12, K52, K72, KA2, K92, K82, KB2, KE2, KF2, KD2, KC2, \
|
||||
K03, K63, K23, K13, K53, K73, KA3, K93, K83, KB3, KE3, KF3, KD3, \
|
||||
K06, K66, K26, K16, K56, K76, KA6, K96, K86, KB6, KE6, KF6, KD6, KC6, \
|
||||
|
||||
+143
-12
@@ -1,16 +1,147 @@
|
||||
{
|
||||
"keyboard_name": "hhkb",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 15,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"KEYMAP": {
|
||||
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"|", "x":13, "y":0}, {"label":"~", "x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Delete", "x":13.5, "y":1, "w":1.5}, {"label":"Control", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Return", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"Fn", "x":14, "y":3}, {"label":"", "x":1.5, "y":4}, {"label":"", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":6}, {"label":"", "x":10, "y":4, "w":1.5}, {"label":"", "x":11.5, "y":4}]
|
||||
},
|
||||
"keyboard_name": "hhkb",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 15,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "x": 0, "y": 0 },
|
||||
{ "label": "!", "x": 1, "y": 0 },
|
||||
{ "label": "@", "x": 2, "y": 0 },
|
||||
{ "label": "#", "x": 3, "y": 0 },
|
||||
{ "label": "$", "x": 4, "y": 0 },
|
||||
{ "label": "%", "x": 5, "y": 0 },
|
||||
{ "label": "^", "x": 6, "y": 0 },
|
||||
{ "label": "&", "x": 7, "y": 0 },
|
||||
{ "label": "*", "x": 8, "y": 0 },
|
||||
{ "label": "(", "x": 9, "y": 0 },
|
||||
{ "label": ")", "x": 10, "y": 0 },
|
||||
{ "label": "_", "x": 11, "y": 0 },
|
||||
{ "label": "+", "x": 12, "y": 0 },
|
||||
{ "label": "|", "x": 13, "y": 0 },
|
||||
{ "label": "~", "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "x": 12.5, "y": 1 },
|
||||
{ "label": "Delete", "x": 13.5, "y": 1, "w": 1.5 },
|
||||
{ "label": "Control", "x": 0, "y": 2, "w": 1.75 },
|
||||
{ "label": "A", "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "x": 11.75, "y": 2 },
|
||||
{ "label": "Return", "x": 12.75, "y": 2, "w": 2.25 },
|
||||
{ "label": "Shift", "x": 0, "y": 3, "w": 2.25 },
|
||||
{ "label": "Z", "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 },
|
||||
{ "label": "Fn", "x": 14, "y": 3 },
|
||||
{ "label": "", "x": 1.5, "y": 4 },
|
||||
{ "label": "", "x": 2.5, "y": 4, "w": 1.5 },
|
||||
{ "x": 4, "y": 4, "w": 6 },
|
||||
{ "label": "", "x": 10, "y": 4, "w": 1.5 },
|
||||
{ "label": "", "x": 11.5, "y": 4 }
|
||||
]
|
||||
},
|
||||
|
||||
"KEYMAP_JP": {
|
||||
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"&", "x":6, "y":0}, {"label":"'", "x":7, "y":0}, {"label":"(", "x":8, "y":0}, {"label":")", "x":9, "y":0}, {"label":"", "x":10, "y":0}, {"label":"=", "x":11, "y":0}, {"label":"~", "x":12, "y":0}, {"label":"|", "x":13, "y":0}, {"label":"BS", "x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"`", "x":11.5, "y":1}, {"label":"{", "x":12.5, "y":1}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Control", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":"+", "x":10.75, "y":2}, {"label":"*", "x":11.75, "y":2}, {"label":"}", "x":12.75, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2}, {"label":"Z", "x":2, "y":3}, {"label":"X", "x":3, "y":3}, {"label":"C", "x":4, "y":3}, {"label":"V", "x":5, "y":3}, {"label":"B", "x":6, "y":3}, {"label":"N", "x":7, "y":3}, {"label":"M", "x":8, "y":3}, {"label":"<", "x":9, "y":3}, {"label":">", "x":10, "y":3}, {"label":"?", "x":11, "y":3}, {"label":"_", "x":12, "y":3}, {"label":"\u2191", "x":13, "y":3}, {"label":"Shift", "x":14, "y":3}, {"label":"Fn", "x":0, "y":4}, {"label":"HH", "x":1.25, "y":4}, {"label":"\u2662", "x":2.25, "y":4}, {"label":"", "x":3.25, "y":4}, {"label":"NN", "x":4.25, "y":4}, {"x":5.25, "y":4, "w":2.5}, {"label":"\u25cc", "x":7.75, "y":4}, {"label":"Kana", "x":8.75, "y":4}, {"label":"", "x":9.75, "y":4}, {"label":"Fn", "x":10.75, "y":4}, {"label":"\u2190", "x":12, "y":4}, {"label":"\u2193", "x":13, "y":4}, {"label":"\u2192", "x":14, "y":4}]
|
||||
}
|
||||
"LAYOUT_JP": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "x": 0, "y": 0 },
|
||||
{ "label": "!", "x": 1, "y": 0 },
|
||||
{ "label": "\"", "x": 2, "y": 0 },
|
||||
{ "label": "#", "x": 3, "y": 0 },
|
||||
{ "label": "$", "x": 4, "y": 0 },
|
||||
{ "label": "%", "x": 5, "y": 0 },
|
||||
{ "label": "&", "x": 6, "y": 0 },
|
||||
{ "label": "'", "x": 7, "y": 0 },
|
||||
{ "label": "(", "x": 8, "y": 0 },
|
||||
{ "label": ")", "x": 9, "y": 0 },
|
||||
{ "label": "", "x": 10, "y": 0 },
|
||||
{ "label": "=", "x": 11, "y": 0 },
|
||||
{ "label": "~", "x": 12, "y": 0 },
|
||||
{ "label": "|", "x": 13, "y": 0 },
|
||||
{ "label": "BS", "x": 14, "y": 0 },
|
||||
{ "label": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "x": 10.5, "y": 1 },
|
||||
{ "label": "`", "x": 11.5, "y": 1 },
|
||||
{ "label": "{", "x": 12.5, "y": 1 },
|
||||
{ "label": "Enter", "x": 13.75, "y": 1, "w": 1.25, "h": 2 },
|
||||
{ "label": "Control", "x": 0, "y": 2, "w": 1.75 },
|
||||
{ "label": "A", "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "x": 9.75, "y": 2 },
|
||||
{ "label": "+", "x": 10.75, "y": 2 },
|
||||
{ "label": "*", "x": 11.75, "y": 2 },
|
||||
{ "label": "}", "x": 12.75, "y": 2 },
|
||||
{ "label": "Shift", "x": 0, "y": 3, "w": 2 },
|
||||
{ "label": "Z", "x": 2, "y": 3 },
|
||||
{ "label": "X", "x": 3, "y": 3 },
|
||||
{ "label": "C", "x": 4, "y": 3 },
|
||||
{ "label": "V", "x": 5, "y": 3 },
|
||||
{ "label": "B", "x": 6, "y": 3 },
|
||||
{ "label": "N", "x": 7, "y": 3 },
|
||||
{ "label": "M", "x": 8, "y": 3 },
|
||||
{ "label": "<", "x": 9, "y": 3 },
|
||||
{ "label": ">", "x": 10, "y": 3 },
|
||||
{ "label": "?", "x": 11, "y": 3 },
|
||||
{ "label": "_", "x": 12, "y": 3 },
|
||||
{ "label": "\u2191", "x": 13, "y": 3 },
|
||||
{ "label": "Shift", "x": 14, "y": 3 },
|
||||
{ "label": "Fn", "x": 0, "y": 4 },
|
||||
{ "label": "HH", "x": 1.25, "y": 4 },
|
||||
{ "label": "\u2662", "x": 2.25, "y": 4 },
|
||||
{ "label": "", "x": 3.25, "y": 4 },
|
||||
{ "label": "NN", "x": 4.25, "y": 4 },
|
||||
{ "x": 5.25, "y": 4, "w": 2.5 },
|
||||
{ "label": "\u25cc", "x": 7.75, "y": 4 },
|
||||
{ "label": "Kana", "x": 8.75, "y": 4 },
|
||||
{ "label": "", "x": 9.75, "y": 4 },
|
||||
{ "label": "Fn", "x": 10.75, "y": 4 },
|
||||
{ "label": "\u2190", "x": 12, "y": 4 },
|
||||
{ "label": "\u2193", "x": 13, "y": 4 },
|
||||
{ "label": "\u2192", "x": 14, "y": 4 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "hhkb.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Layer names
|
||||
#define BASE 0
|
||||
@@ -27,12 +27,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|------+------+-----------------------+------+------|
|
||||
*/
|
||||
|
||||
[BASE] = KEYMAP( // default layer
|
||||
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_BSPC, KC_LEAD, \
|
||||
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, \
|
||||
ALL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(MEDIA, KC_SCLN), KC_QUOT, ALL_T(KC_ENT), \
|
||||
KC_LSFT, CTL_T(KC_Z), ALT_T(KC_X), GUI_T(KC_C), KC_V, KC_B, KC_N, KC_M, GUI_T(KC_COMM), ALT_T(KC_DOT), CTL_T(KC_SLSH), KC_RSFT, TG(DEV), \
|
||||
TG(DEV), TG(MOUSE), LT(DEV, KC_SPC), TG(MOUSE), TG(DEV)),
|
||||
[BASE] = LAYOUT( // default layer
|
||||
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_BSPC, KC_LEAD,
|
||||
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,
|
||||
ALL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(MEDIA, KC_SCLN), KC_QUOT, ALL_T(KC_ENT),
|
||||
KC_LSFT, CTL_T(KC_Z), ALT_T(KC_X), GUI_T(KC_C), KC_V, KC_B, KC_N, KC_M, GUI_T(KC_COMM), ALT_T(KC_DOT), CTL_T(KC_SLSH), KC_RSFT, TG(DEV),
|
||||
TG(DEV), TG(MOUSE), LT(DEV, KC_SPC), TG(MOUSE), TG(DEV)),
|
||||
|
||||
/* Layer DEV: DEV mode (DEV Fn)
|
||||
TODO: Add a cmd/tab function to the developer layer for quick switching between different applications when debugging
|
||||
@@ -51,12 +51,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|------+------+----------------------+------+------+
|
||||
*/
|
||||
|
||||
[DEV] = KEYMAP(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(DEV), \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
[DEV] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(DEV),
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
/* Layer MOUSE: MOUSE mode (MOUSE Fn)
|
||||
|------+-----+-----+-----+----+----+--------+----------------+--------------+-----------+-------------+-----+-------+-------+-----|
|
||||
@@ -74,12 +74,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|------+------+----------------------+------+------+
|
||||
*/
|
||||
|
||||
[MOUSE] = KEYMAP(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_D, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(DEV), \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
[MOUSE] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_D, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(DEV),
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
/* Layer MEDIA: mode (Hold Semi-colon)
|
||||
|------+-----+-----+-----+----+----+----+----------------+--------------+-----------+-------------+-----+-------+-------+-----|
|
||||
@@ -98,25 +98,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
*/
|
||||
|
||||
[MEDIA] = KEYMAP(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_MUTE, KC_TRNS, KC_MPLY, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, TG(DEV), \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||
};
|
||||
[MEDIA] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_MUTE, KC_TRNS, KC_MPLY, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, TG(DEV),
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
// MACRODOWN only works in this function
|
||||
switch(id) {
|
||||
case 0:
|
||||
if (record->event.pressed) {
|
||||
// MACRODOWN only works in this function
|
||||
switch (id)
|
||||
{
|
||||
case 0:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
register_code(KC_RSFT);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* -*- eval: (turn-on-orgtbl); -*-
|
||||
* cinaeco's HHKB Layout
|
||||
*/
|
||||
#include "hhkb.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Layers.
|
||||
#define QWER 0
|
||||
@@ -14,15 +14,15 @@
|
||||
// Easier-to-read Layer Arrays.
|
||||
#define ____ KC_TRNS
|
||||
|
||||
enum hhkb_keycodes {
|
||||
DYNAMIC_MACRO_RANGE = SAFE_RANGE,
|
||||
enum hhkb_keycodes
|
||||
{
|
||||
DYNAMIC_MACRO_RANGE = SAFE_RANGE,
|
||||
};
|
||||
|
||||
#include "dynamic_macro.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
|
||||
/* QWER Layer: Qwerty Default
|
||||
*
|
||||
* ,--------------------------------------------------------------.
|
||||
@@ -39,13 +39,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
*
|
||||
*/
|
||||
|
||||
[QWER] = KEYMAP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
|
||||
KC_TAB, LT(MREC, 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_BSPC, \
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, CTL_T(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_RSFT, MO(HHKB), \
|
||||
KC_LALT, KC_LGUI, LT(UTIL, KC_SPC), KC_RGUI, KC_RALT),
|
||||
|
||||
[QWER] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
|
||||
KC_TAB, LT(MREC, 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_BSPC,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, CTL_T(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_RSFT, MO(HHKB),
|
||||
KC_LALT, KC_LGUI, LT(UTIL, KC_SPC), KC_RGUI, KC_RALT),
|
||||
|
||||
/* COLE Layer: Colemak
|
||||
*
|
||||
@@ -63,13 +62,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
*
|
||||
*/
|
||||
|
||||
[COLE] = KEYMAP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
|
||||
KC_TAB, LT(MREC, KC_Q), KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, \
|
||||
KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, CTL_T(KC_ENT), \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_K, KC_B, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), \
|
||||
KC_LALT, KC_LGUI, LT(UTIL, KC_SPC), KC_RGUI, KC_RALT),
|
||||
|
||||
[COLE] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
|
||||
KC_TAB, LT(MREC, KC_Q), KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC,
|
||||
KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, CTL_T(KC_ENT),
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_K, KC_B, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB),
|
||||
KC_LALT, KC_LGUI, LT(UTIL, KC_SPC), KC_RGUI, KC_RALT),
|
||||
|
||||
/* DVOR Layer: Dvorak
|
||||
*
|
||||
@@ -87,13 +85,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
*
|
||||
*/
|
||||
|
||||
[DVOR] = KEYMAP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, \
|
||||
KC_TAB, LT(MREC, KC_QUOT), KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC, \
|
||||
KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, CTL_T(KC_ENT), \
|
||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, MO(HHKB), \
|
||||
KC_LALT, KC_LGUI, LT(UTIL, KC_SPC), KC_RGUI, KC_RALT),
|
||||
|
||||
[DVOR] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
|
||||
KC_TAB, LT(MREC, KC_QUOT), KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC,
|
||||
KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, CTL_T(KC_ENT),
|
||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, MO(HHKB),
|
||||
KC_LALT, KC_LGUI, LT(UTIL, KC_SPC), KC_RGUI, KC_RALT),
|
||||
|
||||
/* HHKB Layer: HHKB mode (HHKB Fn)
|
||||
*
|
||||
@@ -110,13 +107,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* `-------------------------------------------'
|
||||
*/
|
||||
|
||||
[HHKB] = KEYMAP(
|
||||
KC_PWR, 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_INS, KC_DEL, \
|
||||
KC_CAPS, KC_MPLY, KC_MPRV, KC_MNXT, ____, ____, ____, ____, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ____, KC_BSPC, \
|
||||
____, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, ____, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
|
||||
____, ____, ____, ____, ____, ____, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, ____, ____, \
|
||||
____, ____, ____, KC_MSTP, ____),
|
||||
|
||||
[HHKB] = LAYOUT(
|
||||
KC_PWR, 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_INS, KC_DEL,
|
||||
KC_CAPS, KC_MPLY, KC_MPRV, KC_MNXT, ____, ____, ____, ____, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ____, KC_BSPC,
|
||||
____, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, ____, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
|
||||
____, ____, ____, ____, ____, ____, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, ____, ____,
|
||||
____, ____, ____, KC_MSTP, ____),
|
||||
|
||||
/* UTIL Layer: Extra utilities
|
||||
*
|
||||
@@ -134,13 +130,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
*
|
||||
*/
|
||||
|
||||
[UTIL] = KEYMAP(
|
||||
RESET, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, ____, ____, ____, ____, ____, ____, ____, ____, DF(QWER), DF(COLE), DF(DVOR), DEBUG, \
|
||||
____, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, ____, KC_HOME, KC_PGDN, KC_PGUP, KC_END, ____, ____, ____, ____, \
|
||||
____, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, KC_SPC, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____),
|
||||
|
||||
[UTIL] = LAYOUT(
|
||||
RESET, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, ____, ____, ____, ____, ____, ____, ____, ____, DF(QWER), DF(COLE), DF(DVOR), DEBUG,
|
||||
____, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, ____, KC_HOME, KC_PGDN, KC_PGUP, KC_END, ____, ____, ____, ____,
|
||||
____, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, KC_SPC, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____),
|
||||
|
||||
/* MREC Layer: Record macros with `q`
|
||||
*
|
||||
@@ -158,29 +153,30 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
*
|
||||
*/
|
||||
|
||||
[MREC] = KEYMAP(
|
||||
____, DYN_REC_START1, DYN_REC_START2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, DYN_REC_STOP, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____)
|
||||
[MREC] = LAYOUT(
|
||||
____, DYN_REC_START1, DYN_REC_START2, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, DYN_REC_STOP, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____, ____)
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
return MACRO_NONE;
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
// For Dynamic Macros.
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!process_record_dynamic_macro(keycode, record)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
if (!process_record_dynamic_macro(keycode, record))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1,18 +1,20 @@
|
||||
/*
|
||||
* dbroqua HHKB Layout
|
||||
*/
|
||||
#include "hhkb.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum planck_layers {
|
||||
_DEFAULT,
|
||||
_ALTERNATE,
|
||||
_FN,
|
||||
_ADJUST
|
||||
enum planck_layers
|
||||
{
|
||||
_DEFAULT,
|
||||
_ALTERNATE,
|
||||
_FN,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
enum planck_keycodes {
|
||||
DEF = SAFE_RANGE,
|
||||
ALT
|
||||
enum planck_keycodes
|
||||
{
|
||||
DEF = SAFE_RANGE,
|
||||
ALT
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
@@ -29,13 +31,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | Alt | Gui | Space | Gui | Alt |
|
||||
* `----------------------------------------------------------------´
|
||||
*/
|
||||
[_DEFAULT] = KEYMAP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
|
||||
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_BSPC, \
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), \
|
||||
KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT
|
||||
),
|
||||
[_DEFAULT] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
|
||||
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_BSPC,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN),
|
||||
KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
|
||||
/* Alternamte layer: swap alt/gui
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
|
||||
@@ -49,13 +50,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | Gui | Alt | Space | AltGr | RGui|
|
||||
* `----------------------------------------------------------------´
|
||||
*/
|
||||
[_ALTERNATE] = KEYMAP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
|
||||
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_BSPC, \
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), \
|
||||
KC_LGUI, KC_LALT, /* */ KC_SPC, KC_RALT, KC_RGUI
|
||||
),
|
||||
[_ALTERNATE] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
|
||||
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_BSPC,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN),
|
||||
KC_LGUI, KC_LALT, /* */ KC_SPC, KC_RALT, KC_RGUI),
|
||||
|
||||
/* FN Layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
@@ -70,13 +70,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | Adjust | Stop | |
|
||||
* `----------------------------------------------------------------´
|
||||
*/
|
||||
[_FN] = KEYMAP(
|
||||
KC_PWR, 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_INS, KC_DEL, \
|
||||
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, \
|
||||
KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, TG(_ADJUST), KC_MSTP, KC_TRNS
|
||||
),
|
||||
[_FN] = LAYOUT(
|
||||
KC_PWR, 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_INS, KC_DEL,
|
||||
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS,
|
||||
KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, TG(_ADJUST), KC_MSTP, KC_TRNS),
|
||||
|
||||
/* SWITCH LAYOUT
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
@@ -91,14 +90,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | |
|
||||
* `----------------------------------------------------------------´
|
||||
*/
|
||||
[_ADJUST] = KEYMAP(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||
DEF, ALT, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
[_ADJUST] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
DEF, ALT, KC_TRNS, KC_TRNS, KC_TRNS)};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
@@ -106,35 +103,42 @@ const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
// MACRODOWN only works in this function
|
||||
switch(id) {
|
||||
case 0:
|
||||
if (record->event.pressed) {
|
||||
// MACRODOWN only works in this function
|
||||
switch (id)
|
||||
{
|
||||
case 0:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
register_code(KC_RSFT);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
switch (keycode)
|
||||
{
|
||||
case DEF:
|
||||
if (record->event.pressed) {
|
||||
print("mode just switched to qwerty and this is a huge string\n");
|
||||
set_single_persistent_default_layer(_DEFAULT);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
if (record->event.pressed)
|
||||
{
|
||||
print("mode just switched to qwerty and this is a huge string\n");
|
||||
set_single_persistent_default_layer(_DEFAULT);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case ALT:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_ALTERNATE);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
if (record->event.pressed)
|
||||
{
|
||||
set_single_persistent_default_layer(_ALTERNATE);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
# Dbroqua Layout
|
||||
|
||||
* Online keyboard layout editor: http://www.keyboard-layout-editor.com/#/gists/78eaf35e80bb714eea80cb4049dedb01
|
||||
* Online keyboard layout editor: http://www.keyboard-layout-editor.com/#/gists/78eaf35e80bb714eea80cb4049dedb01
|
||||
|
||||
# Programming Instructions:
|
||||
|
||||
Enter into programming mode and run the following command.
|
||||
|
||||
```
|
||||
$ sudo LAYOUT=dbroqua make dfu
|
||||
```
|
||||
$ sudo KEYMAP=dbroqua make dfu
|
||||
```
|
||||
@@ -1,7 +1,7 @@
|
||||
/* -*- eval: (turn-on-orgtbl); -*-
|
||||
* default HHKB Layout
|
||||
*/
|
||||
#include "hhkb.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define BASE 0
|
||||
#define HHKB 1
|
||||
@@ -24,14 +24,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|------+------+-----------------------+------+------|
|
||||
*/
|
||||
|
||||
[BASE] = KEYMAP( // default layer
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
|
||||
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_BSPC, \
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), \
|
||||
KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
|
||||
|
||||
|
||||
[BASE] = LAYOUT( // default layer
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
|
||||
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_BSPC,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB),
|
||||
KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
|
||||
|
||||
/* Layer HHKB: HHKB mode (HHKB Fn)
|
||||
|------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
|
||||
@@ -50,13 +48,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
*/
|
||||
|
||||
[HHKB] = KEYMAP(
|
||||
KC_PWR, 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_INS, KC_DEL, \
|
||||
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC, \
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)};
|
||||
|
||||
[HHKB] = LAYOUT(
|
||||
KC_PWR, 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_INS, KC_DEL,
|
||||
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC,
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
@@ -64,15 +61,19 @@ const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
// MACRODOWN only works in this function
|
||||
switch(id) {
|
||||
case 0:
|
||||
if (record->event.pressed) {
|
||||
// MACRODOWN only works in this function
|
||||
switch (id)
|
||||
{
|
||||
case 0:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
register_code(KC_RSFT);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "hhkb.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
#define _______ KC_TRNS
|
||||
|
||||
|
||||
/* Layer 0: HHKB JP
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| -| =|Yen|Bsp|
|
||||
@@ -31,29 +30,27 @@
|
||||
*/
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = KEYMAP_JP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRAVE, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_DEL, 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_RSFT, KC_UP, KC_BSLS,
|
||||
KC_BSPC, KC_ZKHK, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_BSPC, KC_RSFT, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[0] = LAYOUT_JP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRAVE, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_DEL, 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_RSFT, KC_UP, KC_BSLS,
|
||||
KC_BSPC, KC_ZKHK, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_BSPC, KC_RSFT, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[1] = KEYMAP_JP(
|
||||
_______, 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_INS, KC_DEL,
|
||||
KC_CAPS, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______,
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PSCR, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LEFT, KC_RGHT, _______, KC_PENT,
|
||||
_______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______ , _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
[1] = LAYOUT_JP(
|
||||
_______, 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_INS, KC_DEL,
|
||||
KC_CAPS, KC_MEDIA_PREV_TRACK, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______,
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PSCR, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LEFT, KC_RGHT, _______, KC_PENT,
|
||||
_______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
return MACRO_NONE;
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
/*void matrix_scan_user(void) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* -*- eval: (turn-on-orgtbl); -*-
|
||||
* default HHKB Layout
|
||||
*/
|
||||
#include "hhkb.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define BASE 0
|
||||
#define HHKB 1
|
||||
@@ -23,14 +23,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|------+------+-----------------------+------+------|
|
||||
*/
|
||||
|
||||
[BASE] = KEYMAP( // default layer
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
|
||||
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_BSPC, \
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), \
|
||||
KC_LGUI, KC_LALT, /* */ KC_SPC, KC_RALT, KC_RGUI),
|
||||
|
||||
|
||||
[BASE] = LAYOUT( // default layer
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
|
||||
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_BSPC,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB),
|
||||
KC_LGUI, KC_LALT, /* */ KC_SPC, KC_RALT, KC_RGUI),
|
||||
|
||||
/* Layer HHKB: HHKB mode (HHKB Fn)
|
||||
|------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
|
||||
@@ -48,13 +46,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
*/
|
||||
|
||||
[HHKB] = KEYMAP(
|
||||
KC_CAPS, 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_INS, KC_DEL, \
|
||||
KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_HOME, KC_AMPR, KC_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_UP, KC_DEL, KC_BSPC, \
|
||||
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_ASTR, KC_TRNS, KC_TRNS, KC_PGUP, KC_HOME, KC_LEFT, KC_RGHT, KC_TRNS, \
|
||||
KC_TRNS, KC_UNDS, KC_PLUS, KC_LPRN, KC_RPRN, KC_PIPE, KC_TRNS, KC_TRNS, KC_PGDN, KC_END, KC_DOWN, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)};
|
||||
|
||||
[HHKB] = LAYOUT(
|
||||
KC_CAPS, 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_INS, KC_DEL,
|
||||
KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_HOME, KC_AMPR, KC_TILD, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_UP, KC_DEL, KC_BSPC,
|
||||
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_ASTR, KC_TRNS, KC_TRNS, KC_PGUP, KC_HOME, KC_LEFT, KC_RGHT, KC_TRNS,
|
||||
KC_TRNS, KC_UNDS, KC_PLUS, KC_LPRN, KC_RPRN, KC_PIPE, KC_TRNS, KC_TRNS, KC_PGDN, KC_END, KC_DOWN, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
@@ -62,15 +59,19 @@ const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
// MACRODOWN only works in this function
|
||||
switch(id) {
|
||||
case 0:
|
||||
if (record->event.pressed) {
|
||||
// MACRODOWN only works in this function
|
||||
switch (id)
|
||||
{
|
||||
case 0:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
register_code(KC_RSFT);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
#include "hhkb.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _______ KC_TRNS
|
||||
|
||||
|
||||
/* Layer 0: HHKB JP
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| -| =|Yen|Bsp|
|
||||
@@ -32,25 +31,23 @@
|
||||
*/
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = KEYMAP_JP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_JYEN, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, 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_RO, KC_UP, KC_RSFT,
|
||||
MO(1), KC_ZKHK, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_HENK, KC_KANA, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[0] = LAYOUT_JP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_JYEN, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, 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_RO, KC_UP, KC_RSFT,
|
||||
MO(1), KC_ZKHK, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_HENK, KC_KANA, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[1] = KEYMAP_JP(
|
||||
KC_PWR, 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_INS, KC_DEL,
|
||||
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______,
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT,
|
||||
_______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______ , _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
[1] = LAYOUT_JP(
|
||||
KC_PWR, 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_INS, KC_DEL,
|
||||
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______,
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT,
|
||||
_______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t macro_id, uint8_t opt) {
|
||||
return MACRO_NONE;
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t macro_id, uint8_t opt)
|
||||
{
|
||||
return MACRO_NONE;
|
||||
}
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
#include "hhkb.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _______ KC_TRNS
|
||||
|
||||
|
||||
/* Layer 0: HHKB JP
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| -| =|Yen|Bsp|
|
||||
@@ -32,25 +31,23 @@
|
||||
*/
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = KEYMAP_JP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_JYEN, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, 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_RO, KC_UP, KC_RSFT,
|
||||
MO(1), KC_GRV, KC_LALT, KC_LGUI, KC_MHEN, KC_SPC, KC_HENK, KC_RGUI, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[0] = LAYOUT_JP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_JYEN, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, 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_RO, KC_UP, KC_RSFT,
|
||||
MO(1), KC_GRV, KC_LALT, KC_LGUI, KC_MHEN, KC_SPC, KC_HENK, KC_RGUI, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[1] = KEYMAP_JP(
|
||||
KC_PWR, 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_INS, KC_DEL,
|
||||
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______,
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT,
|
||||
_______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______ , _______, _______, _______, _______, KC_DEL, _______, _______
|
||||
)
|
||||
};
|
||||
[1] = LAYOUT_JP(
|
||||
KC_PWR, 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_INS, KC_DEL,
|
||||
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______,
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT,
|
||||
_______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______)};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t macro_id, uint8_t opt) {
|
||||
return MACRO_NONE;
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t macro_id, uint8_t opt)
|
||||
{
|
||||
return MACRO_NONE;
|
||||
}
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* -*- eval: (turn-on-orgtbl); -*-
|
||||
* default HHKB Layout
|
||||
*/
|
||||
#include "hhkb.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define BASE 0
|
||||
#define HHKB 1
|
||||
@@ -24,14 +24,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|------+------+-----------------------+------+------|
|
||||
*/
|
||||
|
||||
[BASE] = KEYMAP( // default layer
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
|
||||
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_BSPC, \
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), \
|
||||
KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
|
||||
|
||||
|
||||
[BASE] = LAYOUT( // default layer
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
|
||||
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_BSPC,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB),
|
||||
KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
|
||||
|
||||
/* Layer HHKB: HHKB mode (HHKB Fn)
|
||||
|------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
|
||||
@@ -50,13 +48,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
*/
|
||||
|
||||
[HHKB] = KEYMAP(
|
||||
KC_PWR, 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_INS, KC_DEL, \
|
||||
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC, \
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)};
|
||||
|
||||
[HHKB] = LAYOUT(
|
||||
KC_PWR, 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_INS, KC_DEL,
|
||||
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC,
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
@@ -64,15 +61,19 @@ const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
// MACRODOWN only works in this function
|
||||
switch(id) {
|
||||
case 0:
|
||||
if (record->event.pressed) {
|
||||
// MACRODOWN only works in this function
|
||||
switch (id)
|
||||
{
|
||||
case 0:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
register_code(KC_RSFT);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* -*- eval: (turn-on-orgtbl); -*-
|
||||
* lxol HHKB Layout
|
||||
*/
|
||||
#include "hhkb.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define BASE 0
|
||||
#define WIN 1
|
||||
@@ -11,7 +11,6 @@
|
||||
#define RALTLEV 5
|
||||
#define LALTLEV 6
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Layer 0: Default Layer
|
||||
@@ -30,16 +29,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|------+------+-------+------+------|
|
||||
*/
|
||||
|
||||
[BASE] = KEYMAP( // layer 0 : default
|
||||
|
||||
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
|
||||
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_BSPC, \
|
||||
KC_LCTL, LT(LALTLEV,KC_A), LT(LGUILEV,KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, LT(RGUILEV,KC_L), LT(RALTLEV,KC_SCLN), KC_QUOT, KC_FN0, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), \
|
||||
KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
|
||||
|
||||
[BASE] = LAYOUT( // layer 0 : default
|
||||
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
|
||||
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_BSPC,
|
||||
KC_LCTL, LT(LALTLEV, KC_A), LT(LGUILEV, KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, LT(RGUILEV, KC_L), LT(RALTLEV, KC_SCLN), KC_QUOT, KC_FN0,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB),
|
||||
KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
|
||||
|
||||
/* Layer 1: HHKB mode (HHKB Fn)
|
||||
|------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
|
||||
@@ -57,13 +53,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|---+---+---+---+---|
|
||||
*/
|
||||
|
||||
[HHKB] = KEYMAP(
|
||||
KC_PWR, 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_INS, KC_DEL, \
|
||||
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC, \
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
[HHKB] = LAYOUT(
|
||||
KC_PWR, 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_INS, KC_DEL,
|
||||
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC,
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
/* Layer LGUI: All keys with RGUI modifier
|
||||
|--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
|
||||
@@ -81,13 +76,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|------+------+-------+------+------|
|
||||
*/
|
||||
|
||||
[RGUILEV] = KEYMAP( // Right GUI layer by KC_L
|
||||
[RGUILEV] = LAYOUT( // Right GUI layer by KC_L
|
||||
|
||||
RGUI(KC_ESC), RGUI(KC_1), RGUI(KC_2), RGUI(KC_3), RGUI(KC_4), RGUI(KC_5), RGUI(KC_6), RGUI(KC_7), RGUI(KC_8), RGUI(KC_9), RGUI(KC_0), RGUI(KC_MINS), RGUI(KC_EQL), RGUI(KC_BSLS), RGUI(KC_GRV), \
|
||||
RGUI(KC_TAB), RGUI(KC_Q), RGUI(KC_W), RGUI(KC_E), RGUI(KC_R), RGUI(KC_T), RGUI(KC_Y), RGUI(KC_U), RGUI(KC_I), RGUI(KC_O), RGUI(KC_P), RGUI(KC_LBRC), RGUI(KC_RBRC), RGUI(KC_BSPC), \
|
||||
RGUI(KC_LCTL), RGUI(KC_A), RGUI(KC_S), RGUI(KC_D), RGUI(KC_F), RGUI(KC_G), RGUI(KC_H), RGUI(KC_J), RGUI(KC_K), KC_TRNS, KC_TRNS, RGUI(KC_QUOT), KC_FN0, \
|
||||
RGUI(KC_LSFT), RGUI(KC_Z), RGUI(KC_X), RGUI(KC_C), RGUI(KC_V), RGUI(KC_B), RGUI(KC_N), RGUI(KC_M), RGUI(KC_COMM), RGUI(KC_DOT), RGUI(KC_SLSH), RGUI(KC_RSFT), KC_TRNS, \
|
||||
KC_LALT, KC_LGUI, RGUI(KC_SPC), KC_RGUI, KC_RALT),
|
||||
RGUI(KC_ESC), RGUI(KC_1), RGUI(KC_2), RGUI(KC_3), RGUI(KC_4), RGUI(KC_5), RGUI(KC_6), RGUI(KC_7), RGUI(KC_8), RGUI(KC_9), RGUI(KC_0), RGUI(KC_MINS), RGUI(KC_EQL), RGUI(KC_BSLS), RGUI(KC_GRV),
|
||||
RGUI(KC_TAB), RGUI(KC_Q), RGUI(KC_W), RGUI(KC_E), RGUI(KC_R), RGUI(KC_T), RGUI(KC_Y), RGUI(KC_U), RGUI(KC_I), RGUI(KC_O), RGUI(KC_P), RGUI(KC_LBRC), RGUI(KC_RBRC), RGUI(KC_BSPC),
|
||||
RGUI(KC_LCTL), RGUI(KC_A), RGUI(KC_S), RGUI(KC_D), RGUI(KC_F), RGUI(KC_G), RGUI(KC_H), RGUI(KC_J), RGUI(KC_K), KC_TRNS, KC_TRNS, RGUI(KC_QUOT), KC_FN0,
|
||||
RGUI(KC_LSFT), RGUI(KC_Z), RGUI(KC_X), RGUI(KC_C), RGUI(KC_V), RGUI(KC_B), RGUI(KC_N), RGUI(KC_M), RGUI(KC_COMM), RGUI(KC_DOT), RGUI(KC_SLSH), RGUI(KC_RSFT), KC_TRNS,
|
||||
KC_LALT, KC_LGUI, RGUI(KC_SPC), KC_RGUI, KC_RALT),
|
||||
|
||||
/* Layer LGUI: All keys with LGUI modifier
|
||||
|--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
|
||||
@@ -105,13 +100,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|------+------+-------+------+------|
|
||||
*/
|
||||
|
||||
[LGUILEV] = KEYMAP( // Right GUI layer by KC_L
|
||||
[LGUILEV] = LAYOUT( // Right GUI layer by KC_L
|
||||
|
||||
LGUI(KC_ESC), LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), LGUI(KC_0), LGUI(KC_MINS), LGUI(KC_EQL), LGUI(KC_BSLS), LGUI(KC_GRV), \
|
||||
LGUI(KC_TAB), LGUI(KC_Q), LGUI(KC_W), LGUI(KC_E), LGUI(KC_R), LGUI(KC_T), LGUI(KC_Y), LGUI(KC_U), LGUI(KC_I), LGUI(KC_O), LGUI(KC_P), LGUI(KC_LBRC), LGUI(KC_RBRC), LGUI(KC_BSPC), \
|
||||
LGUI(KC_LCTL), KC_TRNS, KC_TRNS, LGUI(KC_D), LGUI(KC_F), LGUI(KC_G), LGUI(KC_H), LGUI(KC_J), LGUI(KC_K), LGUI(KC_L), LGUI(KC_SCLN), LGUI(KC_QUOT), KC_FN0, \
|
||||
KC_LSFT, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), LGUI(KC_B), LGUI(KC_N), LGUI(KC_M), LGUI(KC_COMM), LGUI(KC_DOT), LGUI(KC_SLSH), KC_RSFT, KC_TRNS, \
|
||||
KC_LALT, KC_LGUI, LGUI(KC_SPC), KC_LGUI, KC_RALT),
|
||||
LGUI(KC_ESC), LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), LGUI(KC_0), LGUI(KC_MINS), LGUI(KC_EQL), LGUI(KC_BSLS), LGUI(KC_GRV),
|
||||
LGUI(KC_TAB), LGUI(KC_Q), LGUI(KC_W), LGUI(KC_E), LGUI(KC_R), LGUI(KC_T), LGUI(KC_Y), LGUI(KC_U), LGUI(KC_I), LGUI(KC_O), LGUI(KC_P), LGUI(KC_LBRC), LGUI(KC_RBRC), LGUI(KC_BSPC),
|
||||
LGUI(KC_LCTL), KC_TRNS, KC_TRNS, LGUI(KC_D), LGUI(KC_F), LGUI(KC_G), LGUI(KC_H), LGUI(KC_J), LGUI(KC_K), LGUI(KC_L), LGUI(KC_SCLN), LGUI(KC_QUOT), KC_FN0,
|
||||
KC_LSFT, LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), LGUI(KC_B), LGUI(KC_N), LGUI(KC_M), LGUI(KC_COMM), LGUI(KC_DOT), LGUI(KC_SLSH), KC_RSFT, KC_TRNS,
|
||||
KC_LALT, KC_LGUI, LGUI(KC_SPC), KC_LGUI, KC_RALT),
|
||||
|
||||
/* Layer LALT: All keys with RALT modifier
|
||||
|--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
|
||||
@@ -129,13 +124,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|------+------+-------+------+------|
|
||||
*/
|
||||
|
||||
[RALTLEV] = KEYMAP( // Right ALT layer by KC_L
|
||||
[RALTLEV] = LAYOUT( // Right ALT layer by KC_L
|
||||
|
||||
RALT(KC_ESC), RALT(KC_1), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_5), RALT(KC_6), RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), RALT(KC_MINS), RALT(KC_EQL), RALT(KC_BSLS), RALT(KC_GRV), \
|
||||
RALT(KC_TAB), RALT(KC_Q), RALT(KC_W), RALT(KC_E), RALT(KC_R), RALT(KC_T), RALT(KC_Y), RALT(KC_U), RALT(KC_I), RALT(KC_O), RALT(KC_P), RALT(KC_LBRC), RALT(KC_RBRC), RALT(KC_BSPC), \
|
||||
RALT(KC_LCTL), RALT(KC_A), RALT(KC_S), RALT(KC_D), RALT(KC_F), RALT(KC_G), RALT(KC_H), RALT(KC_J), RALT(KC_K), KC_TRNS, KC_TRNS, RALT(KC_QUOT), KC_FN0, \
|
||||
RALT(KC_LSFT), RALT(KC_Z), RALT(KC_X), RALT(KC_C), RALT(KC_V), RALT(KC_B), RALT(KC_N), RALT(KC_M), RALT(KC_COMM), RALT(KC_DOT), RALT(KC_SLSH), RALT(KC_RSFT), KC_TRNS, \
|
||||
KC_LALT, KC_LGUI, RALT(KC_SPC), KC_RGUI, KC_RALT),
|
||||
RALT(KC_ESC), RALT(KC_1), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_5), RALT(KC_6), RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), RALT(KC_MINS), RALT(KC_EQL), RALT(KC_BSLS), RALT(KC_GRV),
|
||||
RALT(KC_TAB), RALT(KC_Q), RALT(KC_W), RALT(KC_E), RALT(KC_R), RALT(KC_T), RALT(KC_Y), RALT(KC_U), RALT(KC_I), RALT(KC_O), RALT(KC_P), RALT(KC_LBRC), RALT(KC_RBRC), RALT(KC_BSPC),
|
||||
RALT(KC_LCTL), RALT(KC_A), RALT(KC_S), RALT(KC_D), RALT(KC_F), RALT(KC_G), RALT(KC_H), RALT(KC_J), RALT(KC_K), KC_TRNS, KC_TRNS, RALT(KC_QUOT), KC_FN0,
|
||||
RALT(KC_LSFT), RALT(KC_Z), RALT(KC_X), RALT(KC_C), RALT(KC_V), RALT(KC_B), RALT(KC_N), RALT(KC_M), RALT(KC_COMM), RALT(KC_DOT), RALT(KC_SLSH), RALT(KC_RSFT), KC_TRNS,
|
||||
KC_LALT, KC_LGUI, RALT(KC_SPC), KC_RGUI, KC_RALT),
|
||||
|
||||
/* Layer LALT: All keys with LALT modifier
|
||||
|--------+---+---+---+---+---+---+---+---+---+-----+-------+----------+-------+---|
|
||||
@@ -153,14 +148,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|------+------+-------+------+------|
|
||||
*/
|
||||
|
||||
[LALTLEV] = KEYMAP( // Right ALT layer by KC_L
|
||||
|
||||
LALT(KC_ESC), LALT(KC_1), LALT(KC_2), LALT(KC_3), LALT(KC_4), LALT(KC_5), LALT(KC_6), LALT(KC_7), LALT(KC_8), LALT(KC_9), LALT(KC_0), LALT(KC_MINS), LALT(KC_EQL), LALT(KC_BSLS), LALT(KC_GRV), \
|
||||
LALT(KC_TAB), LALT(KC_Q), LALT(KC_W), LALT(KC_E), LALT(KC_R), LALT(KC_T), LALT(KC_Y), LALT(KC_U), LALT(KC_I), LALT(KC_O), LALT(KC_P), LALT(KC_LBRC), LALT(KC_RBRC), LALT(KC_BSPC), \
|
||||
LALT(KC_LCTL), KC_TRNS, KC_TRNS, LALT(KC_D), LALT(KC_F), LALT(KC_G), LALT(KC_H), LALT(KC_J), LALT(KC_K), LALT(KC_L), LALT(KC_SCLN), LALT(KC_QUOT), KC_FN0, \
|
||||
KC_LSFT, LALT(KC_Z), LALT(KC_X), LALT(KC_C), LALT(KC_V), LALT(KC_B), LALT(KC_N), LALT(KC_M), LALT(KC_COMM), LALT(KC_DOT), LALT(KC_SLSH), KC_RSFT, KC_TRNS, \
|
||||
KC_LALT, KC_LGUI, LALT(KC_SPC), KC_LGUI, KC_RALT),
|
||||
[LALTLEV] = LAYOUT( // Right ALT layer by KC_L
|
||||
|
||||
LALT(KC_ESC), LALT(KC_1), LALT(KC_2), LALT(KC_3), LALT(KC_4), LALT(KC_5), LALT(KC_6), LALT(KC_7), LALT(KC_8), LALT(KC_9), LALT(KC_0), LALT(KC_MINS), LALT(KC_EQL), LALT(KC_BSLS), LALT(KC_GRV),
|
||||
LALT(KC_TAB), LALT(KC_Q), LALT(KC_W), LALT(KC_E), LALT(KC_R), LALT(KC_T), LALT(KC_Y), LALT(KC_U), LALT(KC_I), LALT(KC_O), LALT(KC_P), LALT(KC_LBRC), LALT(KC_RBRC), LALT(KC_BSPC),
|
||||
LALT(KC_LCTL), KC_TRNS, KC_TRNS, LALT(KC_D), LALT(KC_F), LALT(KC_G), LALT(KC_H), LALT(KC_J), LALT(KC_K), LALT(KC_L), LALT(KC_SCLN), LALT(KC_QUOT), KC_FN0,
|
||||
KC_LSFT, LALT(KC_Z), LALT(KC_X), LALT(KC_C), LALT(KC_V), LALT(KC_B), LALT(KC_N), LALT(KC_M), LALT(KC_COMM), LALT(KC_DOT), LALT(KC_SLSH), KC_RSFT, KC_TRNS,
|
||||
KC_LALT, KC_LGUI, LALT(KC_SPC), KC_LGUI, KC_RALT),
|
||||
|
||||
/* Layer WIN: Win layer
|
||||
|--------+---+---+---+---+---+---+---+---+---+---+-------+----------+-------+---|
|
||||
@@ -178,31 +172,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|------+------+-------+------+------|
|
||||
*/
|
||||
|
||||
[WIN] = KEYMAP( // BASE level with swapped GUI/ALT
|
||||
|
||||
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
|
||||
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_BSPC, \
|
||||
KC_LCTL, LT(LGUILEV,KC_A), LT(LALTLEV,KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, LT(RALTLEV,KC_L), LT(RGUILEV,KC_SCLN), KC_QUOT, KC_FN0, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB), \
|
||||
KC_RGUI, KC_RALT, KC_SPC, KC_RALT, KC_RGUI)};
|
||||
[WIN] = LAYOUT( // BASE level with swapped GUI/ALT
|
||||
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
|
||||
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_BSPC,
|
||||
KC_LCTL, LT(LGUILEV, KC_A), LT(LALTLEV, KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, LT(RALTLEV, KC_L), LT(RGUILEV, KC_SCLN), KC_QUOT, KC_FN0,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(HHKB),
|
||||
KC_RGUI, KC_RALT, KC_SPC, KC_RALT, KC_RGUI)};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
[0] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_ENT) // RControl with tap Enter*
|
||||
[0] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_ENT) // RControl with tap Enter*
|
||||
};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
// MACRODOWN only works in this function
|
||||
switch(id) {
|
||||
case 0:
|
||||
if (record->event.pressed) {
|
||||
// MACRODOWN only works in this function
|
||||
switch (id)
|
||||
{
|
||||
case 0:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
register_code(KC_RSFT);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* -*- eval: (turn-on-orgtbl); -*-
|
||||
* default HHKB Layout
|
||||
*/
|
||||
#include "hhkb.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define BASE 0
|
||||
#define HHKB 1
|
||||
@@ -10,10 +10,11 @@
|
||||
#define CTL_ESC CTL_T(KC_ESC)
|
||||
#define MACSLEEP LCTL(LSFT(KC_POWER))
|
||||
|
||||
enum hhkb_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
DYNKEY,
|
||||
DYNAMIC_MACRO_RANGE,
|
||||
enum hhkb_keycodes
|
||||
{
|
||||
QWERTY = SAFE_RANGE,
|
||||
DYNKEY,
|
||||
DYNAMIC_MACRO_RANGE,
|
||||
};
|
||||
|
||||
#include "dynamic_macro.h"
|
||||
@@ -36,14 +37,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|------+------+-----------------------+------+------|
|
||||
*/
|
||||
|
||||
[BASE] = KEYMAP( // default layer
|
||||
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_BSLS, KC_DEL, \
|
||||
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_BSPC, \
|
||||
CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT), TT(FUNK), \
|
||||
KC_LALT, KC_LGUI, /* */ KC_SPC, MO(DYN), KC_RALT),
|
||||
|
||||
|
||||
[BASE] = LAYOUT( // default layer
|
||||
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_BSLS, KC_DEL,
|
||||
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_BSPC,
|
||||
CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT), TT(FUNK),
|
||||
KC_LALT, KC_LGUI, /* */ KC_SPC, MO(DYN), KC_RALT),
|
||||
|
||||
/* Layer HHKB: HHKB mode (HHKB Fn)
|
||||
|------+-----+-----+-----+----+----+----+----+-----+-----+-----+-----+-------+-------+-----|
|
||||
@@ -62,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
|
||||
|
||||
[HHKB] = KEYMAP(
|
||||
[HHKB] = LAYOUT(
|
||||
KC_PWR, 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_INS, KC_DEL, \
|
||||
KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC, \
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
|
||||
@@ -70,20 +69,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
*/
|
||||
[FUNK] = KEYMAP(
|
||||
KC_PWR, 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_INS, KC_DEL, \
|
||||
KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC, \
|
||||
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
[DYN] = KEYMAP(
|
||||
KC_TRNS, DYN_REC_START1, DYN_REC_START2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MACSLEEP, KC_HOME, KC_END , KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS, \
|
||||
KC_TRNS, KC_TRNS, DYN_REC_STOP, KC_TRNS, KC_TRNS)
|
||||
};
|
||||
|
||||
[FUNK] = LAYOUT(
|
||||
KC_PWR, 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_INS, KC_DEL,
|
||||
KC_CAPS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC,
|
||||
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
[DYN] = LAYOUT(
|
||||
KC_TRNS, DYN_REC_START1, DYN_REC_START2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MACSLEEP, KC_HOME, KC_END, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, DYN_REC_STOP, KC_TRNS, KC_TRNS)};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
@@ -91,24 +88,30 @@ const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
// MACRODOWN only works in this function
|
||||
switch(id) {
|
||||
case 0:
|
||||
if (record->event.pressed) {
|
||||
// MACRODOWN only works in this function
|
||||
switch (id)
|
||||
{
|
||||
case 0:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
register_code(KC_RSFT);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
uint16_t macro_kc = (keycode == MO(DYN) ? DYN_REC_STOP : keycode);
|
||||
if (!process_record_dynamic_macro(macro_kc, record)) {
|
||||
return false;
|
||||
}
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
uint16_t macro_kc = (keycode == MO(DYN) ? DYN_REC_STOP : keycode);
|
||||
if (!process_record_dynamic_macro(macro_kc, record))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1,21 +1,20 @@
|
||||
#include "hhkb.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _______ KC_TRNS
|
||||
|
||||
enum {
|
||||
ZER,
|
||||
HDN,
|
||||
OSY
|
||||
enum
|
||||
{
|
||||
ZER,
|
||||
HDN,
|
||||
OSY
|
||||
};
|
||||
|
||||
|
||||
#define CTL_ESC CTL_T(KC_ESC)
|
||||
#define SFT_BSP SFT_T(KC_BSPC)
|
||||
|
||||
#define SCRNS3 LGUI(LCTL(LSFT(KC_3)))
|
||||
#define SCRNS4 LGUI(LCTL(LSFT(KC_4)))
|
||||
|
||||
|
||||
/* hhkb jp ~ layout
|
||||
* ,-----------------------------------------------------------.
|
||||
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| -| =|Yen|Bsp|
|
||||
@@ -31,33 +30,30 @@ enum {
|
||||
*/
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[ZER] = KEYMAP_JP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_INS, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||
CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_GRV, 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_BSLS, KC_UP, KC_RSFT,
|
||||
MO(HDN), KC_LCTL, KC_LALT, KC_LGUI, MO(HDN), KC_SPC, SFT_BSP, MO(HDN), MO(OSY), KC_NO, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[ZER] = LAYOUT_JP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_INS, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||
CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_GRV, 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_BSLS, KC_UP, KC_RSFT,
|
||||
MO(HDN), KC_LCTL, KC_LALT, KC_LGUI, MO(HDN), KC_SPC, SFT_BSP, MO(HDN), MO(OSY), KC_NO, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[HDN] = KEYMAP_JP(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
|
||||
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______,
|
||||
_______, KC_TILD, KC_GRV, KC_BSLS, KC_PIPE, KC_MINS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TILD, KC_GRV, _______, _______,
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, _______, KC_ENT, _______, _______, _______, _______, KC_PGUP, _______,
|
||||
_______, _______, _______, _______, _______, KC_UNDS , KC_DEL, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
|
||||
),
|
||||
[HDN] = LAYOUT_JP(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
|
||||
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______,
|
||||
_______, KC_TILD, KC_GRV, KC_BSLS, KC_PIPE, KC_MINS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TILD, KC_GRV, _______, _______,
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, _______, KC_ENT, _______, _______, _______, _______, KC_PGUP, _______,
|
||||
_______, _______, _______, _______, _______, KC_UNDS, KC_DEL, _______, _______, _______, KC_HOME, KC_PGDN, KC_END),
|
||||
|
||||
[OSY] = KEYMAP_JP(
|
||||
_______, _______, _______, SCRNS3, SCRNS4, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______ , _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
[OSY] = LAYOUT_JP(
|
||||
_______, _______, _______, SCRNS3, SCRNS4, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t macro_id, uint8_t opt) {
|
||||
return MACRO_NONE;
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t macro_id, uint8_t opt)
|
||||
{
|
||||
return MACRO_NONE;
|
||||
}
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
@@ -1,58 +1,54 @@
|
||||
#include "hhkb.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _______ KC_TRNS
|
||||
|
||||
enum {
|
||||
DVOR,
|
||||
QWER,
|
||||
NEW_CMD,
|
||||
SYMB,
|
||||
FUNC
|
||||
enum
|
||||
{
|
||||
DVOR,
|
||||
QWER,
|
||||
NEW_CMD,
|
||||
SYMB,
|
||||
FUNC
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[DVOR] = KEYMAP_JP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_JYEN, KC_BSPC,
|
||||
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL,
|
||||
KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_BSLS, KC_ENT,
|
||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RO, KC_UP, KC_RSFT,
|
||||
MO(FUNC), KC_ZKHK, KC_LALT, MO(NEW_CMD), MO(SYMB), MT(MOD_LSFT, KC_SPC), MO(SYMB), KC_TAB, KC_RGUI, TG(QWER), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[QWER] = KEYMAP_JP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_JYEN, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, 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_RO, KC_UP, KC_RSFT,
|
||||
MO(FUNC), KC_ZKHK, KC_LALT, MO(NEW_CMD), MO(SYMB), MT(MOD_LSFT, KC_SPC), MO(SYMB), KC_TAB, KC_RGUI, _______, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[DVOR] = LAYOUT_JP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_JYEN, KC_BSPC,
|
||||
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL,
|
||||
KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_BSLS, KC_ENT,
|
||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RO, KC_UP, KC_RSFT,
|
||||
MO(FUNC), KC_ZKHK, KC_LALT, MO(NEW_CMD), MO(SYMB), MT(MOD_LSFT, KC_SPC), MO(SYMB), KC_TAB, KC_RGUI, TG(QWER), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
[QWER] = LAYOUT_JP(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_JYEN, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, 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_RO, KC_UP, KC_RSFT,
|
||||
MO(FUNC), KC_ZKHK, KC_LALT, MO(NEW_CMD), MO(SYMB), MT(MOD_LSFT, KC_SPC), MO(SYMB), KC_TAB, KC_RGUI, _______, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[NEW_CMD] = KEYMAP_JP(
|
||||
_______, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), LGUI(KC_0), _______, _______, _______, LGUI(KC_BSPC),
|
||||
_______, LGUI(KC_Q), LGUI(KC_W), LGUI(KC_E), LGUI(KC_R), LGUI(KC_T), LGUI(KC_Y), LGUI(KC_U), LGUI(KC_I), LGUI(KC_O), LGUI(KC_P), LGUI(KC_LBRC), LGUI(KC_RBRC),
|
||||
_______, LGUI(KC_A), LGUI(KC_S), LGUI(KC_D), LGUI(KC_F), LGUI(KC_G), LGUI(KC_H), LGUI(KC_J), LGUI(KC_K), LGUI(KC_L), _______, _______, _______, _______,
|
||||
LGUI(KC_LSFT), LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), LGUI(KC_B), LGUI(KC_N), LGUI(KC_M), LGUI(KC_COMM), LGUI(KC_DOT), LGUI(KC_SLSH), _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, LGUI(KC_SPC), _______, _______, _______, _______, LGUI(KC_LEFT), LGUI(KC_DOWN), LGUI(KC_RGHT)
|
||||
),
|
||||
[NEW_CMD] = LAYOUT_JP(
|
||||
_______, LGUI(KC_1), LGUI(KC_2), LGUI(KC_3), LGUI(KC_4), LGUI(KC_5), LGUI(KC_6), LGUI(KC_7), LGUI(KC_8), LGUI(KC_9), LGUI(KC_0), _______, _______, _______, LGUI(KC_BSPC),
|
||||
_______, LGUI(KC_Q), LGUI(KC_W), LGUI(KC_E), LGUI(KC_R), LGUI(KC_T), LGUI(KC_Y), LGUI(KC_U), LGUI(KC_I), LGUI(KC_O), LGUI(KC_P), LGUI(KC_LBRC), LGUI(KC_RBRC),
|
||||
_______, LGUI(KC_A), LGUI(KC_S), LGUI(KC_D), LGUI(KC_F), LGUI(KC_G), LGUI(KC_H), LGUI(KC_J), LGUI(KC_K), LGUI(KC_L), _______, _______, _______, _______,
|
||||
LGUI(KC_LSFT), LGUI(KC_Z), LGUI(KC_X), LGUI(KC_C), LGUI(KC_V), LGUI(KC_B), LGUI(KC_N), LGUI(KC_M), LGUI(KC_COMM), LGUI(KC_DOT), LGUI(KC_SLSH), _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, LGUI(KC_SPC), _______, _______, _______, _______, LGUI(KC_LEFT), LGUI(KC_DOWN), LGUI(KC_RGHT)),
|
||||
|
||||
[SYMB] = KEYMAP_JP(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, LSFT(KC_LBRC), LSFT(KC_RBRC), _______, _______,_______, _______,
|
||||
_______, LSFT(KC_1),LSFT(KC_2),LSFT(KC_3),LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_0), _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[SYMB] = LAYOUT_JP(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, KC_LBRC, KC_RBRC, _______, _______, LSFT(KC_LBRC), LSFT(KC_RBRC), _______, _______, _______, _______,
|
||||
_______, LSFT(KC_1), LSFT(KC_2), LSFT(KC_3), LSFT(KC_4), LSFT(KC_5), LSFT(KC_6), LSFT(KC_7), LSFT(KC_8), LSFT(KC_9), LSFT(KC_0), _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
|
||||
[FUNC] = KEYMAP_JP(
|
||||
KC_PWR, 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_INS, KC_DEL,
|
||||
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______,
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT,
|
||||
_______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______ , _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
[FUNC] = LAYOUT_JP(
|
||||
KC_PWR, 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_INS, KC_DEL,
|
||||
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______,
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, KC_PWR, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT,
|
||||
_______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t macro_id, uint8_t opt) {
|
||||
return MACRO_NONE;
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t macro_id, uint8_t opt)
|
||||
{
|
||||
return MACRO_NONE;
|
||||
}
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
/*
|
||||
* HHKB Pro 2 US Layout for shela
|
||||
*/
|
||||
#include "hhkb.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "keymap_jis2us.h"
|
||||
#include "action_pseudo_lut.h"
|
||||
|
||||
enum keymap_layout {
|
||||
enum keymap_layout
|
||||
{
|
||||
BASE = 0,
|
||||
PSEUDO_US,
|
||||
DVORAK,
|
||||
@@ -31,11 +32,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[BASE] =
|
||||
KEYMAP(KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_GRV, KC_BSPC, \
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, \
|
||||
KC_LCTL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_ENT, \
|
||||
OSM(MOD_LSFT),KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,KC_FN0, \
|
||||
KC_LALT,KC_LGUI, KC_FN2, KC_RGUI,KC_RALT),
|
||||
LAYOUT(KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_FN0,
|
||||
KC_LALT, KC_LGUI, KC_FN2, KC_RGUI, KC_RALT),
|
||||
|
||||
/* Layer 1: Pseudo US Layout Layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
@@ -51,11 +52,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[PSEUDO_US] =
|
||||
KEYMAP(KC_ESC, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_BSPC, \
|
||||
KC_TAB, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, \
|
||||
KC_LCTL,KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_ENT, \
|
||||
KC_LSFT,KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_RSFT,KC_FN0, \
|
||||
KC_LGUI,KC_FN3, KC_FN2, KC_FN4 ,KC_RGUI),
|
||||
LAYOUT(KC_ESC, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_BSPC,
|
||||
KC_TAB, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1,
|
||||
KC_LCTL, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_ENT,
|
||||
KC_LSFT, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_FN1, KC_RSFT, KC_FN0,
|
||||
KC_LGUI, KC_FN3, KC_FN2, KC_FN4, KC_RGUI),
|
||||
|
||||
/* Layer 2: Dvorak Layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
@@ -71,11 +72,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[DVORAK] =
|
||||
KEYMAP(KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC,KC_RBRC,KC_GRV, KC_BSPC, \
|
||||
KC_TAB, KC_QUOT,KC_COMM,KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,KC_EQL, KC_BSLS, \
|
||||
KC_LCTL,KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,KC_ENT, \
|
||||
KC_LSFT,KC_SCLN,KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,KC_FN0, \
|
||||
KC_LALT,KC_LGUI, KC_FN2, KC_RGUI,KC_RALT),
|
||||
LAYOUT(KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_GRV, KC_BSPC,
|
||||
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS,
|
||||
KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT,
|
||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_FN0,
|
||||
KC_LALT, KC_LGUI, KC_FN2, KC_RGUI, KC_RALT),
|
||||
|
||||
/* Layer 3: Mouse layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
@@ -91,11 +92,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[MOUSE] =
|
||||
KEYMAP(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_NO, KC_TRNS, \
|
||||
KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_L,KC_WH_D,KC_WH_U,KC_WH_R,KC_NO, KC_NO, KC_NO, KC_NO, \
|
||||
KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_L,KC_MS_D,KC_MS_U,KC_MS_R,KC_NO, KC_NO, KC_TRNS, \
|
||||
KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1,KC_BTN2,KC_BTN3,KC_NO, KC_NO, KC_TRNS,KC_FN0, \
|
||||
KC_TRNS,KC_TRNS, KC_BTN1, KC_TRNS,KC_TRNS),
|
||||
LAYOUT(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_NO, KC_TRNS,
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_NO, KC_NO, KC_TRNS,
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BTN1, KC_BTN2, KC_BTN3, KC_NO, KC_NO, KC_TRNS, KC_FN0,
|
||||
KC_TRNS, KC_TRNS, KC_BTN1, KC_TRNS, KC_TRNS),
|
||||
|
||||
/* Layer 4: Tenkey layer
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
@@ -111,11 +112,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[TENKEY] =
|
||||
KEYMAP(KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSLS,KC_PAST,KC_PMNS,KC_NO, KC_BSPC, \
|
||||
KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_KP_7,KC_KP_8,KC_KP_9,KC_PPLS,KC_NO, \
|
||||
KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_KP_4,KC_KP_5,KC_KP_6,KC_PENT, \
|
||||
KC_TRNS,KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_KP_1,KC_KP_2,KC_KP_3,KC_PPLS,KC_FN0, \
|
||||
KC_TRNS,KC_TRNS, KC_FN2, KC_KP_0,KC_PDOT),
|
||||
LAYOUT(KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PSLS, KC_PAST, KC_PMNS, KC_NO, KC_BSPC,
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, KC_NO,
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_KP_4, KC_KP_5, KC_KP_6, KC_PENT,
|
||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_KP_1, KC_KP_2, KC_KP_3, KC_PPLS, KC_FN0,
|
||||
KC_TRNS, KC_TRNS, KC_FN2, KC_KP_0, KC_PDOT),
|
||||
|
||||
/* Layer 5: HHKB mode (HHKB Fn)
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
@@ -131,11 +132,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[HHKB] =
|
||||
KEYMAP(KC_PWR, 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_INS, KC_DEL, \
|
||||
KC_CAPS,KC_FN5, KC_FN6, KC_FN7, KC_FN8, KC_FN9, KC_TRNS,KC_TRNS,KC_PSCR,KC_SLCK,KC_PAUS,KC_UP, KC_TRNS,KC_BSPC, \
|
||||
KC_TRNS,KC_VOLD,KC_VOLU,KC_MUTE,KC_TRNS,KC_TRNS,KC_PAST,KC_PSLS,KC_HOME,KC_PGUP,KC_LEFT,KC_RGHT,KC_PENT, \
|
||||
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PPLS,KC_PMNS,KC_END, KC_PGDN,KC_DOWN,KC_TRNS,KC_TRNS, \
|
||||
KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS),
|
||||
LAYOUT(KC_PWR, 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_INS, KC_DEL,
|
||||
KC_CAPS, KC_FN5, KC_FN6, KC_FN7, KC_FN8, KC_FN9, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_BSPC,
|
||||
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
/* Layer 6: SpaceFN
|
||||
* ,-----------------------------------------------------------------------------------------.
|
||||
@@ -151,26 +152,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* `-----------------------------------------------------------------'
|
||||
*/
|
||||
[SPACE_FN] =
|
||||
KEYMAP(KC_TRNS,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_NO, KC_DEL, \
|
||||
KC_TRNS,KC_HOME,KC_UP, KC_END, KC_NO, KC_NO, KC_NO, KC_HOME,KC_END, KC_NO, KC_PSCR,KC_SLCK,KC_PAUS,KC_INS, \
|
||||
KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_PGUP,KC_NO, KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,KC_NO, KC_NO, KC_TRNS, \
|
||||
KC_TRNS,KC_NO, KC_NO, KC_PGDN,KC_NO, KC_SPC, KC_NO, KC_PGDN,KC_PGUP,KC_NO, KC_NO, KC_TRNS,KC_NO, \
|
||||
KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS),
|
||||
LAYOUT(KC_TRNS, 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_NO, KC_DEL,
|
||||
KC_TRNS, KC_HOME, KC_UP, KC_END, KC_NO, KC_NO, KC_NO, KC_HOME, KC_END, KC_NO, KC_PSCR, KC_SLCK, KC_PAUS, KC_INS,
|
||||
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGUP, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO, KC_NO, KC_TRNS,
|
||||
KC_TRNS, KC_NO, KC_NO, KC_PGDN, KC_NO, KC_SPC, KC_NO, KC_PGDN, KC_PGUP, KC_NO, KC_NO, KC_TRNS, KC_NO,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
};
|
||||
|
||||
/*
|
||||
* user defined action function
|
||||
*/
|
||||
enum function_id {
|
||||
enum function_id
|
||||
{
|
||||
PSEUDO_US_FUNCTION,
|
||||
};
|
||||
|
||||
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
|
||||
switch (id) {
|
||||
case PSEUDO_US_FUNCTION:
|
||||
action_pseudo_lut(record, BASE, keymap_jis2us);
|
||||
break;
|
||||
switch (id)
|
||||
{
|
||||
case PSEUDO_US_FUNCTION:
|
||||
action_pseudo_lut(record, BASE, keymap_jis2us);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef KEYMAP_JIS2US_H
|
||||
#define KEYMAP_JIS2US_H
|
||||
#ifndef LAYOUT_JIS2US_H
|
||||
#define LAYOUT_JIS2US_H
|
||||
|
||||
/* keymap for convert from JIS to US */
|
||||
const uint16_t PROGMEM keymap_jis2us[][2] = {
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
/* -*- eval: (turn-on-orgtbl); -*-
|
||||
* default HHKB Layout
|
||||
*/
|
||||
#include "hhkb.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _QWERTY 0
|
||||
#define _COLEMAK 1
|
||||
#define _DVORAK 2
|
||||
#define _HHKB 3
|
||||
|
||||
enum planck_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
COLEMAK,
|
||||
DVORAK,
|
||||
HHKB
|
||||
enum planck_keycodes
|
||||
{
|
||||
QWERTY = SAFE_RANGE,
|
||||
COLEMAK,
|
||||
DVORAK,
|
||||
HHKB
|
||||
};
|
||||
|
||||
// Fillers to make layering more clear
|
||||
@@ -20,10 +21,10 @@ enum planck_keycodes {
|
||||
#define XXXXXXX KC_NO
|
||||
|
||||
// Custom macros
|
||||
#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl
|
||||
#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift
|
||||
#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper (Super+Ctrl+Alt+Shift)
|
||||
#define MEH_GRV MEH_T(KC_GRV) // Tap for Backtick, hold for Meh (Ctrl+Alt+Shift)
|
||||
#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl
|
||||
#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift
|
||||
#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper (Super+Ctrl+Alt+Shift)
|
||||
#define MEH_GRV MEH_T(KC_GRV) // Tap for Backtick, hold for Meh (Ctrl+Alt+Shift)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
@@ -43,14 +44,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|------+------+-----------------------+------+------|
|
||||
*/
|
||||
|
||||
[_QWERTY] = KEYMAP( // Qwerty layer
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, MEH_GRV, \
|
||||
HPR_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_BSPC, \
|
||||
CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, SFT_ENT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_HHKB), \
|
||||
KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
|
||||
|
||||
|
||||
[_QWERTY] = LAYOUT( // Qwerty layer
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, MEH_GRV,
|
||||
HPR_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_BSPC,
|
||||
CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, SFT_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_HHKB),
|
||||
KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
|
||||
|
||||
/* Layer COLEMAK: Colemak Layer
|
||||
|-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
|
||||
@@ -68,14 +67,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|------+------+-----------------------+------+------|
|
||||
*/
|
||||
|
||||
[_COLEMAK] = KEYMAP( // Colemak layer
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, MEH_GRV, \
|
||||
HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, \
|
||||
CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, SFT_ENT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_HHKB), \
|
||||
KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
|
||||
|
||||
|
||||
[_COLEMAK] = LAYOUT( // Colemak layer
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, MEH_GRV,
|
||||
HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC,
|
||||
CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, SFT_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_HHKB),
|
||||
KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
|
||||
|
||||
/* Layer DVORAK: Dvorak Layer
|
||||
|-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
|
||||
@@ -93,14 +90,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|------+------+-----------------------+------+------|
|
||||
*/
|
||||
|
||||
[_DVORAK] = KEYMAP( // Dvorak layer
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, MEH_GRV, \
|
||||
HPR_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC, \
|
||||
CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, SFT_ENT, \
|
||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, MO(_HHKB), \
|
||||
KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
|
||||
|
||||
|
||||
[_DVORAK] = LAYOUT( // Dvorak layer
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, MEH_GRV,
|
||||
HPR_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC,
|
||||
CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, SFT_ENT,
|
||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, MO(_HHKB),
|
||||
KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
|
||||
|
||||
/* Layer HHKB: HHKB mode (HHKB Fn)
|
||||
|------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------+-------+-----|
|
||||
@@ -119,13 +114,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
*/
|
||||
|
||||
[_HHKB] = KEYMAP(
|
||||
KC_PWR, 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_INS, KC_DEL, \
|
||||
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_BSPC, \
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
|
||||
_______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, \
|
||||
_______, _______, _______, _______, _______)};
|
||||
|
||||
[_HHKB] = LAYOUT(
|
||||
KC_PWR, 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_INS, KC_DEL,
|
||||
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_BSPC,
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
|
||||
_______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
|
||||
_______, _______, _______, _______, _______)};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
@@ -133,44 +127,54 @@ const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
// MACRODOWN only works in this function
|
||||
switch(id) {
|
||||
case 0:
|
||||
if (record->event.pressed) {
|
||||
// MACRODOWN only works in this function
|
||||
switch (id)
|
||||
{
|
||||
case 0:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
register_code(KC_RSFT);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
void persistent_default_layer_set(uint16_t default_layer) {
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
void persistent_default_layer_set(uint16_t default_layer)
|
||||
{
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
switch (keycode)
|
||||
{
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
persistent_default_layer_set(1UL<<_QWERTY);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
if (record->event.pressed)
|
||||
{
|
||||
persistent_default_layer_set(1UL << _QWERTY);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
persistent_default_layer_set(1UL<<_COLEMAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
if (record->event.pressed)
|
||||
{
|
||||
persistent_default_layer_set(1UL << _COLEMAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
persistent_default_layer_set(1UL<<_DVORAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
if (record->event.pressed)
|
||||
{
|
||||
persistent_default_layer_set(1UL << _DVORAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"keyboard_name": "jd40",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 12,
|
||||
"height": 4,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "x": 0, "y": 0 },
|
||||
{ "label": "Q", "x": 1, "y": 0 },
|
||||
{ "label": "W", "x": 2, "y": 0 },
|
||||
{ "label": "E", "x": 3, "y": 0 },
|
||||
{ "label": "R", "x": 4, "y": 0 },
|
||||
{ "label": "T", "x": 5, "y": 0 },
|
||||
{ "label": "Y", "x": 6, "y": 0 },
|
||||
{ "label": "U", "x": 7, "y": 0 },
|
||||
{ "label": "I", "x": 8, "y": 0 },
|
||||
{ "label": "O", "x": 9, "y": 0 },
|
||||
{ "label": "P", "x": 10, "y": 0 },
|
||||
{ "label": "Back<br>Space", "x": 11, "y": 0 },
|
||||
{ "label": "Tab", "x": 0, "y": 1, "w": 1.25 },
|
||||
{ "label": "A", "x": 1.25, "y": 1 },
|
||||
{ "label": "S", "x": 2.25, "y": 1 },
|
||||
{ "label": "D", "x": 3.25, "y": 1 },
|
||||
{ "label": "F", "x": 4.25, "y": 1 },
|
||||
{ "label": "G", "x": 5.25, "y": 1 },
|
||||
{ "label": "H", "x": 6.25, "y": 1 },
|
||||
{ "label": "J", "x": 7.25, "y": 1 },
|
||||
{ "label": "K", "x": 8.25, "y": 1 },
|
||||
{ "label": "L", "x": 9.25, "y": 1 },
|
||||
{ "label": "Enter", "x": 10.25, "y": 1, "w": 1.75 },
|
||||
{ "label": "Shift", "x": 0, "y": 2, "w": 1.75 },
|
||||
{ "label": "Z", "x": 1.75, "y": 2 },
|
||||
{ "label": "X", "x": 2.75, "y": 2 },
|
||||
{ "label": "C", "x": 3.75, "y": 2 },
|
||||
{ "label": "V", "x": 4.75, "y": 2 },
|
||||
{ "label": "B", "x": 5.75, "y": 2 },
|
||||
{ "label": "N", "x": 6.75, "y": 2 },
|
||||
{ "label": "M", "x": 7.75, "y": 2 },
|
||||
{ "label": "<", "x": 8.75, "y": 2 },
|
||||
{ "label": "Shift", "x": 9.75, "y": 2, "w": 1.25 },
|
||||
{ "label": ">", "x": 11, "y": 2 },
|
||||
{ "label": "Ctrl", "x": 0, "y": 3 },
|
||||
{ "label": "Fn", "x": 1, "y": 3 },
|
||||
{ "label": "Alt", "x": 2, "y": 3 },
|
||||
{ "label": "Super", "x": 3, "y": 3, "w": 1.25 },
|
||||
{ "x": 4.25, "y": 3, "w": 1.75 },
|
||||
{ "x": 6, "y": 3, "w": 1.75 },
|
||||
{ "label": "Menu", "x": 7.75, "y": 3, "w": 1.25 },
|
||||
{ "label": "Alt", "x": 9, "y": 3 },
|
||||
{ "label": "Fn2", "x": 10, "y": 3 },
|
||||
{ "label": "Ctrl", "x": 11, "y": 3 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,7 @@ inline void gh60_wasd_leds_off(void) { DDRF &= ~(1<<7); PORTF &= ~(1<<7); }
|
||||
|
||||
/* JD40 MKII keymap definition macro
|
||||
*/
|
||||
#define KEYMAP( \
|
||||
#define LAYOUT( \
|
||||
K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, \
|
||||
K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \
|
||||
K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "jd40.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
|
||||
#define _BL 0
|
||||
@@ -7,32 +7,33 @@
|
||||
#define _UL 3
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BL] = KEYMAP(
|
||||
F12, Q, W, E, R, T, Y, U, I, O, P, BSPC,
|
||||
TAB, A, S, D, F, G, H, J, K, L, ENT,
|
||||
LSFT, Z, X, C, V, B, N, M, COMM, UP, DOT,
|
||||
LCTL, LGUI, LALT, FN0, SPC, SPC, FN0, LEFT, DOWN, RIGHT ),
|
||||
|
||||
[_AL] = KEYMAP(
|
||||
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, DEL,
|
||||
CAPS, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, SCLN, PGUP, QUOT,
|
||||
TRNS, TRNS, TRNS, TRNS, FN3, FN3, TRNS, HOME, PGDN, END ),
|
||||
[_BL] = LAYOUT(
|
||||
F12, Q, W, E, R, T, Y, U, I, O, P, BSPC,
|
||||
TAB, A, S, D, F, G, H, J, K, L, ENT,
|
||||
LSFT, Z, X, C, V, B, N, M, COMM, UP, DOT,
|
||||
LCTL, LGUI, LALT, FN0, SPC, SPC, FN0, LEFT, DOWN, RIGHT),
|
||||
|
||||
[_FL] = KEYMAP(
|
||||
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, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS ),
|
||||
|
||||
[_UL] = KEYMAP(
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
|
||||
TRNS, FN4, FN5, FN11, FN10, 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 ),
|
||||
[_AL] = LAYOUT(
|
||||
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, DEL,
|
||||
CAPS, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, SCLN, PGUP, QUOT,
|
||||
TRNS, TRNS, TRNS, TRNS, FN3, FN3, TRNS, HOME, PGDN, END),
|
||||
|
||||
[_FL] = LAYOUT(
|
||||
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, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS),
|
||||
|
||||
[_UL] = LAYOUT(
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
|
||||
TRNS, FN4, FN5, FN11, FN10, 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),
|
||||
};
|
||||
|
||||
enum function_id {
|
||||
enum function_id
|
||||
{
|
||||
RGBLED_TOGGLE,
|
||||
RGBLED_STEP_MODE,
|
||||
RGBLED_INCREASE_HUE,
|
||||
@@ -41,20 +42,20 @@ enum function_id {
|
||||
RGBLED_DECREASE_SAT,
|
||||
RGBLED_INCREASE_VAL,
|
||||
RGBLED_DECREASE_VAL,
|
||||
SHIFT_ESC,
|
||||
SHIFT_ESC,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
[0] = ACTION_LAYER_MOMENTARY(1), // Momentary Fn overlay
|
||||
[1] = ACTION_LAYER_TOGGLE(2), // Toggle Arrow Layer overlay
|
||||
[2] = ACTION_LAYER_TAP_KEY(2, KC_CAPS), // Tap to toggle caps lock and hold to activate function layer
|
||||
[3] = ACTION_LAYER_TOGGLE(3), // Toggle Underglow Layer overlay
|
||||
[4] = ACTION_FUNCTION(RGBLED_TOGGLE), //Turn on/off underglow
|
||||
[5] = ACTION_FUNCTION(RGBLED_STEP_MODE), // Change underglow mode
|
||||
[6] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
|
||||
[7] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
|
||||
[8] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
|
||||
[9] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
|
||||
[0] = ACTION_LAYER_MOMENTARY(1), // Momentary Fn overlay
|
||||
[1] = ACTION_LAYER_TOGGLE(2), // Toggle Arrow Layer overlay
|
||||
[2] = ACTION_LAYER_TAP_KEY(2, KC_CAPS), // Tap to toggle caps lock and hold to activate function layer
|
||||
[3] = ACTION_LAYER_TOGGLE(3), // Toggle Underglow Layer overlay
|
||||
[4] = ACTION_FUNCTION(RGBLED_TOGGLE), //Turn on/off underglow
|
||||
[5] = ACTION_FUNCTION(RGBLED_STEP_MODE), // Change underglow mode
|
||||
[6] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
|
||||
[7] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
|
||||
[8] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
|
||||
[9] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
|
||||
[10] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
|
||||
[11] = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
|
||||
[12] = ACTION_FUNCTION(SHIFT_ESC),
|
||||
@@ -62,103 +63,133 @@ const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
// MACRODOWN only works in this function
|
||||
switch(id) {
|
||||
case 0:
|
||||
if (record->event.pressed) {
|
||||
// MACRODOWN only works in this function
|
||||
switch (id)
|
||||
{
|
||||
case 0:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
register_code(KC_RSFT);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
void matrix_scan_user(void)
|
||||
{
|
||||
|
||||
// Layer LED indicators
|
||||
// ESC led on when in function layer, WASD cluster leds enabled when on arrow cluster
|
||||
// Layer LED indicators
|
||||
// ESC led on when in function layer, WASD cluster leds enabled when on arrow cluster
|
||||
uint32_t layer = layer_state;
|
||||
if (layer & (1<<1)) {
|
||||
if (layer & (1 << 1))
|
||||
{
|
||||
//gh60_wasd_leds_on();
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
//gh60_wasd_leds_off();
|
||||
}
|
||||
|
||||
if (layer & (1<<2)) {
|
||||
if (layer & (1 << 2))
|
||||
{
|
||||
//gh60_esc_led_on();
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
//gh60_esc_led_off();
|
||||
}
|
||||
};
|
||||
|
||||
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
|
||||
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT))
|
||||
|
||||
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
switch (id) {
|
||||
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
switch (id)
|
||||
{
|
||||
case RGBLED_TOGGLE:
|
||||
//led operations
|
||||
if (record->event.pressed) {
|
||||
rgblight_toggle();
|
||||
//led operations
|
||||
if (record->event.pressed)
|
||||
{
|
||||
rgblight_toggle();
|
||||
}
|
||||
break;
|
||||
case RGBLED_INCREASE_HUE:
|
||||
if (record->event.pressed) {
|
||||
rgblight_increase_hue();
|
||||
if (record->event.pressed)
|
||||
{
|
||||
rgblight_increase_hue();
|
||||
}
|
||||
break;
|
||||
case RGBLED_DECREASE_HUE:
|
||||
if (record->event.pressed) {
|
||||
rgblight_decrease_hue();
|
||||
if (record->event.pressed)
|
||||
{
|
||||
rgblight_decrease_hue();
|
||||
}
|
||||
break;
|
||||
case RGBLED_INCREASE_SAT:
|
||||
if (record->event.pressed) {
|
||||
rgblight_increase_sat();
|
||||
if (record->event.pressed)
|
||||
{
|
||||
rgblight_increase_sat();
|
||||
}
|
||||
break;
|
||||
case RGBLED_DECREASE_SAT:
|
||||
if (record->event.pressed) {
|
||||
rgblight_decrease_sat();
|
||||
if (record->event.pressed)
|
||||
{
|
||||
rgblight_decrease_sat();
|
||||
}
|
||||
break;
|
||||
case RGBLED_INCREASE_VAL:
|
||||
if (record->event.pressed) {
|
||||
rgblight_increase_val();
|
||||
if (record->event.pressed)
|
||||
{
|
||||
rgblight_increase_val();
|
||||
}
|
||||
break;
|
||||
case RGBLED_DECREASE_VAL:
|
||||
if (record->event.pressed) {
|
||||
rgblight_decrease_val();
|
||||
if (record->event.pressed)
|
||||
{
|
||||
rgblight_decrease_val();
|
||||
}
|
||||
break;
|
||||
case RGBLED_STEP_MODE:
|
||||
if (record->event.pressed) {
|
||||
rgblight_step();
|
||||
if (record->event.pressed)
|
||||
{
|
||||
rgblight_step();
|
||||
}
|
||||
break;
|
||||
static uint8_t shift_esc_shift_mask;
|
||||
static uint8_t shift_esc_shift_mask;
|
||||
// Shift + ESC = ~
|
||||
case SHIFT_ESC:
|
||||
shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
|
||||
if (record->event.pressed) {
|
||||
if (shift_esc_shift_mask) {
|
||||
add_key(KC_GRV);
|
||||
send_keyboard_report();
|
||||
} else {
|
||||
add_key(KC_ESC);
|
||||
send_keyboard_report();
|
||||
shift_esc_shift_mask = get_mods() & MODS_CTRL_MASK;
|
||||
if (record->event.pressed)
|
||||
{
|
||||
if (shift_esc_shift_mask)
|
||||
{
|
||||
add_key(KC_GRV);
|
||||
send_keyboard_report();
|
||||
}
|
||||
else
|
||||
{
|
||||
add_key(KC_ESC);
|
||||
send_keyboard_report();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (shift_esc_shift_mask) {
|
||||
del_key(KC_GRV);
|
||||
send_keyboard_report();
|
||||
} else {
|
||||
del_key(KC_ESC);
|
||||
send_keyboard_report();
|
||||
else
|
||||
{
|
||||
if (shift_esc_shift_mask)
|
||||
{
|
||||
del_key(KC_GRV);
|
||||
send_keyboard_report();
|
||||
}
|
||||
else
|
||||
{
|
||||
del_key(KC_ESC);
|
||||
send_keyboard_report();
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "../../config.h"
|
||||
|
||||
#define KEYMAP_VANAGON(\
|
||||
#define LAYOUT_VANAGON(\
|
||||
K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, \
|
||||
K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, \
|
||||
K24, K25, K26, K27, K28, K29, K30, K31, K32, K33, K34, \
|
||||
|
||||
@@ -1,29 +1,26 @@
|
||||
#include "jd40.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
|
||||
enum {
|
||||
_BL = 0,
|
||||
_AL1,
|
||||
_AL2,
|
||||
enum
|
||||
{
|
||||
_BL = 0,
|
||||
_AL1,
|
||||
_AL2,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BL] = KEYMAP_VANAGON(
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
MO(_AL1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MO(_AL1),
|
||||
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
MO(_AL2), KC_LCTL, KC_LALT, KC_LGUI, KC_ENT, KC_SPC, KC_RGUI, KC_RALT, KC_RSPC, MO(_AL2)
|
||||
),
|
||||
[_AL1] = KEYMAP_VANAGON(
|
||||
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LBRC, KC_RBRC, KC_TRNS,
|
||||
KC_TRNS, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_COLN, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_TRNS,
|
||||
KC_TRNS, KC_ESC, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[_AL2] = KEYMAP_VANAGON(
|
||||
KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
|
||||
KC_TRNS, KC_PIPE, KC_DQT, KC_UNDS, KC_PLUS, KC_SCLN, KC_TRNS, KC_4, KC_5, KC_6, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_1, KC_2, KC_3, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
[_BL] = LAYOUT_VANAGON(
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
MO(_AL1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MO(_AL1),
|
||||
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
MO(_AL2), KC_LCTL, KC_LALT, KC_LGUI, KC_ENT, KC_SPC, KC_RGUI, KC_RALT, KC_RSPC, MO(_AL2)),
|
||||
[_AL1] = LAYOUT_VANAGON(
|
||||
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LBRC, KC_RBRC, KC_TRNS,
|
||||
KC_TRNS, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_COLN, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_TRNS,
|
||||
KC_TRNS, KC_ESC, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
[_AL2] = LAYOUT_VANAGON(
|
||||
KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
|
||||
KC_TRNS, KC_PIPE, KC_DQT, KC_UNDS, KC_PLUS, KC_SCLN, KC_TRNS, KC_4, KC_5, KC_6, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_1, KC_2, KC_3, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)};
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"keyboard_name": "jd45",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 13,
|
||||
"height": 4,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "label": "Tab", "x": 0, "y": 0 },
|
||||
{ "label": "Q", "x": 1, "y": 0 },
|
||||
{ "label": "W", "x": 2, "y": 0 },
|
||||
{ "label": "E", "x": 3, "y": 0 },
|
||||
{ "label": "R", "x": 4, "y": 0 },
|
||||
{ "label": "T", "x": 5, "y": 0 },
|
||||
{ "label": "Y", "x": 6, "y": 0 },
|
||||
{ "label": "U", "x": 7, "y": 0 },
|
||||
{ "label": "I", "x": 8, "y": 0 },
|
||||
{ "label": "O", "x": 9, "y": 0 },
|
||||
{ "label": "P", "x": 10, "y": 0 },
|
||||
{ "label": "Back<br>Space", "x": 11, "y": 0 },
|
||||
{ "x": 12, "y": 0 },
|
||||
{ "label": "Caps", "x": 0, "y": 1, "w": 1.25 },
|
||||
{ "label": "A", "x": 1.25, "y": 1 },
|
||||
{ "label": "S", "x": 2.25, "y": 1 },
|
||||
{ "label": "D", "x": 3.25, "y": 1 },
|
||||
{ "label": "F", "x": 4.25, "y": 1 },
|
||||
{ "label": "G", "x": 5.25, "y": 1 },
|
||||
{ "label": "H", "x": 6.25, "y": 1 },
|
||||
{ "label": "J", "x": 7.25, "y": 1 },
|
||||
{ "label": "K", "x": 8.25, "y": 1 },
|
||||
{ "label": "L", "x": 9.25, "y": 1 },
|
||||
{ "label": ":", "x": 10.25, "y": 1 },
|
||||
{ "label": "Enter", "x": 11.25, "y": 1, "w": 1.75 },
|
||||
{ "label": "Shift", "x": 0, "y": 2, "w": 1.75 },
|
||||
{ "label": "Z", "x": 1.75, "y": 2 },
|
||||
{ "label": "X", "x": 2.75, "y": 2 },
|
||||
{ "label": "C", "x": 3.75, "y": 2 },
|
||||
{ "label": "V", "x": 4.75, "y": 2 },
|
||||
{ "label": "B", "x": 5.75, "y": 2 },
|
||||
{ "label": "N", "x": 6.75, "y": 2 },
|
||||
{ "label": "M", "x": 7.75, "y": 2 },
|
||||
{ "label": "<", "x": 8.75, "y": 2 },
|
||||
{ "label": ">", "x": 9.75, "y": 2 },
|
||||
{ "label": "?", "x": 10.75, "y": 2 },
|
||||
{ "label": "Shift", "x": 11.75, "y": 2, "w": 1.25 },
|
||||
{ "label": "Hyper", "x": 0, "y": 3, "w": 1.25 },
|
||||
{ "label": "Super", "x": 1.25, "y": 3 },
|
||||
{ "label": "Meta", "x": 2.25, "y": 3, "w": 1.25 },
|
||||
{ "label": "Alt", "x": 3.5, "y": 3, "w": 1.25 },
|
||||
{ "x": 4.75, "y": 3, "w": 1.75 },
|
||||
{ "x": 6.5, "y": 3, "w": 1.75 },
|
||||
{ "label": "Meta", "x": 8.25, "y": 3, "w": 1.25 },
|
||||
{ "label": "Super", "x": 9.5, "y": 3, "w": 1.25 },
|
||||
{ "label": "Fn2", "x": 10.75, "y": 3 },
|
||||
{ "label": "Ctrl", "x": 11.75, "y": 3, "w": 1.25 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
/* JD45 keymap definition macro
|
||||
*/
|
||||
#define KEYMAP( \
|
||||
#define LAYOUT( \
|
||||
K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, \
|
||||
K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, \
|
||||
K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, \
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
*JD45 keymap definition macro
|
||||
*/
|
||||
#define KEYMAP_JD45( \
|
||||
#define LAYOUT_JD45( \
|
||||
K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, \
|
||||
K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, \
|
||||
K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "jd45.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
@@ -19,28 +19,30 @@ extern keymap_config_t keymap_config;
|
||||
// TODO: (bdietz) - make a symbol layer for greek symbols
|
||||
|
||||
// Keycodes
|
||||
enum planck_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
LOWER,
|
||||
RAISE,
|
||||
enum planck_keycodes
|
||||
{
|
||||
QWERTY = SAFE_RANGE,
|
||||
LOWER,
|
||||
RAISE,
|
||||
};
|
||||
|
||||
enum macro_keycodes {
|
||||
KC_ALT_TAB,
|
||||
KC_CMD_TAB,
|
||||
KC_CTL_TAB,
|
||||
KC_CMD_SLSH,
|
||||
KC_AG_FIND,
|
||||
KC_AG_AGAIN,
|
||||
KC_AG_UNDO,
|
||||
KC_AG_CUT,
|
||||
KC_AG_COPY,
|
||||
KC_AG_PASTE,
|
||||
KC_AG_DESK_L,
|
||||
KC_AG_DESK_R,
|
||||
KC_AG_TAB_C,
|
||||
KC_AG_TAB_N,
|
||||
KC_AG_TAB_R,
|
||||
enum macro_keycodes
|
||||
{
|
||||
KC_ALT_TAB,
|
||||
KC_CMD_TAB,
|
||||
KC_CTL_TAB,
|
||||
KC_CMD_SLSH,
|
||||
KC_AG_FIND,
|
||||
KC_AG_AGAIN,
|
||||
KC_AG_UNDO,
|
||||
KC_AG_CUT,
|
||||
KC_AG_COPY,
|
||||
KC_AG_PASTE,
|
||||
KC_AG_DESK_L,
|
||||
KC_AG_DESK_R,
|
||||
KC_AG_TAB_C,
|
||||
KC_AG_TAB_N,
|
||||
KC_AG_TAB_R,
|
||||
};
|
||||
|
||||
// Fillers to make layering more clear
|
||||
@@ -55,36 +57,36 @@ enum macro_keycodes {
|
||||
* - will fire z if tapped
|
||||
* - will fire cmd/super/win if held
|
||||
*/
|
||||
#define ALT_DOT ALT_T(KC_DOT)
|
||||
#define ALT_X ALT_T(KC_X)
|
||||
#define CTL_SLSH CTL_T(KC_SLSH)
|
||||
#define CTL_Z CTL_T(KC_Z)
|
||||
#define GUI_C GUI_T(KC_C)
|
||||
#define GUI_COMM GUI_T(KC_COMM)
|
||||
#define HPR_ESC ALL_T(KC_ESC)
|
||||
#define HPR_QUO ALL_T(KC_QUOT)
|
||||
#define ALT_DOT ALT_T(KC_DOT)
|
||||
#define ALT_X ALT_T(KC_X)
|
||||
#define CTL_SLSH CTL_T(KC_SLSH)
|
||||
#define CTL_Z CTL_T(KC_Z)
|
||||
#define GUI_C GUI_T(KC_C)
|
||||
#define GUI_COMM GUI_T(KC_COMM)
|
||||
#define HPR_ESC ALL_T(KC_ESC)
|
||||
#define HPR_QUO ALL_T(KC_QUOT)
|
||||
|
||||
// Toggle to VIM when left space button is held, emit space keycode when left space is tapped
|
||||
#define TGL_VIM LT(_VIM, KC_SPC)
|
||||
#define TGL_VIM LT(_VIM, KC_SPC)
|
||||
// Toggle to the mouse layer when the right space button is held and emit enter when right space is tapped
|
||||
#define TGL_MOUSE LT(_MOUSECURSOR, KC_ENT)
|
||||
#define TGL_MOUSE LT(_MOUSECURSOR, KC_ENT)
|
||||
|
||||
// TODO: (bdietz) - need to audit these keycodes to see what sort of cool things the default layout was doing.
|
||||
#define ALT_TAB M(KC_ALT_TAB) // Macro for Alt-Tab
|
||||
#define CMD_TAB M(KC_CMD_TAB) // Macro for Cmd-Tab
|
||||
#define CTL_TAB M(KC_CTL_TAB) // Macro for Ctl-Tab
|
||||
#define CMD_SLSH M(KC_CMD_SLSH) // Macro for Cmd-Slash (personal shortcut to toggle iTerm2 visibility)
|
||||
#define AG_FIND M(KC_AG_FIND) // Macros for Cmd-[x] vs Ctrl-[x] based on current AG_NORM or AG_SWAP settings
|
||||
#define AG_AGAIN M(KC_AG_AGAIN)
|
||||
#define AG_UNDO M(KC_AG_UNDO)
|
||||
#define AG_CUT M(KC_AG_CUT)
|
||||
#define AG_COPY M(KC_AG_COPY)
|
||||
#define AG_PASTE M(KC_AG_PASTE)
|
||||
#define AG_D_L M(KC_AG_DESK_L) // For Virtual Desktop Switching: Left, and
|
||||
#define AG_D_R M(KC_AG_DESK_R) // Right
|
||||
#define AG_T_C M(KC_AG_TAB_C) // For Chrome, etc. Tab Close,
|
||||
#define AG_T_N M(KC_AG_TAB_N) // Tab New, and
|
||||
#define AG_T_R M(KC_AG_TAB_R) // Tab Reopen Closed
|
||||
#define ALT_TAB M(KC_ALT_TAB) // Macro for Alt-Tab
|
||||
#define CMD_TAB M(KC_CMD_TAB) // Macro for Cmd-Tab
|
||||
#define CTL_TAB M(KC_CTL_TAB) // Macro for Ctl-Tab
|
||||
#define CMD_SLSH M(KC_CMD_SLSH) // Macro for Cmd-Slash (personal shortcut to toggle iTerm2 visibility)
|
||||
#define AG_FIND M(KC_AG_FIND) // Macros for Cmd-[x] vs Ctrl-[x] based on current AG_NORM or AG_SWAP settings
|
||||
#define AG_AGAIN M(KC_AG_AGAIN)
|
||||
#define AG_UNDO M(KC_AG_UNDO)
|
||||
#define AG_CUT M(KC_AG_CUT)
|
||||
#define AG_COPY M(KC_AG_COPY)
|
||||
#define AG_PASTE M(KC_AG_PASTE)
|
||||
#define AG_D_L M(KC_AG_DESK_L) // For Virtual Desktop Switching: Left, and
|
||||
#define AG_D_R M(KC_AG_DESK_R) // Right
|
||||
#define AG_T_C M(KC_AG_TAB_C) // For Chrome, etc. Tab Close,
|
||||
#define AG_T_N M(KC_AG_TAB_N) // Tab New, and
|
||||
#define AG_T_R M(KC_AG_TAB_R) // Tab Reopen Closed
|
||||
|
||||
/* Qwerty
|
||||
*
|
||||
@@ -99,19 +101,19 @@ enum macro_keycodes {
|
||||
* `-------+-------+-------+-------+---^^^----+---^^^----+---------+--------+--------+----------'
|
||||
*/
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = KEYMAP_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, ALL_T(KC_NO),
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
HPR_ESC , KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(_MEDIA, KC_SCLN), HPR_QUO,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
KC_LSFT, CTL_Z, ALT_X, GUI_C, KC_V, KC_B, KC_N, KC_M,GUI_COMM, ALT_DOT, CTL_SLSH, KC_RSFT ,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______ , _______ , _______ , LOWER , TGL_VIM , TGL_MOUSE , RAISE , _______ , _______ , _______),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
[_QWERTY] = LAYOUT_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, ALL_T(KC_NO),
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
HPR_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(_MEDIA, KC_SCLN), HPR_QUO,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
KC_LSFT, CTL_Z, ALT_X, GUI_C, KC_V, KC_B, KC_N, KC_M, GUI_COMM, ALT_DOT, CTL_SLSH, KC_RSFT,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______, _______, _______, LOWER, TGL_VIM, TGL_MOUSE, RAISE, _______, _______, _______),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
|
||||
// TODO: (bdietz) - update the keymap documentation to include the modifier keys on the third row
|
||||
/* Lower
|
||||
// TODO: (bdietz) - update the keymap documentation to include the modifier keys on the third row
|
||||
/* Lower
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------+------.
|
||||
* | ` | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | Bksp |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------`------|
|
||||
@@ -122,18 +124,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | | | Prev | Next | Mute |
|
||||
* `-------+-------+-------+-------+---^^^----+---^^^----+---------+--------+--------+----------'
|
||||
*/
|
||||
[_LOWER] = KEYMAP_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
KC_GRV,KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_BSPC,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
KC_LBRC , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE ,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
KC_RBRC , CTL_T(KC_F7), ALT_T(KC_F8),GUI_T(KC_F9), KC_F10, KC_F11, KC_F12, KC_MINS, GUI_T(KC_EQL) , ALT_T(KC_LBRC), CTL_T(KC_RBRC), KC_BSLS ,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______ , _______, _______, _______, _______ , _______ , _______, KC_MPRV, KC_MNXT, KC_MUTE),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
[_LOWER] = LAYOUT_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_BSPC,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
KC_LBRC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
KC_RBRC, CTL_T(KC_F7), ALT_T(KC_F8), GUI_T(KC_F9), KC_F10, KC_F11, KC_F12, KC_MINS, GUI_T(KC_EQL), ALT_T(KC_LBRC), CTL_T(KC_RBRC), KC_BSLS,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MUTE),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
|
||||
/* Raise
|
||||
/* Raise
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------+------.
|
||||
* | ~ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | Bksp |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------`------|
|
||||
@@ -144,18 +146,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | | | Prev | Next | Mute |
|
||||
* `-------+-------+-------+-------+---^^^----+---^^^----+---------+--------+--------+----------'
|
||||
*/
|
||||
[_RAISE] = KEYMAP_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_BSPC,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
KC_DLR , KC_4, KC_5, KC_6, KC_DOT, KC_PLUS, KC_DOT, KC_4, KC_5, KC_6, KC_ASTR, KC_PIPE ,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
KC_EQL , CTL_T(KC_7), ALT_T(KC_8), GUI_T(KC_9), KC_0, KC_MINS, KC_DOT, KC_1 ,GUI_T(KC_2), ALT_T(KC_3), CTL_T(KC_SLSH), KC_BSLS ,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______ , _______, _______, _______, _______ , _______ , _______, KC_MPRV, KC_MNXT, KC_MUTE),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
[_RAISE] = LAYOUT_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_BSPC,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
KC_DLR, KC_4, KC_5, KC_6, KC_DOT, KC_PLUS, KC_DOT, KC_4, KC_5, KC_6, KC_ASTR, KC_PIPE,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
KC_EQL, CTL_T(KC_7), ALT_T(KC_8), GUI_T(KC_9), KC_0, KC_MINS, KC_DOT, KC_1, GUI_T(KC_2), ALT_T(KC_3), CTL_T(KC_SLSH), KC_BSLS,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MUTE),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
|
||||
/* Mouse Layer
|
||||
/* Mouse Layer
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------+------.
|
||||
* | | |ACCL0 | | | | |WHL_L | Up |WHL_R | BTN2 | | |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------`------|
|
||||
@@ -167,18 +169,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* `-------+-------+-------+-------+---^^^----+---^^^----+---------+--------+--------+----------'
|
||||
*/
|
||||
|
||||
[_MOUSECURSOR] = KEYMAP_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
_______,_______, _______, KC_MS_U, _______, _______, _______, KC_ACL2, KC_ACL1, KC_ACL0, _______, _______, _______,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
_______ ,_______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______ ,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
_______ ,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______ , _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
[_MOUSECURSOR] = LAYOUT_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
_______, _______, _______, KC_MS_U, _______, _______, _______, KC_ACL2, KC_ACL1, KC_ACL0, _______, _______, _______,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
_______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------+------.
|
||||
* | | | | | | | | | | | | | Del |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------`------|
|
||||
@@ -189,19 +191,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | | | | | Reset |
|
||||
* `-------+-------+-------+-------+---^^^----+---^^^----+---------+--------+--------+----------'
|
||||
*/
|
||||
[_ADJUST] = KEYMAP_JD45(
|
||||
[_ADJUST] = LAYOUT_JD45(
|
||||
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
_______ ,_______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______ ,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
_______ ,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______ , _______, _______, _______, _______ , _______ , _______, _______, _______, RESET),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
_______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, RESET),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
|
||||
/* VIM
|
||||
/* VIM
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------+------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------`------|
|
||||
@@ -212,18 +214,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | | | | | |
|
||||
* `-------+-------+-------+-------+---^^^----+---^^^----+---------+--------+--------+----------'
|
||||
*/
|
||||
[_VIM] = KEYMAP_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
_______ ,_______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______ ,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
_______ ,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______ , _______, _______, _______, _______ , _______ , _______, _______, _______,_______),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
[_VIM] = LAYOUT_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
|
||||
/* Media
|
||||
/* Media
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------+------.
|
||||
* | | | | | | | | | | | | | |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------`------|
|
||||
@@ -234,53 +236,63 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | | | | | |
|
||||
* `-------+-------+-------+-------+---^^^----+---^^^----+---------+--------+--------+----------'
|
||||
*/
|
||||
[_MEDIA] = KEYMAP_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
_______ ,_______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MUTE, _______, KC_MPLY ,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
_______ ,_______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______ ,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______ , _______, _______, _______, _______ , _______ , _______, _______, _______, _______)
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
[_MEDIA] = LAYOUT_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MUTE, _______, KC_MPLY,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
};
|
||||
|
||||
void persistant_default_layer_set(uint16_t default_layer) {
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
void persistant_default_layer_set(uint16_t default_layer)
|
||||
{
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
switch (keycode)
|
||||
{
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
default_layer_set(1UL<<_QWERTY);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
if (record->event.pressed)
|
||||
{
|
||||
default_layer_set(1UL << _QWERTY);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
if (record->event.pressed)
|
||||
{
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
else
|
||||
{
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
if (record->event.pressed)
|
||||
{
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
else
|
||||
{
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -288,54 +300,69 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
*/
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
if (!eeconfig_is_enabled()) {
|
||||
eeconfig_init();
|
||||
if (!eeconfig_is_enabled())
|
||||
{
|
||||
eeconfig_init();
|
||||
}
|
||||
|
||||
bool use_cmd = true; // Use, for example, Cmd-Tab, Cmd-C, Cmd-V, etc.
|
||||
bool use_cmd = true; // Use, for example, Cmd-Tab, Cmd-C, Cmd-V, etc.
|
||||
// Compare to MAGIC_SWAP_ALT_GUI and MAGIC_UNSWAP_ALT_GUI configs, set in:
|
||||
// quantum/quantum.c
|
||||
if(keymap_config.swap_lalt_lgui == 1 && keymap_config.swap_ralt_rgui == 1) {
|
||||
use_cmd = false; // ... or, Alt-Tab, Ctrl-C, Ctrl-V, etc.
|
||||
if (keymap_config.swap_lalt_lgui == 1 && keymap_config.swap_ralt_rgui == 1)
|
||||
{
|
||||
use_cmd = false; // ... or, Alt-Tab, Ctrl-C, Ctrl-V, etc.
|
||||
}
|
||||
|
||||
switch (id) {
|
||||
case KC_ALT_TAB:
|
||||
if(use_cmd) { return (record->event.pressed ? MACRO( D(LALT), D(TAB), END ) : MACRO( U(TAB), END )); }
|
||||
else { return (record->event.pressed ? MACRO( D(LGUI), D(TAB), END ) : MACRO( U(TAB), END )); }
|
||||
case KC_CMD_TAB:
|
||||
if(use_cmd) { return (record->event.pressed ? MACRO( D(LGUI), D(TAB), END ) : MACRO( U(TAB), END )); }
|
||||
else { return (record->event.pressed ? MACRO( D(LALT), D(TAB), END ) : MACRO( U(TAB), END )); }
|
||||
switch (id)
|
||||
{
|
||||
case KC_ALT_TAB:
|
||||
if (use_cmd)
|
||||
{
|
||||
return (record->event.pressed ? MACRO(D(LALT), D(TAB), END) : MACRO(U(TAB), END));
|
||||
}
|
||||
else
|
||||
{
|
||||
return (record->event.pressed ? MACRO(D(LGUI), D(TAB), END) : MACRO(U(TAB), END));
|
||||
}
|
||||
case KC_CMD_TAB:
|
||||
if (use_cmd)
|
||||
{
|
||||
return (record->event.pressed ? MACRO(D(LGUI), D(TAB), END) : MACRO(U(TAB), END));
|
||||
}
|
||||
else
|
||||
{
|
||||
return (record->event.pressed ? MACRO(D(LALT), D(TAB), END) : MACRO(U(TAB), END));
|
||||
}
|
||||
|
||||
case KC_CTL_TAB:
|
||||
return (record->event.pressed ? MACRO( D(LCTRL), D(TAB), END ) : MACRO( U(TAB), END ));
|
||||
case KC_CMD_SLSH:
|
||||
return (record->event.pressed ? MACRO( D(LGUI), D(SLSH),END ) : MACRO( U(SLSH),END ));
|
||||
case KC_CTL_TAB:
|
||||
return (record->event.pressed ? MACRO(D(LCTRL), D(TAB), END) : MACRO(U(TAB), END));
|
||||
case KC_CMD_SLSH:
|
||||
return (record->event.pressed ? MACRO(D(LGUI), D(SLSH), END) : MACRO(U(SLSH), END));
|
||||
|
||||
case KC_AG_FIND:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), T(F), END ) : MACRODOWN( D(LCTRL), T(F), END );
|
||||
case KC_AG_AGAIN:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), T(G), END ) : MACRODOWN( D(LCTRL), T(G), END );
|
||||
case KC_AG_UNDO:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), T(Z), END ) : MACRODOWN( D(LCTRL), T(Z), END );
|
||||
case KC_AG_CUT:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), T(X), END ) : MACRODOWN( D(LCTRL), T(X), END );
|
||||
case KC_AG_COPY:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), T(C), END ) : MACRODOWN( D(LCTRL), T(C), END );
|
||||
case KC_AG_PASTE:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), T(V), END ) : MACRODOWN( D(LCTRL), T(V), END );
|
||||
case KC_AG_FIND:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), T(F), END) : MACRODOWN(D(LCTRL), T(F), END);
|
||||
case KC_AG_AGAIN:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), T(G), END) : MACRODOWN(D(LCTRL), T(G), END);
|
||||
case KC_AG_UNDO:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), T(Z), END) : MACRODOWN(D(LCTRL), T(Z), END);
|
||||
case KC_AG_CUT:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), T(X), END) : MACRODOWN(D(LCTRL), T(X), END);
|
||||
case KC_AG_COPY:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), T(C), END) : MACRODOWN(D(LCTRL), T(C), END);
|
||||
case KC_AG_PASTE:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), T(V), END) : MACRODOWN(D(LCTRL), T(V), END);
|
||||
|
||||
case KC_AG_DESK_L:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), D(LCTRL), T(SCLN), END ) : MACRODOWN( D(LALT), D(LCTRL), T(SCLN), END );
|
||||
case KC_AG_DESK_R:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), D(LCTRL), T(QUOT), END ) : MACRODOWN( D(LALT), D(LCTRL), T(QUOT), END );
|
||||
case KC_AG_DESK_L:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), D(LCTRL), T(SCLN), END) : MACRODOWN(D(LALT), D(LCTRL), T(SCLN), END);
|
||||
case KC_AG_DESK_R:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), D(LCTRL), T(QUOT), END) : MACRODOWN(D(LALT), D(LCTRL), T(QUOT), END);
|
||||
|
||||
case KC_AG_TAB_C:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), T(W), END ) : MACRODOWN( D(LCTRL), T(W), END );
|
||||
case KC_AG_TAB_N:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), T(T), END ) : MACRODOWN( D(LCTRL), T(T), END );
|
||||
case KC_AG_TAB_R:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), D(LSHIFT), T(T), END ) : MACRODOWN( D(LCTRL), D(LSHIFT), T(T), END );
|
||||
case KC_AG_TAB_C:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), T(W), END) : MACRODOWN(D(LCTRL), T(W), END);
|
||||
case KC_AG_TAB_N:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), T(T), END) : MACRODOWN(D(LCTRL), T(T), END);
|
||||
case KC_AG_TAB_R:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), D(LSHIFT), T(T), END) : MACRODOWN(D(LCTRL), D(LSHIFT), T(T), END);
|
||||
}
|
||||
|
||||
return MACRO_NONE;
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
#include "jd45.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
/* this keymap is to provide a basic keyboard layout for testing the matrix
|
||||
* for more practical and complicated keymap refer to other keymaps in the same folder
|
||||
*/
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = KEYMAP(
|
||||
ESC, Q, W, E, R, T, Y, U, I, O, P, QUOT, BSPC,
|
||||
TAB, A, S, D, F, G, H, J, K, L, SCLN, ENT,
|
||||
LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT,
|
||||
PAUSE, LCTL, LALT, DEL, SPC, DEL, LEFT, UP, DOWN, RIGHT ),
|
||||
[0] = LAYOUT(
|
||||
ESC, Q, W, E, R, T, Y, U, I, O, P, QUOT, BSPC,
|
||||
TAB, A, S, D, F, G, H, J, K, L, SCLN, ENT,
|
||||
LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT,
|
||||
PAUSE, LCTL, LALT, DEL, SPC, DEL, LEFT, UP, DOWN, RIGHT),
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/**
|
||||
*JD45 keymap definition macro
|
||||
*/
|
||||
#define KEYMAP_JD45( \
|
||||
#define LAYOUT_JD45( \
|
||||
K01, K02, K03, K04, K05, K06, K07, K08, K09, K10, K11, K12, K13, \
|
||||
K14, K15, K16, K17, K18, K19, K20, K21, K22, K23, K24, K25, \
|
||||
K26, K27, K28, K29, K30, K31, K32, K33, K34, K35, K36, K37, \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "jd45.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
@@ -17,33 +17,35 @@ extern keymap_config_t keymap_config;
|
||||
#define _ADJUST 16
|
||||
|
||||
// Keycodes
|
||||
enum planck_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
COLEMAK,
|
||||
DVORAK,
|
||||
PLOVER,
|
||||
LOWER,
|
||||
RAISE,
|
||||
BACKLIT,
|
||||
EXT_PLV
|
||||
enum planck_keycodes
|
||||
{
|
||||
QWERTY = SAFE_RANGE,
|
||||
COLEMAK,
|
||||
DVORAK,
|
||||
PLOVER,
|
||||
LOWER,
|
||||
RAISE,
|
||||
BACKLIT,
|
||||
EXT_PLV
|
||||
};
|
||||
|
||||
enum macro_keycodes {
|
||||
KC_ALT_TAB,
|
||||
KC_CMD_TAB,
|
||||
KC_CTL_TAB,
|
||||
KC_CMD_SLSH,
|
||||
KC_AG_FIND,
|
||||
KC_AG_AGAIN,
|
||||
KC_AG_UNDO,
|
||||
KC_AG_CUT,
|
||||
KC_AG_COPY,
|
||||
KC_AG_PASTE,
|
||||
KC_AG_DESK_L,
|
||||
KC_AG_DESK_R,
|
||||
KC_AG_TAB_C,
|
||||
KC_AG_TAB_N,
|
||||
KC_AG_TAB_R,
|
||||
enum macro_keycodes
|
||||
{
|
||||
KC_ALT_TAB,
|
||||
KC_CMD_TAB,
|
||||
KC_CTL_TAB,
|
||||
KC_CMD_SLSH,
|
||||
KC_AG_FIND,
|
||||
KC_AG_AGAIN,
|
||||
KC_AG_UNDO,
|
||||
KC_AG_CUT,
|
||||
KC_AG_COPY,
|
||||
KC_AG_PASTE,
|
||||
KC_AG_DESK_L,
|
||||
KC_AG_DESK_R,
|
||||
KC_AG_TAB_C,
|
||||
KC_AG_TAB_N,
|
||||
KC_AG_TAB_R,
|
||||
};
|
||||
|
||||
// Fillers to make layering more clear
|
||||
@@ -51,29 +53,29 @@ enum macro_keycodes {
|
||||
#define XXXXXXX KC_NO
|
||||
|
||||
// Custom macros
|
||||
#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl
|
||||
#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift
|
||||
#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper
|
||||
#define GUI_SEM GUI_T(KC_SCLN) // Tap for Semicolon, hold for GUI
|
||||
#define ALT_QUO ALT_T(KC_QUOT) // Tap for Quote, hold for Alt
|
||||
#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl
|
||||
#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift
|
||||
#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper
|
||||
#define GUI_SEM GUI_T(KC_SCLN) // Tap for Semicolon, hold for GUI
|
||||
#define ALT_QUO ALT_T(KC_QUOT) // Tap for Quote, hold for Alt
|
||||
// Requires KC_TRNS/_______ for the trigger key in the destination layer
|
||||
#define LT_TC LT(_TOUCHCURSOR, KC_SPC) // L-ayer T-ap T-ouch C-ursor
|
||||
#define LT_MC(kc) LT(_MOUSECURSOR, kc) // L-ayer T-ap M-ouse C-ursor
|
||||
#define ALT_TAB M(KC_ALT_TAB) // Macro for Alt-Tab
|
||||
#define CMD_TAB M(KC_CMD_TAB) // Macro for Cmd-Tab
|
||||
#define CTL_TAB M(KC_CTL_TAB) // Macro for Ctl-Tab
|
||||
#define CMD_SLSH M(KC_CMD_SLSH) // Macro for Cmd-Slash (personal shortcut to toggle iTerm2 visibility)
|
||||
#define AG_FIND M(KC_AG_FIND) // Macros for Cmd-[x] vs Ctrl-[x] based on current AG_NORM or AG_SWAP settings
|
||||
#define AG_AGAIN M(KC_AG_AGAIN)
|
||||
#define AG_UNDO M(KC_AG_UNDO)
|
||||
#define AG_CUT M(KC_AG_CUT)
|
||||
#define AG_COPY M(KC_AG_COPY)
|
||||
#define AG_PASTE M(KC_AG_PASTE)
|
||||
#define AG_D_L M(KC_AG_DESK_L) // For Virtual Desktop Switching: Left, and
|
||||
#define AG_D_R M(KC_AG_DESK_R) // Right
|
||||
#define AG_T_C M(KC_AG_TAB_C) // For Chrome, etc. Tab Close,
|
||||
#define AG_T_N M(KC_AG_TAB_N) // Tab New, and
|
||||
#define AG_T_R M(KC_AG_TAB_R) // Tab Reopen Closed
|
||||
#define LT_TC LT(_TOUCHCURSOR, KC_SPC) // L-ayer T-ap T-ouch C-ursor
|
||||
#define LT_MC(kc) LT(_MOUSECURSOR, kc) // L-ayer T-ap M-ouse C-ursor
|
||||
#define ALT_TAB M(KC_ALT_TAB) // Macro for Alt-Tab
|
||||
#define CMD_TAB M(KC_CMD_TAB) // Macro for Cmd-Tab
|
||||
#define CTL_TAB M(KC_CTL_TAB) // Macro for Ctl-Tab
|
||||
#define CMD_SLSH M(KC_CMD_SLSH) // Macro for Cmd-Slash (personal shortcut to toggle iTerm2 visibility)
|
||||
#define AG_FIND M(KC_AG_FIND) // Macros for Cmd-[x] vs Ctrl-[x] based on current AG_NORM or AG_SWAP settings
|
||||
#define AG_AGAIN M(KC_AG_AGAIN)
|
||||
#define AG_UNDO M(KC_AG_UNDO)
|
||||
#define AG_CUT M(KC_AG_CUT)
|
||||
#define AG_COPY M(KC_AG_COPY)
|
||||
#define AG_PASTE M(KC_AG_PASTE)
|
||||
#define AG_D_L M(KC_AG_DESK_L) // For Virtual Desktop Switching: Left, and
|
||||
#define AG_D_R M(KC_AG_DESK_R) // Right
|
||||
#define AG_T_C M(KC_AG_TAB_C) // For Chrome, etc. Tab Close,
|
||||
#define AG_T_N M(KC_AG_TAB_N) // Tab New, and
|
||||
#define AG_T_R M(KC_AG_TAB_R) // Tab Reopen Closed
|
||||
|
||||
/* Qwerty
|
||||
*
|
||||
@@ -89,18 +91,18 @@ enum macro_keycodes {
|
||||
*/
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = KEYMAP_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_BSPC,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
CTL_ESC , KC_A, KC_S,LT_MC(KC_D), KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, GUI_SEM, ALT_QUO ,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
KC_LSFT , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT ,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
KC_RGUI , KC_LALT , KC_LGUI , LOWER , LT_TC , LT_TC , RAISE , KC_VOLD , KC_VOLU , KC_MPLY),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
[_QWERTY] = LAYOUT_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_BSPC,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
CTL_ESC, KC_A, KC_S, LT_MC(KC_D), KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, GUI_SEM, ALT_QUO,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
KC_RGUI, KC_LALT, KC_LGUI, LOWER, LT_TC, LT_TC, RAISE, KC_VOLD, KC_VOLU, KC_MPLY),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
|
||||
/* Colemak
|
||||
/* Colemak
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------+------.
|
||||
* |Hyper/Tab| Q | W | F | P | G | J | L | U | Y | ; | Bksp | Bksp |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------`------|
|
||||
@@ -111,18 +113,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | RGUI | Alt | GUI | Lower | TC/Space | TC/Space | Raise | Vol- | Vol+ | Play |
|
||||
* `-------+-------+-------+-------+---^^^----+---^^^----+---------+--------+--------+----------'
|
||||
*/
|
||||
[_COLEMAK] = KEYMAP_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, KC_BSPC,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
CTL_ESC , KC_A, KC_R,LT_MC(KC_S), KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT ,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
KC_LSFT , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT ,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
KC_RGUI , KC_LALT , KC_LGUI , LOWER , LT_TC , LT_TC , RAISE , KC_VOLD , KC_VOLU , KC_MPLY),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
[_COLEMAK] = LAYOUT_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, KC_BSPC,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
CTL_ESC, KC_A, KC_R, LT_MC(KC_S), KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
KC_RGUI, KC_LALT, KC_LGUI, LOWER, LT_TC, LT_TC, RAISE, KC_VOLD, KC_VOLU, KC_MPLY),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
|
||||
/* Dvorak
|
||||
/* Dvorak
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------+------.
|
||||
* |Hyper/Tab| " | , | . | P | Y | F | G | C | R | L | Bksp | Bksp |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------`------|
|
||||
@@ -133,18 +135,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | RGUI | Alt | GUI | Lower | TC/Space | TC/Space | Raise | Vol- | Vol+ | Play |
|
||||
* `-------+-------+-------+-------+---^^^----+---^^^----+---------+--------+--------+----------'
|
||||
*/
|
||||
[_DVORAK] = KEYMAP_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
HPR_TAB,KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, KC_BSPC,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
CTL_ESC , KC_A, KC_O,LT_MC(KC_E), KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH ,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
KC_LSFT , KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT ,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
KC_RGUI , KC_LALT , KC_LGUI , LOWER , LT_TC , LT_TC , RAISE , KC_VOLD , KC_VOLU , KC_MPLY),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
[_DVORAK] = LAYOUT_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
HPR_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, KC_BSPC,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
CTL_ESC, KC_A, KC_O, LT_MC(KC_E), KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
KC_RGUI, KC_LALT, KC_LGUI, LOWER, LT_TC, LT_TC, RAISE, KC_VOLD, KC_VOLU, KC_MPLY),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
|
||||
/* Lower
|
||||
/* Lower
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------+------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | Bksp |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------`------|
|
||||
@@ -155,18 +157,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | Brite | | | | | | | Prev | Next | Mute |
|
||||
* `-------+-------+-------+-------+---^^^----+---^^^----+---------+--------+--------+----------'
|
||||
*/
|
||||
[_LOWER] = KEYMAP_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
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_BSPC,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
KC_LBRC , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE ,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
KC_RBRC , KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS ,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
BACKLIT , _______, _______, _______, _______ , _______ , _______, KC_MPRV, KC_MNXT, KC_MUTE),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
[_LOWER] = LAYOUT_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
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_BSPC,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
KC_LBRC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
KC_RBRC, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
BACKLIT, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MUTE),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
|
||||
/* Raise
|
||||
/* Raise
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------+------.
|
||||
* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | Bksp |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------`------|
|
||||
@@ -177,18 +179,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | Brite | | | | | | | Prev | Next | Mute |
|
||||
* `-------+-------+-------+-------+---^^^----+---^^^----+---------+--------+--------+----------'
|
||||
*/
|
||||
[_RAISE] = KEYMAP_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
KC_0 , KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_BSPC,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
KC_DLR , KC_4, KC_5, KC_6, KC_DOT, KC_PLUS, KC_DOT, KC_4, KC_5, KC_6, KC_ASTR, KC_PIPE ,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
KC_EQL , KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_DOT, KC_1, KC_2, KC_3, KC_SLSH, KC_BSLS ,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
BACKLIT , _______, _______, _______, _______ , _______ , _______, KC_MPRV, KC_MNXT, KC_MUTE),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
[_RAISE] = LAYOUT_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_BSPC,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
KC_DLR, KC_4, KC_5, KC_6, KC_DOT, KC_PLUS, KC_DOT, KC_4, KC_5, KC_6, KC_ASTR, KC_PIPE,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
KC_EQL, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_DOT, KC_1, KC_2, KC_3, KC_SLSH, KC_BSLS,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
BACKLIT, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_MUTE),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
|
||||
/* TouchCursor layer (http://martin-stone.github.io/touchcursor/) plus personal customizations
|
||||
/* TouchCursor layer (http://martin-stone.github.io/touchcursor/) plus personal customizations
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------+------.
|
||||
* | AltTab |CmdTab|CtlTab| GUI |Shift | ~ |Insert| Home | Up | End | Bksp | | |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------`------|
|
||||
@@ -203,18 +205,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* seem to work on Mac. Presumably they'll work under Windows.
|
||||
*/
|
||||
|
||||
[_TOUCHCURSOR] = KEYMAP_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
ALT_TAB,CMD_TAB, CTL_TAB, KC_LGUI, KC_LSFT, KC_TILD, KC_INS, KC_HOME, KC_UP, KC_END, KC_BSPC, _______, _______,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
_______ ,KC_LALT, KC_SPC, AG_T_C, AG_FIND,AG_AGAIN, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, AG_D_L, AG_D_R ,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
_______ ,AG_UNDO, AG_CUT, AG_COPY,AG_PASTE, KC_GRV, KC_PGDN, KC_DEL, AG_T_N, AG_T_R,CMD_SLSH, _______ ,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______ , _______, _______, _______, _______ , _______ , _______, _______, _______, _______),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
[_TOUCHCURSOR] = LAYOUT_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
ALT_TAB, CMD_TAB, CTL_TAB, KC_LGUI, KC_LSFT, KC_TILD, KC_INS, KC_HOME, KC_UP, KC_END, KC_BSPC, _______, _______,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
_______, KC_LALT, KC_SPC, AG_T_C, AG_FIND, AG_AGAIN, KC_PGUP, KC_LEFT, KC_DOWN, KC_RGHT, AG_D_L, AG_D_R,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
_______, AG_UNDO, AG_CUT, AG_COPY, AG_PASTE, KC_GRV, KC_PGDN, KC_DEL, AG_T_N, AG_T_R, CMD_SLSH, _______,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
|
||||
/* Mouse Layer
|
||||
/* Mouse Layer
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------+------.
|
||||
* | | |ACCL0 | | | | |WHL_L | Up |WHL_R | BTN2 | | |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------`------|
|
||||
@@ -226,18 +228,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* `-------+-------+-------+-------+---^^^----+---^^^----+---------+--------+--------+----------'
|
||||
*/
|
||||
|
||||
[_MOUSECURSOR] = KEYMAP_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
_______,_______, KC_ACL0, _______, _______, _______, _______, KC_WH_L, KC_MS_U, KC_WH_R, KC_BTN2, _______, _______,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
_______ ,KC_ACL2, KC_BTN2, _______, KC_BTN1, KC_ACL1, KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN4, KC_BTN5 ,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
_______ ,_______, _______, _______, KC_BTN3, _______, KC_WH_D, KC_BTN1, _______, _______, KC_BTN3, _______ ,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______ , _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
[_MOUSECURSOR] = LAYOUT_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
_______, _______, KC_ACL0, _______, _______, _______, _______, KC_WH_L, KC_MS_U, KC_WH_R, KC_BTN2, _______, _______,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
_______, KC_ACL2, KC_BTN2, _______, KC_BTN1, KC_ACL1, KC_WH_U, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN4, KC_BTN5,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
_______, _______, _______, _______, KC_BTN3, _______, KC_WH_D, KC_BTN1, _______, _______, KC_BTN3, _______,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
|
||||
/* Plover layer (http://opensteno.org)
|
||||
/* Plover layer (http://opensteno.org)
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------+------.
|
||||
* | # | # | # | # | # | # | # | # | # | # | # | # | # |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------`------|
|
||||
@@ -249,18 +251,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* `-------+-------+-------+-------+---^^^----+---^^^----+---------+--------+--------+----------'
|
||||
*/
|
||||
|
||||
[_PLOVER] = KEYMAP_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
KC_1 , KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 ,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
XXXXXXX , KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC ,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
XXXXXXX , KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT ,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
EXT_PLV , XXXXXXX, KC_C, KC_V, XXXXXXX , XXXXXXX , KC_N, KC_M, XXXXXXX, XXXXXXX),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
[_PLOVER] = LAYOUT_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
EXT_PLV, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX),
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------+------.
|
||||
* | | | | | | | | | | | | | Del |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------`------|
|
||||
@@ -271,97 +273,115 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | | | | | Reset |
|
||||
* `-------+-------+-------+-------+---^^^----+---^^^----+---------+--------+--------+----------'
|
||||
*/
|
||||
[_ADJUST] = KEYMAP_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
_______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
_______ ,_______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______ ,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
_______ ,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______ , _______, _______, _______, _______ , _______ , _______, _______, _______, RESET)
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
[_ADJUST] = LAYOUT_JD45(
|
||||
/*,--------+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------.*/
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
|
||||
/*|--------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------`--------|*/
|
||||
_______, _______, _______, _______, _______, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
|
||||
/*|---------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`----------------|*/
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
/*|----------`-------`--------`--------`--------`--------`--------`--------`--------`--------`--------`---------------|*/
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, RESET)
|
||||
/*`----------+-----------+-----------+-----------+----^^^----+----^^^----+-----------+-----------+-----------+--------'*/
|
||||
};
|
||||
|
||||
void persistent_default_layer_set(uint16_t default_layer) {
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
void persistent_default_layer_set(uint16_t default_layer)
|
||||
{
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
switch (keycode)
|
||||
{
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
default_layer_set(1UL<<_QWERTY);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
default_layer_set(1UL<<_COLEMAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
default_layer_set(1UL<<_DVORAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case BACKLIT:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
backlight_step();
|
||||
#endif
|
||||
} else {
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case PLOVER:
|
||||
if (record->event.pressed) {
|
||||
layer_off(_RAISE);
|
||||
layer_off(_LOWER);
|
||||
layer_off(_ADJUST);
|
||||
layer_on(_PLOVER);
|
||||
if (!eeconfig_is_enabled()) {
|
||||
eeconfig_init();
|
||||
if (record->event.pressed)
|
||||
{
|
||||
default_layer_set(1UL << _QWERTY);
|
||||
}
|
||||
keymap_config.raw = eeconfig_read_keymap();
|
||||
keymap_config.nkro = 1;
|
||||
eeconfig_update_keymap(keymap_config.raw);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
return false;
|
||||
break;
|
||||
case COLEMAK:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
default_layer_set(1UL << _COLEMAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case DVORAK:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
default_layer_set(1UL << _DVORAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case LOWER:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
else
|
||||
{
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
else
|
||||
{
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case BACKLIT:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
register_code(KC_RSFT);
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
backlight_step();
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case PLOVER:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
layer_off(_RAISE);
|
||||
layer_off(_LOWER);
|
||||
layer_off(_ADJUST);
|
||||
layer_on(_PLOVER);
|
||||
if (!eeconfig_is_enabled())
|
||||
{
|
||||
eeconfig_init();
|
||||
}
|
||||
keymap_config.raw = eeconfig_read_keymap();
|
||||
keymap_config.nkro = 1;
|
||||
eeconfig_update_keymap(keymap_config.raw);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case EXT_PLV:
|
||||
if (record->event.pressed) {
|
||||
layer_off(_PLOVER);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
if (record->event.pressed)
|
||||
{
|
||||
layer_off(_PLOVER);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -369,54 +389,69 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
*/
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
if (!eeconfig_is_enabled()) {
|
||||
eeconfig_init();
|
||||
if (!eeconfig_is_enabled())
|
||||
{
|
||||
eeconfig_init();
|
||||
}
|
||||
|
||||
bool use_cmd = true; // Use, for example, Cmd-Tab, Cmd-C, Cmd-V, etc.
|
||||
bool use_cmd = true; // Use, for example, Cmd-Tab, Cmd-C, Cmd-V, etc.
|
||||
// Compare to MAGIC_SWAP_ALT_GUI and MAGIC_UNSWAP_ALT_GUI configs, set in:
|
||||
// quantum/quantum.c
|
||||
if(keymap_config.swap_lalt_lgui == 1 && keymap_config.swap_ralt_rgui == 1) {
|
||||
use_cmd = false; // ... or, Alt-Tab, Ctrl-C, Ctrl-V, etc.
|
||||
if (keymap_config.swap_lalt_lgui == 1 && keymap_config.swap_ralt_rgui == 1)
|
||||
{
|
||||
use_cmd = false; // ... or, Alt-Tab, Ctrl-C, Ctrl-V, etc.
|
||||
}
|
||||
|
||||
switch (id) {
|
||||
case KC_ALT_TAB:
|
||||
if(use_cmd) { return (record->event.pressed ? MACRO( D(LALT), D(TAB), END ) : MACRO( U(TAB), END )); }
|
||||
else { return (record->event.pressed ? MACRO( D(LGUI), D(TAB), END ) : MACRO( U(TAB), END )); }
|
||||
case KC_CMD_TAB:
|
||||
if(use_cmd) { return (record->event.pressed ? MACRO( D(LGUI), D(TAB), END ) : MACRO( U(TAB), END )); }
|
||||
else { return (record->event.pressed ? MACRO( D(LALT), D(TAB), END ) : MACRO( U(TAB), END )); }
|
||||
switch (id)
|
||||
{
|
||||
case KC_ALT_TAB:
|
||||
if (use_cmd)
|
||||
{
|
||||
return (record->event.pressed ? MACRO(D(LALT), D(TAB), END) : MACRO(U(TAB), END));
|
||||
}
|
||||
else
|
||||
{
|
||||
return (record->event.pressed ? MACRO(D(LGUI), D(TAB), END) : MACRO(U(TAB), END));
|
||||
}
|
||||
case KC_CMD_TAB:
|
||||
if (use_cmd)
|
||||
{
|
||||
return (record->event.pressed ? MACRO(D(LGUI), D(TAB), END) : MACRO(U(TAB), END));
|
||||
}
|
||||
else
|
||||
{
|
||||
return (record->event.pressed ? MACRO(D(LALT), D(TAB), END) : MACRO(U(TAB), END));
|
||||
}
|
||||
|
||||
case KC_CTL_TAB:
|
||||
return (record->event.pressed ? MACRO( D(LCTRL), D(TAB), END ) : MACRO( U(TAB), END ));
|
||||
case KC_CMD_SLSH:
|
||||
return (record->event.pressed ? MACRO( D(LGUI), D(SLSH),END ) : MACRO( U(SLSH),END ));
|
||||
case KC_CTL_TAB:
|
||||
return (record->event.pressed ? MACRO(D(LCTRL), D(TAB), END) : MACRO(U(TAB), END));
|
||||
case KC_CMD_SLSH:
|
||||
return (record->event.pressed ? MACRO(D(LGUI), D(SLSH), END) : MACRO(U(SLSH), END));
|
||||
|
||||
case KC_AG_FIND:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), T(F), END ) : MACRODOWN( D(LCTRL), T(F), END );
|
||||
case KC_AG_AGAIN:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), T(G), END ) : MACRODOWN( D(LCTRL), T(G), END );
|
||||
case KC_AG_UNDO:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), T(Z), END ) : MACRODOWN( D(LCTRL), T(Z), END );
|
||||
case KC_AG_CUT:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), T(X), END ) : MACRODOWN( D(LCTRL), T(X), END );
|
||||
case KC_AG_COPY:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), T(C), END ) : MACRODOWN( D(LCTRL), T(C), END );
|
||||
case KC_AG_PASTE:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), T(V), END ) : MACRODOWN( D(LCTRL), T(V), END );
|
||||
case KC_AG_FIND:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), T(F), END) : MACRODOWN(D(LCTRL), T(F), END);
|
||||
case KC_AG_AGAIN:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), T(G), END) : MACRODOWN(D(LCTRL), T(G), END);
|
||||
case KC_AG_UNDO:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), T(Z), END) : MACRODOWN(D(LCTRL), T(Z), END);
|
||||
case KC_AG_CUT:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), T(X), END) : MACRODOWN(D(LCTRL), T(X), END);
|
||||
case KC_AG_COPY:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), T(C), END) : MACRODOWN(D(LCTRL), T(C), END);
|
||||
case KC_AG_PASTE:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), T(V), END) : MACRODOWN(D(LCTRL), T(V), END);
|
||||
|
||||
case KC_AG_DESK_L:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), D(LCTRL), T(SCLN), END ) : MACRODOWN( D(LALT), D(LCTRL), T(SCLN), END );
|
||||
case KC_AG_DESK_R:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), D(LCTRL), T(QUOT), END ) : MACRODOWN( D(LALT), D(LCTRL), T(QUOT), END );
|
||||
case KC_AG_DESK_L:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), D(LCTRL), T(SCLN), END) : MACRODOWN(D(LALT), D(LCTRL), T(SCLN), END);
|
||||
case KC_AG_DESK_R:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), D(LCTRL), T(QUOT), END) : MACRODOWN(D(LALT), D(LCTRL), T(QUOT), END);
|
||||
|
||||
case KC_AG_TAB_C:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), T(W), END ) : MACRODOWN( D(LCTRL), T(W), END );
|
||||
case KC_AG_TAB_N:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), T(T), END ) : MACRODOWN( D(LCTRL), T(T), END );
|
||||
case KC_AG_TAB_R:
|
||||
return use_cmd ? MACRODOWN( D(LGUI), D(LSHIFT), T(T), END ) : MACRODOWN( D(LCTRL), D(LSHIFT), T(T), END );
|
||||
case KC_AG_TAB_C:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), T(W), END) : MACRODOWN(D(LCTRL), T(W), END);
|
||||
case KC_AG_TAB_N:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), T(T), END) : MACRODOWN(D(LCTRL), T(T), END);
|
||||
case KC_AG_TAB_R:
|
||||
return use_cmd ? MACRODOWN(D(LGUI), D(LSHIFT), T(T), END) : MACRODOWN(D(LCTRL), D(LSHIFT), T(T), END);
|
||||
}
|
||||
|
||||
return MACRO_NONE;
|
||||
|
||||
@@ -1,58 +1,59 @@
|
||||
#include "jd45.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = KEYMAP(
|
||||
ESC, Q, W, F, P, G, J, L, U, Y, SCLN, QUOT, BSPC,
|
||||
FN8, A, R, S, T, D, H, N, E, I, O, ENT,
|
||||
LSFT, Z, X, C, V, B, K, M, COMM, DOT, SLSH, FN6,
|
||||
FN4, LGUI, FN7, FN2, FN1, SPC, FN5, RALT, FN3, FN0 ),
|
||||
[1] = KEYMAP(
|
||||
TRNS, FN10, FN11, FN12, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, UP, DEL,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, HOME, PGUP, LEFT, RGHT,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, END, PGDN, DOWN, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS ),
|
||||
[2] = KEYMAP(
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 7, 8, 9, 0, TRNS, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LBRC, 4, 5, 6, DOT, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RBRC, 1, 2, 3, BSLS, TRNS,
|
||||
TRNS,FN29, TRNS, TRNS, TRNS, PAUSE, EQL, MINS, TRNS, TRNS ),
|
||||
[3] = KEYMAP(
|
||||
TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12,
|
||||
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, TRNS ),
|
||||
[4] = KEYMAP(
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 7, 8, 9, 0, TRNS, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LBRC, 4, 5, 6, DOT, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RBRC, 1, 2, 3, BSLS, TRNS,
|
||||
TRNS,FN29, TRNS, TRNS, TRNS, PAUSE, EQL, MINS, TRNS, TRNS ),
|
||||
[0] = LAYOUT(
|
||||
ESC, Q, W, F, P, G, J, L, U, Y, SCLN, QUOT, BSPC,
|
||||
FN8, A, R, S, T, D, H, N, E, I, O, ENT,
|
||||
LSFT, Z, X, C, V, B, K, M, COMM, DOT, SLSH, FN6,
|
||||
FN4, LGUI, FN7, FN2, FN1, SPC, FN5, RALT, FN3, FN0),
|
||||
[1] = LAYOUT(
|
||||
TRNS, FN10, FN11, FN12, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, UP, DEL,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, HOME, PGUP, LEFT, RGHT,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, END, PGDN, DOWN, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS),
|
||||
[2] = LAYOUT(
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 7, 8, 9, 0, TRNS, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LBRC, 4, 5, 6, DOT, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RBRC, 1, 2, 3, BSLS, TRNS,
|
||||
TRNS, FN29, TRNS, TRNS, TRNS, PAUSE, EQL, MINS, TRNS, TRNS),
|
||||
[3] = LAYOUT(
|
||||
TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12,
|
||||
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, TRNS),
|
||||
[4] = LAYOUT(
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, 7, 8, 9, 0, TRNS, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, LBRC, 4, 5, 6, DOT, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RBRC, 1, 2, 3, BSLS, TRNS,
|
||||
TRNS, FN29, TRNS, TRNS, TRNS, PAUSE, EQL, MINS, TRNS, TRNS),
|
||||
};
|
||||
|
||||
enum macro_id {
|
||||
PSWD1,
|
||||
PSWD2,
|
||||
PSWD3,
|
||||
enum macro_id
|
||||
{
|
||||
PSWD1,
|
||||
PSWD2,
|
||||
PSWD3,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
[0] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_MINS),
|
||||
[1] = ACTION_LAYER_MOMENTARY(1), // FN1
|
||||
[2] = ACTION_LAYER_MOMENTARY(2), // FN2
|
||||
[3] = ACTION_LAYER_MOMENTARY(3), // FN3
|
||||
[1] = ACTION_LAYER_MOMENTARY(1), // FN1
|
||||
[2] = ACTION_LAYER_MOMENTARY(2), // FN2
|
||||
[3] = ACTION_LAYER_MOMENTARY(3), // FN3
|
||||
[4] = ACTION_MODS_TAP_KEY(MOD_LSFT, KC_GRV),
|
||||
[5] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_RGUI),
|
||||
[6] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_CAPS),
|
||||
[7] = ACTION_LAYER_MODS(4, MOD_LSFT), // FN4
|
||||
[7] = ACTION_LAYER_MODS(4, MOD_LSFT), // FN4
|
||||
[8] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_TAB),
|
||||
|
||||
[10] = ACTION_MACRO(PSWD1),
|
||||
[11] = ACTION_MACRO(PSWD2),
|
||||
[12] = ACTION_MACRO(PSWD3),
|
||||
|
||||
|
||||
[29] = ACTION_BACKLIGHT_TOGGLE(),
|
||||
[30] = ACTION_BACKLIGHT_INCREASE(),
|
||||
[31] = ACTION_BACKLIGHT_DECREASE()
|
||||
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -60,19 +61,14 @@ const uint16_t PROGMEM fn_actions[] = {
|
||||
*/
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
switch (id) {
|
||||
case PSWD1:
|
||||
return (record->event.pressed ?
|
||||
MACRO( I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END ) :
|
||||
MACRO_NONE );
|
||||
case PSWD2:
|
||||
return (record->event.pressed ?
|
||||
MACRO( I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END ) :
|
||||
MACRO_NONE );
|
||||
case PSWD3:
|
||||
return (record->event.pressed ?
|
||||
MACRO( I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END ) :
|
||||
MACRO_NONE );
|
||||
switch (id)
|
||||
{
|
||||
case PSWD1:
|
||||
return (record->event.pressed ? MACRO(I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END) : MACRO_NONE);
|
||||
case PSWD2:
|
||||
return (record->event.pressed ? MACRO(I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END) : MACRO_NONE);
|
||||
case PSWD3:
|
||||
return (record->event.pressed ? MACRO(I(0), T(1), T(2), T(3), T(4), T(5), T(6), T(7), T(8), T(ENT), END) : MACRO_NONE);
|
||||
//case VOLUP:
|
||||
// return (record->event.pressed ?
|
||||
// MACRO( D(VOLU), U(VOLU), END ) :
|
||||
|
||||
@@ -1,33 +1,34 @@
|
||||
#include "jd45.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
/* Mike's Layout for JD45 with backlight LEDs acting as layer indicator
|
||||
*/
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = KEYMAP(
|
||||
TAB, Q, W, E, R, T, Y, U, I, O, P, MINS, BSLS,
|
||||
FN1, A, S, D, F, G, H, J, K, L, QUOT, ENT,
|
||||
FN0, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT,
|
||||
NO, LCTL, LALT, LGUI, SPC, BSPC, APP, FN2, ESC, NO ),
|
||||
[1] = KEYMAP(
|
||||
GRV, TRNS, UP, TRNS, 7, 8, 9, 0, MINS, EQL, PSCR, LBRC, RBRC,
|
||||
TRNS, LEFT, DOWN, RGHT, 4, 5, 6, INS, HOME, PGUP, SCLN, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, 1, 2, 3, DEL, END, PGDN, TRNS, TRNS,
|
||||
TRNS, TRNS, TRNS, SPC, TRNS, DEL, TRNS, FN3, TRNS, TRNS ),
|
||||
[2] = KEYMAP(
|
||||
TRNS, TRNS, VOLU, TRNS, F7, F8, F9, F10, F11, F12, PSCR, FN3, FN4,
|
||||
TRNS, MPRV, VOLD, MNXT, F4, F5, F6, J, K, L, SCLN, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, F1, F2, F3, MUTE, MPRV, MNXT, MSTP, TRNS,
|
||||
TRNS, TRNS, TRNS, LGUI, TRNS, TRNS, TRNS, TRNS, PAUS, TRNS )
|
||||
/* ,
|
||||
[3] = KEYMAP(
|
||||
[0] = LAYOUT(
|
||||
TAB, Q, W, E, R, T, Y, U, I, O, P, MINS, BSLS,
|
||||
FN1, A, S, D, F, G, H, J, K, L, QUOT, ENT,
|
||||
FN0, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT,
|
||||
NO, LCTL, LALT, LGUI, SPC, BSPC, APP, FN2, ESC, NO),
|
||||
[1] = LAYOUT(
|
||||
GRV, TRNS, UP, TRNS, 7, 8, 9, 0, MINS, EQL, PSCR, LBRC, RBRC,
|
||||
TRNS, LEFT, DOWN, RGHT, 4, 5, 6, INS, HOME, PGUP, SCLN, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, 1, 2, 3, DEL, END, PGDN, TRNS, TRNS,
|
||||
TRNS, TRNS, TRNS, SPC, TRNS, DEL, TRNS, FN3, TRNS, TRNS),
|
||||
[2] = LAYOUT(
|
||||
TRNS, TRNS, VOLU, TRNS, F7, F8, F9, F10, F11, F12, PSCR, FN3, FN4,
|
||||
TRNS, MPRV, VOLD, MNXT, F4, F5, F6, J, K, L, SCLN, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, F1, F2, F3, MUTE, MPRV, MNXT, MSTP, TRNS,
|
||||
TRNS, TRNS, TRNS, LGUI, TRNS, TRNS, TRNS, TRNS, PAUS, TRNS)
|
||||
/* ,
|
||||
[3] = LAYOUT(
|
||||
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, BTLD, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS )*/
|
||||
};
|
||||
|
||||
enum macro_id {
|
||||
enum macro_id
|
||||
{
|
||||
M_LAYER1,
|
||||
M_LAYER2
|
||||
};
|
||||
@@ -38,43 +39,43 @@ const uint16_t PROGMEM fn_actions[] = {
|
||||
[1] = ACTION_MACRO(M_LAYER1),
|
||||
[2] = ACTION_LAYER_TAP_TOGGLE(2),
|
||||
[3] = ACTION_BACKLIGHT_STEP(),
|
||||
[4] = ACTION_BACKLIGHT_TOGGLE()
|
||||
};
|
||||
[4] = ACTION_BACKLIGHT_TOGGLE()};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
// MACRODOWN only works in this function
|
||||
switch(id) {
|
||||
case M_LAYER1:
|
||||
// need to add a timer for doubletap: https://github.com/jackhumbert/qmk_firmware/wiki#timer-functionality
|
||||
// action_function_tap may also handle this...
|
||||
if (record->event.pressed)
|
||||
{
|
||||
breathing_period_set(3);
|
||||
breathing_enable();
|
||||
layer_on(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
breathing_period_set(1);
|
||||
breathing_self_disable();
|
||||
layer_off(1);
|
||||
}
|
||||
// MACRODOWN only works in this function
|
||||
switch (id)
|
||||
{
|
||||
case M_LAYER1:
|
||||
// need to add a timer for doubletap: https://github.com/jackhumbert/qmk_firmware/wiki#timer-functionality
|
||||
// action_function_tap may also handle this...
|
||||
if (record->event.pressed)
|
||||
{
|
||||
breathing_period_set(3);
|
||||
breathing_enable();
|
||||
layer_on(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
breathing_period_set(1);
|
||||
breathing_self_disable();
|
||||
layer_off(1);
|
||||
}
|
||||
break;
|
||||
case M_LAYER2:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
breathing_period_set(2);
|
||||
breathing_pulse();
|
||||
layer_on(2);
|
||||
}
|
||||
else
|
||||
{
|
||||
breathing_period_set(1);
|
||||
breathing_self_disable();
|
||||
layer_off(2);
|
||||
}
|
||||
case M_LAYER2:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
breathing_period_set(2);
|
||||
breathing_pulse();
|
||||
layer_on(2);
|
||||
}
|
||||
else
|
||||
{
|
||||
breathing_period_set(1);
|
||||
breathing_self_disable();
|
||||
layer_off(2);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
#include "jd45.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum jd45_layers
|
||||
{
|
||||
_QWERTY,
|
||||
_QWERTYNUMMODS,
|
||||
_NUMSYM,
|
||||
_FUNCTION,
|
||||
_NUMPAD,
|
||||
_FKEYNUMPAD,
|
||||
_ADJUST
|
||||
_QWERTY,
|
||||
_QWERTYNUMMODS,
|
||||
_NUMSYM,
|
||||
_FUNCTION,
|
||||
_NUMPAD,
|
||||
_FKEYNUMPAD,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
enum jd45_keycodes
|
||||
{
|
||||
NUMSYM = SAFE_RANGE,
|
||||
MACSLEEP,
|
||||
USEFNMODS,
|
||||
USENUMMODS,
|
||||
DYNAMIC_MACRO_RANGE,
|
||||
NUMSYM = SAFE_RANGE,
|
||||
MACSLEEP,
|
||||
USEFNMODS,
|
||||
USENUMMODS,
|
||||
DYNAMIC_MACRO_RANGE,
|
||||
};
|
||||
|
||||
#include "dynamic_macro.h"
|
||||
@@ -33,117 +33,91 @@ enum jd45_keycodes
|
||||
#define F_FNTAB F(2)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = {
|
||||
{F_FNTAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, KC_BSPC},
|
||||
{CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_ADJUST, KC_QUOT)},
|
||||
{KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT)},
|
||||
{ XXXXXXX, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, XXXXXXX, F_FNSPC, XXXXXXX, XXXXXXX, MO(_FUNCTION), MO(_ADJUST) }
|
||||
},
|
||||
[_QWERTYNUMMODS] = {
|
||||
{F_FNTAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, KC_BSPC},
|
||||
{CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_ADJUST, KC_QUOT)},
|
||||
{KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT)},
|
||||
{XXXXXXX, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, XXXXXXX, F_NUMSPC, XXXXXXX, XXXXXXX, MO(_FKEYNUMPAD), MO(_ADJUST) }
|
||||
},
|
||||
[_NUMSYM] = {
|
||||
{KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_DEL},
|
||||
{__MOD__, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______},
|
||||
{_______, _______, _______, _______, _______, KC_SPC, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______},
|
||||
{XXXXXXX, __MOD__, __MOD__, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, __MOD__, __MOD__}
|
||||
},
|
||||
[_FUNCTION] = {
|
||||
{__MOD__, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12},
|
||||
{__MOD__, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, _______, _______},
|
||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
|
||||
{XXXXXXX, __MOD__, __MOD__, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, __MOD__ , __MOD__}
|
||||
},
|
||||
[_NUMPAD] = {
|
||||
{KC_GRV, _______, KC_UP, _______, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_PSCR, KC_LBRC, KC_RBRC},
|
||||
{_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_4, KC_5, KC_6, KC_INS, KC_HOME, KC_PGUP, _______, _______},
|
||||
{_______, _______, _______, _______, KC_1, KC_2, KC_3, KC_DEL, KC_END, KC_PGDN, _______, _______},
|
||||
{XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, __MOD__, __MOD__}
|
||||
},
|
||||
[_FKEYNUMPAD] = {
|
||||
{_______, _______, KC_VOLU, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, _______, _______},
|
||||
{_______, KC_MPRV, KC_VOLD, KC_MNXT, KC_F4, KC_F5, KC_F6, KC_J, KC_K, KC_L, KC_SCLN, _______},
|
||||
{_______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_MUTE, KC_MPRV, KC_MNXT, KC_MSTP, _______},
|
||||
{XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, __MOD__, __MOD__ }
|
||||
},
|
||||
[_ADJUST] = {
|
||||
{_______, RESET, _______, _______, _______, _______, _______, DYN_REC_START1, DYN_REC_START2, _______, KC_PSCR, _______, _______},
|
||||
{ _______, _______, _______, _______, USEFNMODS, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, MACSLEEP, _______, _______},
|
||||
{ _______, _______, _______, _______, _______, _______, USENUMMODS, _______, _______, _______, _______, _______},
|
||||
{XXXXXXX, _______, _______,XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, __MOD__, __MOD__}
|
||||
}
|
||||
};
|
||||
|
||||
[_QWERTY] = {
|
||||
{F_FNTAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, KC_BSPC},
|
||||
{CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_ADJUST, KC_QUOT)},
|
||||
{KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT)},
|
||||
{XXXXXXX, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, XXXXXXX, F_FNSPC, XXXXXXX, XXXXXXX, MO(_FUNCTION), MO(_ADJUST)}},
|
||||
[_QWERTYNUMMODS] = {{F_FNTAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, KC_BSPC}, {CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(_ADJUST, KC_QUOT)}, {KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT)}, {XXXXXXX, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, XXXXXXX, F_NUMSPC, XXXXXXX, XXXXXXX, MO(_FKEYNUMPAD), MO(_ADJUST)}},
|
||||
[_NUMSYM] = {{KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, KC_DEL}, {__MOD__, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______}, {_______, _______, _______, _______, _______, KC_SPC, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, _______}, {XXXXXXX, __MOD__, __MOD__, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, __MOD__, __MOD__}},
|
||||
[_FUNCTION] = {{__MOD__, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12}, {__MOD__, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, _______, _______}, {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, {XXXXXXX, __MOD__, __MOD__, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, __MOD__, __MOD__}},
|
||||
[_NUMPAD] = {{KC_GRV, _______, KC_UP, _______, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_PSCR, KC_LBRC, KC_RBRC}, {_______, KC_LEFT, KC_DOWN, KC_RGHT, KC_4, KC_5, KC_6, KC_INS, KC_HOME, KC_PGUP, _______, _______}, {_______, _______, _______, _______, KC_1, KC_2, KC_3, KC_DEL, KC_END, KC_PGDN, _______, _______}, {XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, __MOD__, __MOD__}},
|
||||
[_FKEYNUMPAD] = {{_______, _______, KC_VOLU, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, _______, _______}, {_______, KC_MPRV, KC_VOLD, KC_MNXT, KC_F4, KC_F5, KC_F6, KC_J, KC_K, KC_L, KC_SCLN, _______}, {_______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_MUTE, KC_MPRV, KC_MNXT, KC_MSTP, _______}, {XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, __MOD__, __MOD__}},
|
||||
[_ADJUST] = {{_______, RESET, _______, _______, _______, _______, _______, DYN_REC_START1, DYN_REC_START2, _______, KC_PSCR, _______, _______}, {_______, _______, _______, _______, USEFNMODS, _______, _______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, MACSLEEP, _______, _______}, {_______, _______, _______, _______, _______, _______, USENUMMODS, _______, _______, _______, _______, _______}, {XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, __MOD__, __MOD__}}};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
[0] = ACTION_LAYER_TAP_KEY(_NUMSYM, KC_SPC),
|
||||
[1] = ACTION_LAYER_TAP_KEY(_NUMPAD, KC_SPC),
|
||||
[2] = ACTION_LAYER_TAP_KEY(_FUNCTION, KC_TAB),
|
||||
[0] = ACTION_LAYER_TAP_KEY(_NUMSYM, KC_SPC),
|
||||
[1] = ACTION_LAYER_TAP_KEY(_NUMPAD, KC_SPC),
|
||||
[2] = ACTION_LAYER_TAP_KEY(_FUNCTION, KC_TAB),
|
||||
};
|
||||
|
||||
void persistent_default_layer_set(uint16_t default_layer) {
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
void persistent_default_layer_set(uint16_t default_layer)
|
||||
{
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
static bool singular_key = false;
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
uint16_t macro_kc = (keycode == MO(_ADJUST) ? DYN_REC_STOP : keycode);
|
||||
if (!process_record_dynamic_macro(macro_kc, record)) {
|
||||
return false;
|
||||
}
|
||||
println(" ");
|
||||
print("process record");
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
uint16_t macro_kc = (keycode == MO(_ADJUST) ? DYN_REC_STOP : keycode);
|
||||
if (!process_record_dynamic_macro(macro_kc, record))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
println(" ");
|
||||
print("process record");
|
||||
|
||||
switch (keycode) {
|
||||
case MACSLEEP:
|
||||
if (record->event.pressed) {
|
||||
// ACTION_MODS_KEY(MOD_LCTL | MOD_LSFT, KC_POWER);
|
||||
register_code(KC_RSFT);
|
||||
register_code(KC_RCTL);
|
||||
register_code(KC_POWER);
|
||||
unregister_code(KC_POWER);
|
||||
unregister_code(KC_RCTL);
|
||||
unregister_code(KC_RSFT);
|
||||
switch (keycode)
|
||||
{
|
||||
case MACSLEEP:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
// ACTION_MODS_KEY(MOD_LCTL | MOD_LSFT, KC_POWER);
|
||||
register_code(KC_RSFT);
|
||||
register_code(KC_RCTL);
|
||||
register_code(KC_POWER);
|
||||
unregister_code(KC_POWER);
|
||||
unregister_code(KC_RCTL);
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case USEFNMODS:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
persistent_default_layer_set(1UL << _QWERTY);
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_NOTE_ARRAY(tone_fnpc, false, 0);
|
||||
#endif
|
||||
print("Space-FN");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case USENUMMODS:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
persistent_default_layer_set(1UL << _QWERTYNUMMODS);
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_NOTE_ARRAY(tone_fnmac, false, 0);
|
||||
#endif
|
||||
print("Space-Numpad");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
default:
|
||||
singular_key = false;
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case USEFNMODS:
|
||||
if (record->event.pressed) {
|
||||
persistent_default_layer_set(1UL<<_QWERTY);
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_NOTE_ARRAY(tone_fnpc, false, 0);
|
||||
#endif
|
||||
print("Space-FN");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case USENUMMODS:
|
||||
if (record->event.pressed) {
|
||||
persistent_default_layer_set(1UL<<_QWERTYNUMMODS);
|
||||
#ifdef AUDIO_ENABLE
|
||||
PLAY_NOTE_ARRAY(tone_fnmac, false, 0);
|
||||
#endif
|
||||
print("Space-Numpad");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
default:
|
||||
singular_key = false;
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
return true;
|
||||
};
|
||||
|
||||
|
||||
void matrix_init_user(void) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
startup_user();
|
||||
#endif
|
||||
void matrix_init_user(void)
|
||||
{
|
||||
#ifdef AUDIO_ENABLE
|
||||
startup_user();
|
||||
#endif
|
||||
// debug_enable = true;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"keyboard_name": "kbd66",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 16.5,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "label": "~", "x": 0, "y": 0 },
|
||||
{ "label": "!", "x": 1, "y": 0 },
|
||||
{ "label": "@", "x": 2, "y": 0 },
|
||||
{ "label": "#", "x": 3, "y": 0 },
|
||||
{ "label": "$", "x": 4, "y": 0 },
|
||||
{ "label": "%", "x": 5, "y": 0 },
|
||||
{ "label": "^", "x": 6, "y": 0 },
|
||||
{ "label": "&", "x": 7, "y": 0 },
|
||||
{ "label": "*", "x": 8, "y": 0 },
|
||||
{ "label": "(", "x": 9, "y": 0 },
|
||||
{ "label": ")", "x": 10, "y": 0 },
|
||||
{ "label": "_", "x": 11, "y": 0 },
|
||||
{ "label": "+", "x": 12, "y": 0 },
|
||||
{ "label": "Bkspc", "x": 13, "y": 0 },
|
||||
{ "label": "Bkspc", "x": 14, "y": 0 },
|
||||
{ "x": 15.5, "y": 0 },
|
||||
{ "label": "Tab", "x": 0, "y": 1, "w": 1.5 },
|
||||
{ "label": "Q", "x": 1.5, "y": 1 },
|
||||
{ "label": "W", "x": 2.5, "y": 1 },
|
||||
{ "label": "E", "x": 3.5, "y": 1 },
|
||||
{ "label": "R", "x": 4.5, "y": 1 },
|
||||
{ "label": "T", "x": 5.5, "y": 1 },
|
||||
{ "label": "Y", "x": 6.5, "y": 1 },
|
||||
{ "label": "U", "x": 7.5, "y": 1 },
|
||||
{ "label": "I", "x": 8.5, "y": 1 },
|
||||
{ "label": "O", "x": 9.5, "y": 1 },
|
||||
{ "label": "P", "x": 10.5, "y": 1 },
|
||||
{ "label": "{", "x": 11.5, "y": 1 },
|
||||
{ "label": "}", "x": 12.5, "y": 1 },
|
||||
{ "label": "|", "x": 13.5, "y": 1, "w": 1.5 },
|
||||
{ "x": 15.5, "y": 1 },
|
||||
{ "label": "Caps Lock", "x": 0, "y": 2, "w": 1.75 },
|
||||
{ "label": "A", "x": 1.75, "y": 2 },
|
||||
{ "label": "S", "x": 2.75, "y": 2 },
|
||||
{ "label": "D", "x": 3.75, "y": 2 },
|
||||
{ "label": "F", "x": 4.75, "y": 2 },
|
||||
{ "label": "G", "x": 5.75, "y": 2 },
|
||||
{ "label": "H", "x": 6.75, "y": 2 },
|
||||
{ "label": "J", "x": 7.75, "y": 2 },
|
||||
{ "label": "K", "x": 8.75, "y": 2 },
|
||||
{ "label": "L", "x": 9.75, "y": 2 },
|
||||
{ "label": ":", "x": 10.75, "y": 2 },
|
||||
{ "label": "\"", "x": 11.75, "y": 2 },
|
||||
{ "x": 12.75, "y": 2 },
|
||||
{ "label": "Enter", "x": 13.75, "y": 2, "w": 1.25 },
|
||||
{ "label": "Shift", "x": 0, "y": 3, "w": 1.25 },
|
||||
{ "x": 1.25, "y": 3 },
|
||||
{ "label": "Z", "x": 2.25, "y": 3 },
|
||||
{ "label": "X", "x": 3.25, "y": 3 },
|
||||
{ "label": "C", "x": 4.25, "y": 3 },
|
||||
{ "label": "V", "x": 5.25, "y": 3 },
|
||||
{ "label": "B", "x": 6.25, "y": 3 },
|
||||
{ "label": "N", "x": 7.25, "y": 3 },
|
||||
{ "label": "M", "x": 8.25, "y": 3 },
|
||||
{ "label": "<", "x": 9.25, "y": 3 },
|
||||
{ "label": ">", "x": 10.25, "y": 3 },
|
||||
{ "label": "?", "x": 11.25, "y": 3 },
|
||||
{ "label": "Shift", "x": 12.25, "y": 3, "w": 1.25 },
|
||||
{ "label": "Fn", "x": 13.5, "y": 3 },
|
||||
{ "label": "Up", "x": 14.5, "y": 3 },
|
||||
{ "label": "Ctrl", "x": 0, "y": 4, "w": 1.5 },
|
||||
{ "label": "Win", "x": 1.5, "y": 4, "w": 1.25 },
|
||||
{ "label": "Alt", "x": 2.75, "y": 4, "w": 1.25 },
|
||||
{ "x": 4, "y": 4, "w": 2.75 },
|
||||
{ "x": 6.75, "y": 4, "w": 2.75 },
|
||||
{ "label": "Alt", "x": 9.5, "y": 4, "w": 1.25 },
|
||||
{ "label": "Win", "x": 10.75, "y": 4, "w": 1.25 },
|
||||
{ "label": "Menu", "x": 12, "y": 4, "w": 1.5 },
|
||||
{ "label": "Left", "x": 13.5, "y": 4 },
|
||||
{ "label": "Down", "x": 14.5, "y": 4 },
|
||||
{ "label": "Right", "x": 15.5, "y": 4 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -19,7 +19,7 @@
|
||||
#include "quantum.h"
|
||||
|
||||
// This a shortcut to help you visually see your layout.
|
||||
#define KEYMAP( \
|
||||
#define LAYOUT( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D,k0E, k0F, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, \
|
||||
|
||||
@@ -13,7 +13,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/>.
|
||||
*/
|
||||
#include "kbd66.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _____ KC_TRNS
|
||||
#define XXXXX KC_NO
|
||||
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |Ctl |OS |Alt | Space |Alt | Fn |Ctl |LFT|DWN|RIG|
|
||||
* `-------------------------------------------------------------------'
|
||||
*/
|
||||
[_L0] = KEYMAP(
|
||||
[_L0] = LAYOUT(
|
||||
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, XXXXX, KC_BSPC, KC_INS,
|
||||
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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | | | |PDn|SLk|
|
||||
* `-------------------------------------------------------------------'
|
||||
*/
|
||||
[_L1] = KEYMAP(
|
||||
[_L1] = LAYOUT(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _____, _____, KC_HOME,
|
||||
_____, _____, _____, _____, _____, _____, _____, _____, _____, _____, KC_PSCR, KC_VOLD, KC_VOLU, KC_MUTE, KC_END,
|
||||
RESET, _____, _____, _____, _____, _____, _____, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, _____, _____,
|
||||
|
||||
@@ -13,7 +13,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/>.
|
||||
*/
|
||||
#include "kbd66.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _____ KC_TRNS
|
||||
#define XXXXX KC_NO
|
||||
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |Ctl |OS |Alt | Space |Alt | Fn |Ctl |LFT|DWN|RIG|
|
||||
* `-------------------------------------------------------------------'
|
||||
*/
|
||||
[_L0] = KEYMAP(
|
||||
[_L0] = LAYOUT(
|
||||
KC_GESC, 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_GRV, KC_BSPC, KC_INS,
|
||||
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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | | | |PDn|SLk|
|
||||
* `-------------------------------------------------------------------'
|
||||
*/
|
||||
[_L1] = KEYMAP(
|
||||
[_L1] = LAYOUT(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _____, _____, KC_HOME,
|
||||
_____, _____, _____, _____, _____, _____, _____, _____, _____, _____, KC_PSCR, KC_VOLD, KC_VOLU, KC_MUTE, KC_END,
|
||||
RESET, _____, _____, _____, _____, _____, _____, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, _____, _____,
|
||||
|
||||
@@ -13,7 +13,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/>.
|
||||
*/
|
||||
#include "kbd66.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _____ KC_TRNS
|
||||
#define XXXXX KC_NO
|
||||
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |Ctl |OS |Alt | Space |Alt | Fn |Ctl |LFT|DWN|RIG|
|
||||
* `-------------------------------------------------------------------'
|
||||
*/
|
||||
[_L0] = KEYMAP(
|
||||
[_L0] = LAYOUT(
|
||||
KC_GESC, 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_GRV, KC_BSPC, KC_INS,
|
||||
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_NUHS, KC_DEL,
|
||||
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_ENT,
|
||||
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | | | | | | | | |PDn|SLk|
|
||||
* `-------------------------------------------------------------------'
|
||||
*/
|
||||
[_L1] = KEYMAP(
|
||||
[_L1] = LAYOUT(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _____, _____, KC_HOME,
|
||||
_____, _____, _____, _____, _____, _____, _____, _____, _____, _____, KC_PSCR, KC_VOLD, KC_VOLU, KC_MUTE, KC_END,
|
||||
RESET, _____, _____, _____, _____, _____, _____, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, _____, _____,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "kbd66.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _MA 0
|
||||
#define _GA 1
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// Main Layer
|
||||
[_MA] = KEYMAP(
|
||||
[_MA] = LAYOUT(
|
||||
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, ______, KC_BSPC, KC_MPLY,
|
||||
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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_LCTL, KC_LGUI, KC_LALT, SPACE, SPACE, KC_RALT, KC_RCTRL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
//Function Layer
|
||||
[_FL] = KEYMAP(
|
||||
[_FL] = LAYOUT(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TRNS, RESET, KC_PSCR,
|
||||
TRNS, ______, ______, ______, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, ______,
|
||||
TRNS, ______, ______, ______, TRNS, TG(_GA), TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
|
||||
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, ______, KC_PGDN, ______),
|
||||
|
||||
//Arrow keys layer (space bar)
|
||||
[_AR] = KEYMAP(
|
||||
[_AR] = LAYOUT(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 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,
|
||||
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS),
|
||||
|
||||
//Game layer (fn + g)
|
||||
[_GA] = KEYMAP(
|
||||
[_GA] = LAYOUT(
|
||||
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, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
|
||||
|
||||
@@ -0,0 +1,192 @@
|
||||
{
|
||||
"keyboard_name": "kmac",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"bootloader": "",
|
||||
"width": 18.25,
|
||||
"height": 6.5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "x": 0, "y": 0 },
|
||||
{ "label": "F1", "x": 2, "y": 0 },
|
||||
{ "label": "F2", "x": 3, "y": 0 },
|
||||
{ "label": "F3", "x": 4, "y": 0 },
|
||||
{ "label": "F4", "x": 5, "y": 0 },
|
||||
{ "label": "F5", "x": 6.5, "y": 0 },
|
||||
{ "label": "F6", "x": 7.5, "y": 0 },
|
||||
{ "label": "F7", "x": 8.5, "y": 0 },
|
||||
{ "label": "F8", "x": 9.5, "y": 0 },
|
||||
{ "label": "F9", "x": 11, "y": 0 },
|
||||
{ "label": "F10", "x": 12, "y": 0 },
|
||||
{ "label": "F11", "x": 13, "y": 0 },
|
||||
{ "label": "F12", "x": 14, "y": 0 },
|
||||
{ "label": "PrtSc", "x": 15.25, "y": 0 },
|
||||
{ "label": "Scroll Lock", "x": 16.25, "y": 0 },
|
||||
{ "label": "Pause", "x": 17.25, "y": 0 },
|
||||
{ "label": "~", "x": 0, "y": 1.5 },
|
||||
{ "label": "!", "x": 1, "y": 1.5 },
|
||||
{ "label": "@", "x": 2, "y": 1.5 },
|
||||
{ "label": "#", "x": 3, "y": 1.5 },
|
||||
{ "label": "$", "x": 4, "y": 1.5 },
|
||||
{ "label": "%", "x": 5, "y": 1.5 },
|
||||
{ "label": "^", "x": 6, "y": 1.5 },
|
||||
{ "label": "&", "x": 7, "y": 1.5 },
|
||||
{ "label": "*", "x": 8, "y": 1.5 },
|
||||
{ "label": "(", "x": 9, "y": 1.5 },
|
||||
{ "label": ")", "x": 10, "y": 1.5 },
|
||||
{ "label": "_", "x": 11, "y": 1.5 },
|
||||
{ "label": "+", "x": 12, "y": 1.5 },
|
||||
{ "label": "Backspace", "x": 13, "y": 1.5, "w": 2 },
|
||||
{ "label": "Insert", "x": 15.25, "y": 1.5 },
|
||||
{ "label": "Home", "x": 16.25, "y": 1.5 },
|
||||
{ "label": "PgUp", "x": 17.25, "y": 1.5 },
|
||||
{ "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
|
||||
{ "label": "Q", "x": 1.5, "y": 2.5 },
|
||||
{ "label": "W", "x": 2.5, "y": 2.5 },
|
||||
{ "label": "E", "x": 3.5, "y": 2.5 },
|
||||
{ "label": "R", "x": 4.5, "y": 2.5 },
|
||||
{ "label": "T", "x": 5.5, "y": 2.5 },
|
||||
{ "label": "Y", "x": 6.5, "y": 2.5 },
|
||||
{ "label": "U", "x": 7.5, "y": 2.5 },
|
||||
{ "label": "I", "x": 8.5, "y": 2.5 },
|
||||
{ "label": "O", "x": 9.5, "y": 2.5 },
|
||||
{ "label": "P", "x": 10.5, "y": 2.5 },
|
||||
{ "label": "{", "x": 11.5, "y": 2.5 },
|
||||
{ "label": "}", "x": 12.5, "y": 2.5 },
|
||||
{ "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 },
|
||||
{ "label": "Delete", "x": 15.25, "y": 2.5 },
|
||||
{ "label": "End", "x": 16.25, "y": 2.5 },
|
||||
{ "label": "PgDn", "x": 17.25, "y": 2.5 },
|
||||
{ "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
|
||||
{ "label": "A", "x": 1.75, "y": 3.5 },
|
||||
{ "label": "S", "x": 2.75, "y": 3.5 },
|
||||
{ "label": "D", "x": 3.75, "y": 3.5 },
|
||||
{ "label": "F", "x": 4.75, "y": 3.5 },
|
||||
{ "label": "G", "x": 5.75, "y": 3.5 },
|
||||
{ "label": "H", "x": 6.75, "y": 3.5 },
|
||||
{ "label": "J", "x": 7.75, "y": 3.5 },
|
||||
{ "label": "K", "x": 8.75, "y": 3.5 },
|
||||
{ "label": "L", "x": 9.75, "y": 3.5 },
|
||||
{ "label": ":", "x": 10.75, "y": 3.5 },
|
||||
{ "label": "\"", "x": 11.75, "y": 3.5 },
|
||||
{ "label": "Enter", "x": 12.75, "y": 3.5, "w": 2.25 },
|
||||
{ "label": "Shift", "x": 0, "y": 4.5, "w": 2.25 },
|
||||
{ "label": "Z", "x": 2.25, "y": 4.5 },
|
||||
{ "label": "X", "x": 3.25, "y": 4.5 },
|
||||
{ "label": "C", "x": 4.25, "y": 4.5 },
|
||||
{ "label": "V", "x": 5.25, "y": 4.5 },
|
||||
{ "label": "B", "x": 6.25, "y": 4.5 },
|
||||
{ "label": "N", "x": 7.25, "y": 4.5 },
|
||||
{ "label": "M", "x": 8.25, "y": 4.5 },
|
||||
{ "label": "<", "x": 9.25, "y": 4.5 },
|
||||
{ "label": ">", "x": 10.25, "y": 4.5 },
|
||||
{ "label": "?", "x": 11.25, "y": 4.5 },
|
||||
{ "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 },
|
||||
{ "label": "\u2191", "x": 16.25, "y": 4.5 },
|
||||
{ "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 },
|
||||
{ "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 },
|
||||
{ "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 },
|
||||
{ "x": 3.75, "y": 5.5, "w": 6.25 },
|
||||
{ "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 },
|
||||
{ "label": "Win", "x": 11.25, "y": 5.5, "w": 1.25 },
|
||||
{ "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 },
|
||||
{ "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 },
|
||||
{ "label": "\u2190", "x": 15.25, "y": 5.5 },
|
||||
{ "label": "\u2193", "x": 16.25, "y": 5.5 },
|
||||
{ "label": "\u2192", "x": 17.25, "y": 5.5 }
|
||||
]
|
||||
},
|
||||
|
||||
"LAYOUT_WKL": {
|
||||
"layout": [
|
||||
{ "label": "Esc", "x": 0, "y": 0 },
|
||||
{ "label": "F1", "x": 2, "y": 0 },
|
||||
{ "label": "F2", "x": 3, "y": 0 },
|
||||
{ "label": "F3", "x": 4, "y": 0 },
|
||||
{ "label": "F4", "x": 5, "y": 0 },
|
||||
{ "label": "F5", "x": 6.5, "y": 0 },
|
||||
{ "label": "F6", "x": 7.5, "y": 0 },
|
||||
{ "label": "F7", "x": 8.5, "y": 0 },
|
||||
{ "label": "F8", "x": 9.5, "y": 0 },
|
||||
{ "label": "F9", "x": 11, "y": 0 },
|
||||
{ "label": "F10", "x": 12, "y": 0 },
|
||||
{ "label": "F11", "x": 13, "y": 0 },
|
||||
{ "label": "F12", "x": 14, "y": 0 },
|
||||
{ "label": "PrtSc", "x": 15.25, "y": 0 },
|
||||
{ "label": "Scroll Lock", "x": 16.25, "y": 0 },
|
||||
{ "label": "Pause", "x": 17.25, "y": 0 },
|
||||
{ "label": "~", "x": 0, "y": 1.5 },
|
||||
{ "label": "!", "x": 1, "y": 1.5 },
|
||||
{ "label": "@", "x": 2, "y": 1.5 },
|
||||
{ "label": "#", "x": 3, "y": 1.5 },
|
||||
{ "label": "$", "x": 4, "y": 1.5 },
|
||||
{ "label": "%", "x": 5, "y": 1.5 },
|
||||
{ "label": "^", "x": 6, "y": 1.5 },
|
||||
{ "label": "&", "x": 7, "y": 1.5 },
|
||||
{ "label": "*", "x": 8, "y": 1.5 },
|
||||
{ "label": "(", "x": 9, "y": 1.5 },
|
||||
{ "label": ")", "x": 10, "y": 1.5 },
|
||||
{ "label": "_", "x": 11, "y": 1.5 },
|
||||
{ "label": "+", "x": 12, "y": 1.5 },
|
||||
{ "label": "Backspace", "x": 13, "y": 1.5, "w": 2 },
|
||||
{ "label": "Insert", "x": 15.25, "y": 1.5 },
|
||||
{ "label": "Home", "x": 16.25, "y": 1.5 },
|
||||
{ "label": "PgUp", "x": 17.25, "y": 1.5 },
|
||||
{ "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
|
||||
{ "label": "Q", "x": 1.5, "y": 2.5 },
|
||||
{ "label": "W", "x": 2.5, "y": 2.5 },
|
||||
{ "label": "E", "x": 3.5, "y": 2.5 },
|
||||
{ "label": "R", "x": 4.5, "y": 2.5 },
|
||||
{ "label": "T", "x": 5.5, "y": 2.5 },
|
||||
{ "label": "Y", "x": 6.5, "y": 2.5 },
|
||||
{ "label": "U", "x": 7.5, "y": 2.5 },
|
||||
{ "label": "I", "x": 8.5, "y": 2.5 },
|
||||
{ "label": "O", "x": 9.5, "y": 2.5 },
|
||||
{ "label": "P", "x": 10.5, "y": 2.5 },
|
||||
{ "label": "{", "x": 11.5, "y": 2.5 },
|
||||
{ "label": "}", "x": 12.5, "y": 2.5 },
|
||||
{ "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 },
|
||||
{ "label": "Delete", "x": 15.25, "y": 2.5 },
|
||||
{ "label": "End", "x": 16.25, "y": 2.5 },
|
||||
{ "label": "PgDn", "x": 17.25, "y": 2.5 },
|
||||
{ "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
|
||||
{ "label": "A", "x": 1.75, "y": 3.5 },
|
||||
{ "label": "S", "x": 2.75, "y": 3.5 },
|
||||
{ "label": "D", "x": 3.75, "y": 3.5 },
|
||||
{ "label": "F", "x": 4.75, "y": 3.5 },
|
||||
{ "label": "G", "x": 5.75, "y": 3.5 },
|
||||
{ "label": "H", "x": 6.75, "y": 3.5 },
|
||||
{ "label": "J", "x": 7.75, "y": 3.5 },
|
||||
{ "label": "K", "x": 8.75, "y": 3.5 },
|
||||
{ "label": "L", "x": 9.75, "y": 3.5 },
|
||||
{ "label": ":", "x": 10.75, "y": 3.5 },
|
||||
{ "label": "\"", "x": 11.75, "y": 3.5 },
|
||||
{ "label": "Enter", "x": 12.75, "y": 3.5, "w": 2.25 },
|
||||
{ "label": "Shift", "x": 0, "y": 4.5, "w": 2.25 },
|
||||
{ "label": "Z", "x": 2.25, "y": 4.5 },
|
||||
{ "label": "X", "x": 3.25, "y": 4.5 },
|
||||
{ "label": "C", "x": 4.25, "y": 4.5 },
|
||||
{ "label": "V", "x": 5.25, "y": 4.5 },
|
||||
{ "label": "B", "x": 6.25, "y": 4.5 },
|
||||
{ "label": "N", "x": 7.25, "y": 4.5 },
|
||||
{ "label": "M", "x": 8.25, "y": 4.5 },
|
||||
{ "label": "<", "x": 9.25, "y": 4.5 },
|
||||
{ "label": ">", "x": 10.25, "y": 4.5 },
|
||||
{ "label": "?", "x": 11.25, "y": 4.5 },
|
||||
{ "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 },
|
||||
{ "label": "\u2191", "x": 16.25, "y": 4.5 },
|
||||
{ "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "Win", "x": 1.5, "y": 5.5 },
|
||||
{ "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.5 },
|
||||
{ "x": 4, "y": 5.5, "w": 7 },
|
||||
{ "label": "Alt", "x": 11, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "Win", "x": 12.5, "y": 5.5 },
|
||||
{ "label": "Ctrl", "x": 13.5, "y": 5.5, "w": 1.5 },
|
||||
{ "label": "\u2190", "x": 15.25, "y": 5.5 },
|
||||
{ "label": "\u2193", "x": 16.25, "y": 5.5 },
|
||||
{ "label": "\u2192", "x": 17.25, "y": 5.5 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,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/>.
|
||||
*/
|
||||
#include "kmac.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Helpful defines
|
||||
#define _______ KC_TRNS
|
||||
@@ -26,22 +26,20 @@
|
||||
#define _FL 1
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BL] = KEYMAP(
|
||||
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_BRK, \
|
||||
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_BSPC, KC_INS, KC_HOME, KC_PGUP, \
|
||||
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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 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_RSFT, KC_UP, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
|
||||
),
|
||||
[_FL] = KEYMAP(
|
||||
BL_STEP, M(0), M(1), M(2), M(3), M(4), M(5), M(6), M(7), M(8), M(9), M(10), M(11), _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||
),
|
||||
[_BL] = LAYOUT(
|
||||
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_BRK,
|
||||
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_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 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_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
[_FL] = LAYOUT(
|
||||
BL_STEP, M(0), M(1), M(2), M(3), M(4), M(5), M(6), M(7), M(8), M(9), M(10), M(11), _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
@@ -51,47 +49,52 @@ const uint16_t PROGMEM fn_actions[] = {
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
// MACRODOWN only works in this function
|
||||
switch(id) {
|
||||
case 0:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("The");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("Custom");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("Keyboard");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (record->event.pressed) {
|
||||
return MACRO( D(LCTL), T(C), U(LCTL), T(RGHT), D(LCTL), T(V), U(LCTL), END );
|
||||
}
|
||||
break;
|
||||
switch (id)
|
||||
{
|
||||
case 0:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
SEND_STRING("The");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
SEND_STRING("Custom");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
SEND_STRING("Keyboard");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
return MACRO(D(LCTL), T(C), U(LCTL), T(RGHT), D(LCTL), T(V), U(LCTL), END);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
|
||||
void matrix_init_user(void) {
|
||||
|
||||
void matrix_init_user(void)
|
||||
{
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
void matrix_scan_user(void)
|
||||
{
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
void led_set_user(uint8_t usb_led) {
|
||||
|
||||
void led_set_user(uint8_t usb_led)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -13,7 +13,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/>.
|
||||
*/
|
||||
#include "kmac.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Helpful defines
|
||||
#define _______ KC_TRNS
|
||||
@@ -26,22 +26,20 @@
|
||||
#define _FL 1
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BL] = KEYMAP_WINKEYLESS(
|
||||
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_BRK, \
|
||||
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_BSPC, KC_INS, KC_HOME, KC_PGUP, \
|
||||
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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 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_RSFT, KC_UP, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
|
||||
),
|
||||
[_FL] = KEYMAP_WINKEYLESS(
|
||||
BL_STEP, M(0), M(1), M(2), M(3), M(4), M(5), M(6), M(7), M(8), M(9), M(10), M(11), _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||
),
|
||||
[_BL] = LAYOUT_WKL(
|
||||
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_BRK,
|
||||
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_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, 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_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
[_FL] = LAYOUT_WKL(
|
||||
BL_STEP, M(0), M(1), M(2), M(3), M(4), M(5), M(6), M(7), M(8), M(9), M(10), M(11), _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
@@ -51,47 +49,52 @@ const uint16_t PROGMEM fn_actions[] = {
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
// MACRODOWN only works in this function
|
||||
switch(id) {
|
||||
case 0:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("The");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("Custom");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("Keyboard");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (record->event.pressed) {
|
||||
return MACRO( D(LCTL), T(C), U(LCTL), T(RGHT), D(LCTL), T(V), U(LCTL), END );
|
||||
}
|
||||
break;
|
||||
switch (id)
|
||||
{
|
||||
case 0:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
SEND_STRING("The");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
SEND_STRING("Custom");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
SEND_STRING("Keyboard");
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
return MACRO(D(LCTL), T(C), U(LCTL), T(RGHT), D(LCTL), T(V), U(LCTL), END);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
|
||||
void matrix_init_user(void) {
|
||||
|
||||
void matrix_init_user(void)
|
||||
{
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
|
||||
void matrix_scan_user(void)
|
||||
{
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
void led_set_user(uint8_t usb_led) {
|
||||
|
||||
void led_set_user(uint8_t usb_led)
|
||||
{
|
||||
}
|
||||
|
||||
+28
-31
@@ -19,38 +19,35 @@
|
||||
#include "quantum.h"
|
||||
|
||||
// Keymap for the winkey version of the PCB.
|
||||
#define KEYMAP( \
|
||||
K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
|
||||
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4D, K4F, \
|
||||
K50, K51, K52, K55, K58, K5A, K5C, K5D, K5E, K5F, K5G \
|
||||
) { \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F G */ \
|
||||
/* 0 */ { K00, KC_NO, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \
|
||||
/* 1 */ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \
|
||||
/* 2 */ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \
|
||||
/* 3 */ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, KC_NO, KC_NO, KC_NO }, \
|
||||
/* 4 */ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, KC_NO, KC_NO, K4D, KC_NO, K4F, KC_NO }, \
|
||||
/* 5 */ { K50, K51, K52, KC_NO, KC_NO, K55, KC_NO, KC_NO, K58, KC_NO, K5A, KC_NO, K5C, K5D, K5E, K5F, K5G } \
|
||||
}
|
||||
#define LAYOUT( \
|
||||
K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
|
||||
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4D, K4F, \
|
||||
K50, K51, K52, K55, K58, K5A, K5C, K5D, K5E, K5F, K5G) \
|
||||
{ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F G */ \
|
||||
/* 0 */ {K00, KC_NO, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G}, \
|
||||
/* 1 */ {K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G}, \
|
||||
/* 2 */ {K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G}, \
|
||||
/* 3 */ {K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, KC_NO, KC_NO, KC_NO}, \
|
||||
/* 4 */ {K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, KC_NO, KC_NO, K4D, KC_NO, K4F, KC_NO}, \
|
||||
/* 5 */ { K50, K51, K52, KC_NO, KC_NO, K55, KC_NO, KC_NO, K58, KC_NO, K5A, KC_NO, K5C, K5D, K5E, K5F, K5G } \
|
||||
}
|
||||
|
||||
// Keymap for the winkeyless version of the PCB.
|
||||
#define KEYMAP_WINKEYLESS( \
|
||||
K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
|
||||
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4D, K4F, \
|
||||
K50, K51, K52, K55, K58, K5A, K5D, K5E, K5F, K5G \
|
||||
) KEYMAP( \
|
||||
K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
|
||||
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4D, K4F, \
|
||||
K50, K51, K52, K55, K58, K5A, KC_NO, K5D, K5E, K5F, K5G \
|
||||
)
|
||||
#define LAYOUT_WKL( \
|
||||
K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
|
||||
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4D, K4F, \
|
||||
K50, K51, K52, K55, K58, K5A, K5D, K5E, K5F, K5G) LAYOUT(K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
|
||||
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4D, K4F, \
|
||||
K50, K51, K52, K55, K58, K5A, KC_NO, K5D, K5E, K5F, K5G)
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
KMAC keyboard firmware
|
||||
======================
|
||||
# KMAC keyboard firmware
|
||||
|
||||
A Korean custom keyboard designed by Byungho Kim and the KBDMania community.
|
||||
|
||||
@@ -37,9 +36,9 @@ To define your own keymap, copy one of the [existing keymap](keymaps) folders an
|
||||
|
||||
To make it easy to define keymaps for the different versions of the PCB two macros are provided.
|
||||
|
||||
| PCB | Macro |
|
||||
| -------------- | --------------------- |
|
||||
| Winkey PCB | `KEYMAP()` |
|
||||
| Winkeyless PCB | `KEYMAP_WINKEYLESS()` |
|
||||
| PCB | Macro |
|
||||
| -------------- | -------------- |
|
||||
| Winkey PCB | `LAYOUT()` |
|
||||
| Winkeyless PCB | `LAYOUT_WKL()` |
|
||||
|
||||
To build the firmware with a custom keymap, run `make <keymap name>`
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"keyboard_name": "lightsaver_v3",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"bootloader": "",
|
||||
"width": 19,
|
||||
"height": 6,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1, "y":0}, {"label":"F2", "x":2, "y":0}, {"label":"F3", "x":3, "y":0}, {"label":"F4", "x":4, "y":0}, {"label":"F5", "x":5, "y":0}, {"label":"F6", "x":6, "y":0}, {"label":"F7", "x":7, "y":0}, {"label":"F8", "x":8, "y":0}, {"label":"F9", "x":9, "y":0}, {"label":"F10", "x":10, "y":0}, {"label":"F11", "x":11, "y":0}, {"label":"F12", "x":12, "y":0}, {"label":"PrtSc", "x":13, "y":0}, {"label":"Pause", "x":14, "y":0}, {"label":"Delete", "x":15, "y":0}, {"x":16, "y":0}, {"x":17, "y":0}, {"x":18, "y":0}, {"label":"~", "x":0, "y":1}, {"label":"!", "x":1, "y":1}, {"label":"@", "x":2, "y":1}, {"label":"#", "x":3, "y":1}, {"label":"$", "x":4, "y":1}, {"label":"%", "x":5, "y":1}, {"label":"^", "x":6, "y":1}, {"label":"&", "x":7, "y":1}, {"label":"*", "x":8, "y":1}, {"label":"(", "x":9, "y":1}, {"label":")", "x":10, "y":1}, {"label":"_", "x":11, "y":1}, {"label":"+", "x":12, "y":1}, {"label":"Bkspc", "x":13, "y":1}, {"label":"Bkspc", "x":14, "y":1}, {"label":"Num<br>Lock", "x":15, "y":1}, {"label":"/", "x":16, "y":1}, {"label":"*", "x":17, "y":1}, {"label":"-", "x":18, "y":1}, {"label":"Tab", "x":0, "y":2, "w":1.5}, {"label":"Q", "x":1.5, "y":2}, {"label":"W", "x":2.5, "y":2}, {"label":"E", "x":3.5, "y":2}, {"label":"R", "x":4.5, "y":2}, {"label":"T", "x":5.5, "y":2}, {"label":"Y", "x":6.5, "y":2}, {"label":"U", "x":7.5, "y":2}, {"label":"I", "x":8.5, "y":2}, {"label":"O", "x":9.5, "y":2}, {"label":"P", "x":10.5, "y":2}, {"label":"{", "x":11.5, "y":2}, {"label":"}", "x":12.5, "y":2}, {"label":"|", "x":13.5, "y":2, "w":1.5}, {"label":"7", "x":15, "y":2}, {"label":"8", "x":16, "y":2}, {"label":"9", "x":17, "y":2}, {"label":"+", "x":18, "y":2}, {"label":"Caps Lock", "x":0, "y":3, "w":1.75}, {"label":"A", "x":1.75, "y":3}, {"label":"S", "x":2.75, "y":3}, {"label":"D", "x":3.75, "y":3}, {"label":"F", "x":4.75, "y":3}, {"label":"G", "x":5.75, "y":3}, {"label":"H", "x":6.75, "y":3}, {"label":"J", "x":7.75, "y":3}, {"label":"K", "x":8.75, "y":3}, {"label":"L", "x":9.75, "y":3}, {"label":":", "x":10.75, "y":3}, {"label":"\"", "x":11.75, "y":3}, {"x":12.75, "y":3}, {"label":"Enter", "x":13.75, "y":3, "w":1.25}, {"label":"4", "x":15, "y":3}, {"label":"5", "x":16, "y":3}, {"label":"6", "x":17, "y":3}, {"label":"+", "x":18, "y":3}, {"label":"Shift", "x":0, "y":4, "w":1.25}, {"x":1.25, "y":4}, {"label":"Z", "x":2.25, "y":4}, {"label":"X", "x":3.25, "y":4}, {"label":"C", "x":4.25, "y":4}, {"label":"V", "x":5.25, "y":4}, {"label":"B", "x":6.25, "y":4}, {"label":"N", "x":7.25, "y":4}, {"label":"M", "x":8.25, "y":4}, {"label":"<", "x":9.25, "y":4}, {"label":">", "x":10.25, "y":4}, {"label":"?", "x":11.25, "y":4}, {"label":"Shift", "x":12.25, "y":4, "w":1.75}, {"label":"\u2191", "x":14, "y":4}, {"label":"1", "x":15, "y":4}, {"label":"2", "x":16, "y":4}, {"label":"3", "x":17, "y":4}, {"label":"Enter", "x":18, "y":4}, {"label":"Ctrl", "x":0, "y":5, "w":1.25}, {"label":"Win", "x":1.25, "y":5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5, "w":1.25}, {"x":3.75, "y":5, "w":6.25}, {"label":"Alt", "x":10, "y":5, "w":1.5}, {"label":"Fn", "x":11.5, "y":5, "w":1.5}, {"label":"\u2190", "x":13, "y":5}, {"label":"\u2193", "x":14, "y":5}, {"label":"\u2192", "x":15, "y":5}, {"x":16, "y":5}, {"x":17, "y":5}, {"label":"Enter", "x":18, "y":5}]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,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/>.
|
||||
*/
|
||||
#include "lightsaver.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define KC_F1GL TD(TD_F1_GAME)
|
||||
#define KC_CLFN TD(TD_CAPS_FN)
|
||||
@@ -25,7 +25,7 @@ enum custom_layers {
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[BASE] = KEYMAP(\
|
||||
[BASE] = LAYOUT(\
|
||||
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_NLCK, KC_INS, KC_HOME, KC_PGUP, KC_PSLS, \
|
||||
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_BSPC, KC_DEL, KC_END, KC_PGDN, KC_PAST, \
|
||||
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_P7, KC_P8, KC_P9, KC_PMNS, \
|
||||
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT), \
|
||||
|
||||
[FN] = KEYMAP(\
|
||||
[FN] = LAYOUT(\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS, KC_SLCK, RGB_TOG, RGB_MOD, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CAPS, BL_TOGG, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
|
||||
@@ -14,7 +14,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/>.
|
||||
*/
|
||||
#include "lightsaver.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define KC_F1GL TD(TD_F1_GAME)
|
||||
#define KC_CLFN TD(TD_CAPS_FN)
|
||||
@@ -65,7 +65,7 @@ enum macro_id {
|
||||
)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[BASE] = KEYMAP(\
|
||||
[BASE] = LAYOUT(\
|
||||
KC_ESC, KC_F1GL, 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_NLCK, KC_INS, KC_HOME, KC_PGUP, KC_PSLS, \
|
||||
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_BSPC, KC_DEL, KC_END, KC_PGDN, KC_PAST, \
|
||||
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_P7, KC_P8, KC_P9, KC_PMNS, \
|
||||
@@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, \
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT), \
|
||||
|
||||
[GAME] = KEYMAP(\
|
||||
[GAME] = LAYOUT(\
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LOCK, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
@@ -81,7 +81,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, KC_LGUI, KC_LALT, _______, KC_RALT, _______, _______, _______, _______, _______, _______ ), \
|
||||
|
||||
[FN] = KEYMAP(\
|
||||
[FN] = LAYOUT(\
|
||||
_______, M(SHRG), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS, KC_SLCK, RGB_TOG, RGB_MOD, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
#define NO KC_NO
|
||||
|
||||
#define KEYMAP( \
|
||||
#define LAYOUT( \
|
||||
K5A, K5B, K5C, K5D, K5E, K5F, K5G, K5H, K5I, K5J, K5K, K5L, K5M, K5N, K5O, K5P, K5Q, K5R, K5S, \
|
||||
K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H, K4I, K4J, K4K, K4L, K4M, K4O, K4P, K4Q, K4R, K4S, \
|
||||
K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, K3I, K3J, K3K, K3L, K3M, K3O, K3P, K3Q, K3R, K3S, \
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
#define STARTUP_SONG SONG(PREONIC_SOUND)
|
||||
// #define STARTUP_SONG SONG(NO_SOUND)
|
||||
|
||||
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
|
||||
SONG(COLEMAK_SOUND), \
|
||||
SONG(DVORAK_SOUND) \
|
||||
}
|
||||
#endif
|
||||
|
||||
#define MUSIC_MASK (keycode != KC_NO)
|
||||
|
||||
/*
|
||||
* MIDI options
|
||||
*/
|
||||
|
||||
/* Prevent use of disabled MIDI features in the keymap */
|
||||
//#define MIDI_ENABLE_STRICT 1
|
||||
|
||||
/* enable basic MIDI features:
|
||||
- MIDI notes can be sent when in Music mode is on
|
||||
*/
|
||||
|
||||
#define MIDI_BASIC
|
||||
|
||||
/* enable advanced MIDI features:
|
||||
- MIDI notes can be added to the keymap
|
||||
- Octave shift and transpose
|
||||
- Virtual sustain, portamento, and modulation wheel
|
||||
- etc.
|
||||
*/
|
||||
//#define MIDI_ADVANCED
|
||||
|
||||
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||
//#define MIDI_TONE_KEYCODE_OCTAVES 2
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,210 @@
|
||||
/* Copyright 2015-2017 Fig
|
||||
*
|
||||
* 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
|
||||
|
||||
enum preonic_layers {
|
||||
_DVORAK,
|
||||
_QWERTY,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST,
|
||||
_COMMAND
|
||||
};
|
||||
|
||||
enum preonic_keycodes {
|
||||
DVORAK = SAFE_RANGE,
|
||||
QWERTY,
|
||||
LOWER,
|
||||
RAISE,
|
||||
COMMAND
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Dvorak
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Tab | ' | , | . | P | Y | F | G | C | R | L | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Esc | A | O | E | U | I | D | H | T | N | S | / |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Cmd | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_DVORAK] = LAYOUT_preonic_grid( \
|
||||
KC_GRV, 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_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, \
|
||||
KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, \
|
||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT, \
|
||||
COMMAND, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
|
||||
),
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Esc | A | S | D | F | G | H | J | K | L | ; | ' |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Cmd | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_preonic_grid( \
|
||||
KC_GRV, 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_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_SLSH, KC_ENT, \
|
||||
COMMAND, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | ` | |CtrlS |CtrlY |CtrlZ | | | _ | + | { | } | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | |CtrlX |CtrlC |CtrlV | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Home | Down | Up | End |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_preonic_grid( \
|
||||
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_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, \
|
||||
KC_GRV, _______, LCTL(KC_S), LCTL(KC_Y), LCTL(KC_Z), _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
|
||||
_______, _______, LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDOWN, KC_PGUP, KC_END \
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | ` | | | | | | | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_preonic_grid( \
|
||||
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_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, \
|
||||
KC_GRV, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
|
||||
),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | |Reset |Debug | | | | | | | | | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | |MusMod|AudOn |AudOff|AGNorm|AGSwap|Qwerty|Dvorak| | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | |Voice-|Voice+|MusOn |MusOff|MidOn |MidOff| | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT_preonic_grid( \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, DVORAK, _______, _______, _______, \
|
||||
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||
),
|
||||
|
||||
/* Cmd
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_COMMAND] = LAYOUT_preonic_grid( \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_DVORAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_QWERTY);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case COMMAND:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_COMMAND);
|
||||
} else {
|
||||
layer_off(_COMMAND);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
};
|
||||
@@ -0,0 +1,9 @@
|
||||
# Fig-r Preonic layout.
|
||||
|
||||
Not designed!
|
||||
|
||||
Version 1:
|
||||
|
||||
Use Dvorak layout by default.
|
||||
|
||||
_COMMAND layout is to work with sxhkd.
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"keyboard_name": "m6-a",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 3,
|
||||
"height": 2,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "x": 0, "y": 0 },
|
||||
{ "x": 1, "y": 0 },
|
||||
{ "x": 2, "y": 0 },
|
||||
{ "x": 0, "y": 1 },
|
||||
{ "x": 1, "y": 1 },
|
||||
{ "x": 2, "y": 1 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,298 +1,324 @@
|
||||
#include "../../m6_a.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
KEYMAP(
|
||||
TO(1), KC_A, KC_B, KC_C, KC_D, KC_E),
|
||||
LAYOUT(
|
||||
TO(1), KC_A, KC_B, KC_C, KC_D, KC_E),
|
||||
|
||||
KEYMAP(
|
||||
TO(2), KC_F, KC_G, KC_H, KC_I, KC_J),
|
||||
LAYOUT(
|
||||
TO(2), KC_F, KC_G, KC_H, KC_I, KC_J),
|
||||
|
||||
KEYMAP(
|
||||
TO(3), KC_K, KC_L, KC_M, KC_N, KC_O),
|
||||
LAYOUT(
|
||||
TO(3), KC_K, KC_L, KC_M, KC_N, KC_O),
|
||||
|
||||
KEYMAP(
|
||||
TO(4), KC_P, KC_Q, KC_R, KC_S, KC_T),
|
||||
LAYOUT(
|
||||
TO(4), KC_P, KC_Q, KC_R, KC_S, KC_T),
|
||||
|
||||
KEYMAP(
|
||||
TO(5), KC_U, KC_V, KC_W, KC_X, KC_Y),
|
||||
LAYOUT(
|
||||
TO(5), KC_U, KC_V, KC_W, KC_X, KC_Y),
|
||||
|
||||
KEYMAP(
|
||||
TO(0), KC_Z, KC_1, KC_2, KC_3, KC_4)
|
||||
};
|
||||
LAYOUT(
|
||||
TO(0), KC_Z, KC_1, KC_2, KC_3, KC_4)};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
//keyevent_t event = record->event;
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
//keyevent_t event = record->event;
|
||||
|
||||
switch (id) {
|
||||
case 0:
|
||||
if (record->event.pressed) {
|
||||
return MACRO( T(T), T(G), T(L), T(H), T(F), T(ENT), END );
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (record->event.pressed) {
|
||||
return MACRO( T(T), T(G), T(G), T(ENT), END );
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (record->event.pressed) {
|
||||
return MACRO( D(NO), T(L), U(NO), END );
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (record->event.pressed) {
|
||||
return MACRO( D(LCTL), T(Z), U(LCTL), END );
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (record->event.pressed) {
|
||||
return MACRO( D(LCTL), D(LSFT), T(Z), U(LSFT), U(LCTL), END );
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (record->event.pressed) {
|
||||
return MACRO( D(LCTL), T(X), U(LCTL), END );
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if (record->event.pressed) {
|
||||
return MACRO( D(LCTL), T(C), U(LCTL), END );
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if (record->event.pressed) {
|
||||
return MACRO( D(LCTL), T(V), U(LCTL), END );
|
||||
}
|
||||
break;
|
||||
}
|
||||
return MACRO_NONE;
|
||||
switch (id)
|
||||
{
|
||||
case 0:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
return MACRO(T(T), T(G), T(L), T(H), T(F), T(ENT), END);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
return MACRO(T(T), T(G), T(G), T(ENT), END);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
return MACRO(D(NO), T(L), U(NO), END);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
return MACRO(D(LCTL), T(Z), U(LCTL), END);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
return MACRO(D(LCTL), D(LSFT), T(Z), U(LSFT), U(LCTL), END);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
return MACRO(D(LCTL), T(X), U(LCTL), END);
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
return MACRO(D(LCTL), T(C), U(LCTL), END);
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if (record->event.pressed)
|
||||
{
|
||||
return MACRO(D(LCTL), T(V), U(LCTL), END);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return MACRO_NONE;
|
||||
}
|
||||
|
||||
// M6-A LEDs are connected to D6, B6, F5, B4, C7, F7
|
||||
// This is 1-based because I copied it from Knops code.
|
||||
void set_switch_led(int ledId, bool state) {
|
||||
if(state) {
|
||||
switch(ledId) {
|
||||
case 1:
|
||||
PORTD |= (1<<6);
|
||||
break;
|
||||
case 2:
|
||||
PORTB |= (1<<6);
|
||||
break;
|
||||
case 3:
|
||||
PORTF |= (1<<5);
|
||||
break;
|
||||
case 4:
|
||||
PORTB |= (1<<4);
|
||||
break;
|
||||
case 5:
|
||||
PORTC |= (1<<7);
|
||||
break;
|
||||
case 6:
|
||||
PORTF |= (1<<7);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch(ledId) {
|
||||
case 1:
|
||||
PORTD &= ~(1<<6);
|
||||
break;
|
||||
case 2:
|
||||
PORTB &= ~(1<<6);
|
||||
break;
|
||||
case 3:
|
||||
PORTF &= ~(1<<5);
|
||||
break;
|
||||
case 4:
|
||||
PORTB &= ~(1<<4);
|
||||
break;
|
||||
case 5:
|
||||
PORTC &= ~(1<<7);
|
||||
break;
|
||||
case 6:
|
||||
PORTF &= ~(1<<7);
|
||||
break;
|
||||
}
|
||||
}
|
||||
void set_switch_led(int ledId, bool state)
|
||||
{
|
||||
if (state)
|
||||
{
|
||||
switch (ledId)
|
||||
{
|
||||
case 1:
|
||||
PORTD |= (1 << 6);
|
||||
break;
|
||||
case 2:
|
||||
PORTB |= (1 << 6);
|
||||
break;
|
||||
case 3:
|
||||
PORTF |= (1 << 5);
|
||||
break;
|
||||
case 4:
|
||||
PORTB |= (1 << 4);
|
||||
break;
|
||||
case 5:
|
||||
PORTC |= (1 << 7);
|
||||
break;
|
||||
case 6:
|
||||
PORTF |= (1 << 7);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (ledId)
|
||||
{
|
||||
case 1:
|
||||
PORTD &= ~(1 << 6);
|
||||
break;
|
||||
case 2:
|
||||
PORTB &= ~(1 << 6);
|
||||
break;
|
||||
case 3:
|
||||
PORTF &= ~(1 << 5);
|
||||
break;
|
||||
case 4:
|
||||
PORTB &= ~(1 << 4);
|
||||
break;
|
||||
case 5:
|
||||
PORTC &= ~(1 << 7);
|
||||
break;
|
||||
case 6:
|
||||
PORTF &= ~(1 << 7);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void set_layer_led(int layerId) {
|
||||
// UNUSED
|
||||
void set_layer_led(int layerId)
|
||||
{
|
||||
// UNUSED
|
||||
}
|
||||
|
||||
void led_set_layer(int layer);
|
||||
|
||||
void matrix_init_user(void) {
|
||||
led_init_ports();
|
||||
led_set_layer(0);
|
||||
void matrix_init_user(void)
|
||||
{
|
||||
led_init_ports();
|
||||
led_set_layer(0);
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
void matrix_scan_user(void)
|
||||
{
|
||||
}
|
||||
|
||||
// M6-A LEDs are connected to D6, B6, F5, B4, C7, F7
|
||||
void led_init_ports() {
|
||||
// Switch #1
|
||||
DDRD |= (1<<6);
|
||||
PORTD &= ~(1<<6);
|
||||
|
||||
// Switch #2
|
||||
DDRB |= (1<<6);
|
||||
PORTB &= ~(1<<6);
|
||||
|
||||
// Switch #3
|
||||
DDRF |= (1<<5);
|
||||
PORTF &= ~(1<<5);
|
||||
|
||||
// Switch #4
|
||||
DDRB |= (1<<4);
|
||||
PORTB &= ~(1<<4);
|
||||
void led_init_ports()
|
||||
{
|
||||
// Switch #1
|
||||
DDRD |= (1 << 6);
|
||||
PORTD &= ~(1 << 6);
|
||||
|
||||
// Switch #5
|
||||
DDRC |= (1<<7);
|
||||
PORTC &= ~(1<<7);
|
||||
|
||||
// Switch #6
|
||||
DDRF |= (1<<7);
|
||||
PORTF &= ~(1<<7);
|
||||
// Switch #2
|
||||
DDRB |= (1 << 6);
|
||||
PORTB &= ~(1 << 6);
|
||||
|
||||
// Switch #3
|
||||
DDRF |= (1 << 5);
|
||||
PORTF &= ~(1 << 5);
|
||||
|
||||
// Switch #4
|
||||
DDRB |= (1 << 4);
|
||||
PORTB &= ~(1 << 4);
|
||||
|
||||
// Switch #5
|
||||
DDRC |= (1 << 7);
|
||||
PORTC &= ~(1 << 7);
|
||||
|
||||
// Switch #6
|
||||
DDRF |= (1 << 7);
|
||||
PORTF &= ~(1 << 7);
|
||||
}
|
||||
|
||||
void led_set_user(uint8_t usb_led) {
|
||||
void led_set_user(uint8_t usb_led)
|
||||
{
|
||||
|
||||
if (usb_led & (1 << USB_LED_NUM_LOCK)) {
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
if (usb_led & (1 << USB_LED_NUM_LOCK))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
|
||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
||||
if (usb_led & (1 << USB_LED_CAPS_LOCK))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
|
||||
} else {
|
||||
if (usb_led & (1 << USB_LED_SCROLL_LOCK))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
if (usb_led & (1 << USB_LED_COMPOSE)) {
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
if (usb_led & (1 << USB_LED_KANA)) {
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
if (usb_led & (1 << USB_LED_COMPOSE))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
|
||||
if (usb_led & (1 << USB_LED_KANA))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
void led_set_layer(int layer) {
|
||||
switch(layer) {
|
||||
case 0:
|
||||
set_switch_led(1, true);
|
||||
set_switch_led(2, false);
|
||||
set_switch_led(3, false);
|
||||
set_switch_led(4, false);
|
||||
set_switch_led(5, false);
|
||||
set_switch_led(6, false);
|
||||
break;
|
||||
case 1:
|
||||
set_switch_led(1, false);
|
||||
set_switch_led(2, true);
|
||||
set_switch_led(3, false);
|
||||
set_switch_led(4, false);
|
||||
set_switch_led(5, false);
|
||||
set_switch_led(6, false);
|
||||
break;
|
||||
case 2:
|
||||
set_switch_led(1, false);
|
||||
set_switch_led(2, false);
|
||||
set_switch_led(3, true);
|
||||
set_switch_led(4, false);
|
||||
set_switch_led(5, false);
|
||||
set_switch_led(6, false);
|
||||
break;
|
||||
case 3:
|
||||
set_switch_led(1, false);
|
||||
set_switch_led(2, false);
|
||||
set_switch_led(3, false);
|
||||
set_switch_led(4, true);
|
||||
set_switch_led(5, false);
|
||||
set_switch_led(6, false);
|
||||
break;
|
||||
case 4:
|
||||
set_switch_led(1, false);
|
||||
set_switch_led(2, false);
|
||||
set_switch_led(3, false);
|
||||
set_switch_led(4, false);
|
||||
set_switch_led(5, true);
|
||||
set_switch_led(6, false);
|
||||
break;
|
||||
case 5:
|
||||
set_switch_led(1, false);
|
||||
set_switch_led(2, false);
|
||||
set_switch_led(3, false);
|
||||
set_switch_led(4, false);
|
||||
set_switch_led(5, false);
|
||||
set_switch_led(6, true);
|
||||
break;
|
||||
default:
|
||||
set_switch_led(1, true);
|
||||
set_switch_led(2, true);
|
||||
set_switch_led(3, true);
|
||||
set_switch_led(4, true);
|
||||
set_switch_led(5, true);
|
||||
set_switch_led(6, true);
|
||||
break;
|
||||
}
|
||||
void led_set_layer(int layer)
|
||||
{
|
||||
switch (layer)
|
||||
{
|
||||
case 0:
|
||||
set_switch_led(1, true);
|
||||
set_switch_led(2, false);
|
||||
set_switch_led(3, false);
|
||||
set_switch_led(4, false);
|
||||
set_switch_led(5, false);
|
||||
set_switch_led(6, false);
|
||||
break;
|
||||
case 1:
|
||||
set_switch_led(1, false);
|
||||
set_switch_led(2, true);
|
||||
set_switch_led(3, false);
|
||||
set_switch_led(4, false);
|
||||
set_switch_led(5, false);
|
||||
set_switch_led(6, false);
|
||||
break;
|
||||
case 2:
|
||||
set_switch_led(1, false);
|
||||
set_switch_led(2, false);
|
||||
set_switch_led(3, true);
|
||||
set_switch_led(4, false);
|
||||
set_switch_led(5, false);
|
||||
set_switch_led(6, false);
|
||||
break;
|
||||
case 3:
|
||||
set_switch_led(1, false);
|
||||
set_switch_led(2, false);
|
||||
set_switch_led(3, false);
|
||||
set_switch_led(4, true);
|
||||
set_switch_led(5, false);
|
||||
set_switch_led(6, false);
|
||||
break;
|
||||
case 4:
|
||||
set_switch_led(1, false);
|
||||
set_switch_led(2, false);
|
||||
set_switch_led(3, false);
|
||||
set_switch_led(4, false);
|
||||
set_switch_led(5, true);
|
||||
set_switch_led(6, false);
|
||||
break;
|
||||
case 5:
|
||||
set_switch_led(1, false);
|
||||
set_switch_led(2, false);
|
||||
set_switch_led(3, false);
|
||||
set_switch_led(4, false);
|
||||
set_switch_led(5, false);
|
||||
set_switch_led(6, true);
|
||||
break;
|
||||
default:
|
||||
set_switch_led(1, true);
|
||||
set_switch_led(2, true);
|
||||
set_switch_led(3, true);
|
||||
set_switch_led(4, true);
|
||||
set_switch_led(5, true);
|
||||
set_switch_led(6, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
bool process_record_user (uint16_t keycode, keyrecord_t *record) {
|
||||
switch ( keycode )
|
||||
{
|
||||
case TO( 0 ):
|
||||
if ( record->event.pressed )
|
||||
{
|
||||
led_set_layer( 0 );
|
||||
}
|
||||
break;
|
||||
case TO( 1 ):
|
||||
if ( record->event.pressed )
|
||||
{
|
||||
led_set_layer( 1 );
|
||||
}
|
||||
break;
|
||||
case TO( 2 ):
|
||||
if ( record->event.pressed )
|
||||
{
|
||||
led_set_layer( 2 );
|
||||
}
|
||||
break;
|
||||
case TO( 3 ):
|
||||
if ( record->event.pressed )
|
||||
{
|
||||
led_set_layer( 3 );
|
||||
}
|
||||
break;
|
||||
case TO( 4 ):
|
||||
if ( record->event.pressed )
|
||||
{
|
||||
led_set_layer( 4 );
|
||||
}
|
||||
break;
|
||||
case TO( 5 ):
|
||||
if ( record->event.pressed )
|
||||
{
|
||||
led_set_layer( 5 );
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
switch (keycode)
|
||||
{
|
||||
case TO(0):
|
||||
if (record->event.pressed)
|
||||
{
|
||||
led_set_layer(0);
|
||||
}
|
||||
break;
|
||||
case TO(1):
|
||||
if (record->event.pressed)
|
||||
{
|
||||
led_set_layer(1);
|
||||
}
|
||||
break;
|
||||
case TO(2):
|
||||
if (record->event.pressed)
|
||||
{
|
||||
led_set_layer(2);
|
||||
}
|
||||
break;
|
||||
case TO(3):
|
||||
if (record->event.pressed)
|
||||
{
|
||||
led_set_layer(3);
|
||||
}
|
||||
break;
|
||||
case TO(4):
|
||||
if (record->event.pressed)
|
||||
{
|
||||
led_set_layer(4);
|
||||
}
|
||||
break;
|
||||
case TO(5):
|
||||
if (record->event.pressed)
|
||||
{
|
||||
led_set_layer(5);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1,92 +1,100 @@
|
||||
#include "../../m6_a.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
/*KNOPS_MISC*/
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/*KNOPS_KEYMAP*/
|
||||
/*KNOPS_LAYOUT*/
|
||||
|
||||
};
|
||||
|
||||
void set_led_state(int ledId, bool state) {
|
||||
if(state) {
|
||||
switch(ledId) {
|
||||
case 0:
|
||||
PORTD |= (1<<6);
|
||||
break;
|
||||
case 1:
|
||||
PORTB |= (1<<6);
|
||||
break;
|
||||
case 2:
|
||||
PORTF |= (1<<5);
|
||||
break;
|
||||
case 3:
|
||||
PORTB |= (1<<4);
|
||||
break;
|
||||
case 4:
|
||||
PORTC |= (1<<7);
|
||||
break;
|
||||
case 5:
|
||||
PORTF |= (1<<7);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch(ledId) {
|
||||
case 0:
|
||||
PORTD &= ~(1<<6);
|
||||
break;
|
||||
case 1:
|
||||
PORTB &= ~(1<<6);
|
||||
break;
|
||||
case 2:
|
||||
PORTF &= ~(1<<5);
|
||||
break;
|
||||
case 3:
|
||||
PORTB &= ~(1<<4);
|
||||
break;
|
||||
case 4:
|
||||
PORTC &= ~(1<<7);
|
||||
break;
|
||||
case 5:
|
||||
PORTF &= ~(1<<7);
|
||||
break;
|
||||
}
|
||||
}
|
||||
void set_led_state(int ledId, bool state)
|
||||
{
|
||||
if (state)
|
||||
{
|
||||
switch (ledId)
|
||||
{
|
||||
case 0:
|
||||
PORTD |= (1 << 6);
|
||||
break;
|
||||
case 1:
|
||||
PORTB |= (1 << 6);
|
||||
break;
|
||||
case 2:
|
||||
PORTF |= (1 << 5);
|
||||
break;
|
||||
case 3:
|
||||
PORTB |= (1 << 4);
|
||||
break;
|
||||
case 4:
|
||||
PORTC |= (1 << 7);
|
||||
break;
|
||||
case 5:
|
||||
PORTF |= (1 << 7);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (ledId)
|
||||
{
|
||||
case 0:
|
||||
PORTD &= ~(1 << 6);
|
||||
break;
|
||||
case 1:
|
||||
PORTB &= ~(1 << 6);
|
||||
break;
|
||||
case 2:
|
||||
PORTF &= ~(1 << 5);
|
||||
break;
|
||||
case 3:
|
||||
PORTB &= ~(1 << 4);
|
||||
break;
|
||||
case 4:
|
||||
PORTC &= ~(1 << 7);
|
||||
break;
|
||||
case 5:
|
||||
PORTF &= ~(1 << 7);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void led_init_ports() {
|
||||
// Switch #1
|
||||
DDRD |= (1<<6);
|
||||
PORTD &= ~(1<<6);
|
||||
|
||||
// Switch #2
|
||||
DDRB |= (1<<6);
|
||||
PORTB &= ~(1<<6);
|
||||
|
||||
// Switch #3
|
||||
DDRF |= (1<<5);
|
||||
PORTF &= ~(1<<5);
|
||||
|
||||
// Switch #4
|
||||
DDRB |= (1<<4);
|
||||
PORTB &= ~(1<<4);
|
||||
void led_init_ports()
|
||||
{
|
||||
// Switch #1
|
||||
DDRD |= (1 << 6);
|
||||
PORTD &= ~(1 << 6);
|
||||
|
||||
// Switch #5
|
||||
DDRC |= (1<<7);
|
||||
PORTC &= ~(1<<7);
|
||||
|
||||
// Switch #6
|
||||
DDRF |= (1<<7);
|
||||
PORTF &= ~(1<<7);
|
||||
// Switch #2
|
||||
DDRB |= (1 << 6);
|
||||
PORTB &= ~(1 << 6);
|
||||
|
||||
// Switch #3
|
||||
DDRF |= (1 << 5);
|
||||
PORTF &= ~(1 << 5);
|
||||
|
||||
// Switch #4
|
||||
DDRB |= (1 << 4);
|
||||
PORTB &= ~(1 << 4);
|
||||
|
||||
// Switch #5
|
||||
DDRC |= (1 << 7);
|
||||
PORTC &= ~(1 << 7);
|
||||
|
||||
// Switch #6
|
||||
DDRF |= (1 << 7);
|
||||
PORTF &= ~(1 << 7);
|
||||
}
|
||||
|
||||
void led_set_layer(int layer) {
|
||||
void led_set_layer(int layer)
|
||||
{
|
||||
|
||||
/*KNOPS_SIMPLELED_STATES*/
|
||||
|
||||
}
|
||||
|
||||
void matrix_init_user(void) {
|
||||
void matrix_init_user(void)
|
||||
{
|
||||
led_init_ports();
|
||||
|
||||
led_set_layer(0);
|
||||
@@ -94,27 +102,28 @@ void matrix_init_user(void) {
|
||||
/*KNOPS_INIT*/
|
||||
}
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
//keyevent_t event = record->event;
|
||||
|
||||
/*KNOPS_MACRO*/
|
||||
return NULL;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
void matrix_scan_user(void)
|
||||
{
|
||||
/*KNOPS_SCAN*/
|
||||
}
|
||||
|
||||
void led_set_user(uint8_t usb_led) {
|
||||
void led_set_user(uint8_t usb_led)
|
||||
{
|
||||
|
||||
/*KNOPS_FUNCTIONALLED_STATES*/
|
||||
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
|
||||
/*KNOPS_PROCESS_STATE*/
|
||||
return NULL;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -6,12 +6,14 @@ Keymap was from my own port for the M6-A before official support was added, thus
|
||||
|
||||
Top-right button acts as a "toggle between layers" button. Layer 0 -> Layer 1 -> Layer 2 -> Layer 0 -> ...
|
||||
|
||||
- Layer 0: Git and Discord shortcuts
|
||||
- Layer 1: Media playback and volume controls
|
||||
- Layer 2: Osu! gamepad layer
|
||||
* Layer 0: Git and Discord shortcuts
|
||||
* Layer 1: Media playback and volume controls
|
||||
* Layer 2: Osu! gamepad layer
|
||||
|
||||
## Helpful alternative keymaps (WIP)
|
||||
|
||||
### Arrow cluster
|
||||
|
||||
Use [karabiner-elements](https://github.com/tekezo/Karabiner-Elements) on macOS so that the state of the modifiers (shift, caps lock) are synchronised between keyboards (for shift + arrow key text selection, for example). It's also a handy tool for customising keyboard behaviour on a Mac.
|
||||
|
||||
On Windows/Linux modifier state should be shared between all keyboards by default.
|
||||
@@ -19,7 +21,7 @@ On Windows/Linux modifier state should be shared between all keyboards by defaul
|
||||
Installation: install [homebrew](https://brew.sh) and run `brew install Caskroom/cask/karabiner-elements`.
|
||||
|
||||
```C
|
||||
KEYMAP(
|
||||
LAYOUT(
|
||||
KC_ESC, KC_UP, TO(_LAYER0),
|
||||
KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "../../m6_a.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
#include "eeconfig.h"
|
||||
|
||||
@@ -9,64 +9,66 @@ extern keymap_config_t keymap_config;
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
|
||||
enum layers {
|
||||
_LAYER0,
|
||||
_LAYER1,
|
||||
_LAYER2
|
||||
enum layers
|
||||
{
|
||||
_LAYER0,
|
||||
_LAYER1,
|
||||
_LAYER2
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
GIT_ADD = SAFE_RANGE,
|
||||
GIT_COMMIT,
|
||||
GIT_PUSH,
|
||||
MUTE,
|
||||
DEAFEN
|
||||
enum custom_keycodes
|
||||
{
|
||||
GIT_ADD = SAFE_RANGE,
|
||||
GIT_COMMIT,
|
||||
GIT_PUSH,
|
||||
MUTE,
|
||||
DEAFEN
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
switch(keycode) {
|
||||
case GIT_ADD:
|
||||
SEND_STRING("git add ."SS_TAP(X_ENTER));
|
||||
break;
|
||||
case GIT_COMMIT:
|
||||
SEND_STRING("git commit -m "SS_DOWN(X_LSHIFT)SS_TAP(X_QUOTE)SS_UP(X_LSHIFT));
|
||||
break;
|
||||
case GIT_PUSH:
|
||||
SEND_STRING("git push"SS_TAP(X_ENTER));
|
||||
break;
|
||||
case MUTE:
|
||||
SEND_STRING(SS_LGUI(SS_LSFT("M")));
|
||||
break;
|
||||
case DEAFEN:
|
||||
SEND_STRING(SS_LGUI(SS_LSFT("D")));
|
||||
break;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
if (record->event.pressed)
|
||||
{
|
||||
switch (keycode)
|
||||
{
|
||||
case GIT_ADD:
|
||||
SEND_STRING("git add ." SS_TAP(X_ENTER));
|
||||
break;
|
||||
case GIT_COMMIT:
|
||||
SEND_STRING("git commit -m " SS_DOWN(X_LSHIFT) SS_TAP(X_QUOTE) SS_UP(X_LSHIFT));
|
||||
break;
|
||||
case GIT_PUSH:
|
||||
SEND_STRING("git push" SS_TAP(X_ENTER));
|
||||
break;
|
||||
case MUTE:
|
||||
SEND_STRING(SS_LGUI(SS_LSFT("M")));
|
||||
break;
|
||||
case DEAFEN:
|
||||
SEND_STRING(SS_LGUI(SS_LSFT("D")));
|
||||
break;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
#define _______ KC_TRNS
|
||||
#define XXXXXXX KC_NO
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_LAYER0] = KEYMAP(
|
||||
MUTE, DEAFEN, TO(_LAYER1),
|
||||
GIT_ADD, GIT_COMMIT, GIT_PUSH
|
||||
),
|
||||
[_LAYER1] = KEYMAP(
|
||||
KC_VOLD, KC_VOLU, TO(_LAYER2),
|
||||
KC_MRWD, KC_MPLY, KC_MNXT
|
||||
),
|
||||
[_LAYER2] = KEYMAP(
|
||||
KC_ESC, KC_UP, TO(_LAYER0),
|
||||
KC_Z, KC_X, KC_SPACE
|
||||
)
|
||||
};
|
||||
[_LAYER0] = LAYOUT(
|
||||
MUTE, DEAFEN, TO(_LAYER1),
|
||||
GIT_ADD, GIT_COMMIT, GIT_PUSH),
|
||||
[_LAYER1] = LAYOUT(
|
||||
KC_VOLD, KC_VOLU, TO(_LAYER2),
|
||||
KC_MRWD, KC_MPLY, KC_MNXT),
|
||||
[_LAYER2] = LAYOUT(
|
||||
KC_ESC, KC_UP, TO(_LAYER0),
|
||||
KC_Z, KC_X, KC_SPACE)};
|
||||
|
||||
void matrix_init_user(void) {
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
void matrix_init_user(void)
|
||||
{
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
backlight_level(0);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
#include "../../m6_a.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Define Layers
|
||||
#define _BASE 0
|
||||
#define _FNX 1
|
||||
#define _FNX 1
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// Base Layer
|
||||
[_BASE] = KEYMAP(
|
||||
TO(1), KC_UP, KC_PGDN,
|
||||
KC_LEFT,KC_DOWN,KC_RGHT),
|
||||
// Base Layer
|
||||
[_BASE] = LAYOUT(
|
||||
TO(1), KC_UP, KC_PGDN,
|
||||
KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
// Fn Layer
|
||||
[_FNX] = KEYMAP(
|
||||
TO(0),KC_VOLU,KC_MPLY,
|
||||
KC_MRWD,KC_VOLD,KC_MFFD)
|
||||
};
|
||||
// Fn Layer
|
||||
[_FNX] = LAYOUT(
|
||||
TO(0), KC_VOLU, KC_MPLY,
|
||||
KC_MRWD, KC_VOLD, KC_MFFD)};
|
||||
@@ -21,9 +21,9 @@
|
||||
// This a shortcut to help you visually see your layout.
|
||||
// The first section contains all of the arguments
|
||||
// The second converts the arguments into a two-dimensional array
|
||||
#define KEYMAP( \
|
||||
K00, K01, K02, K03, K04, K05 \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05 }, \
|
||||
}
|
||||
#define LAYOUT( \
|
||||
K00, K01, K02, K03, K04, K05) \
|
||||
{ \
|
||||
{K00, K01, K02, K03, K04, K05}, \
|
||||
}
|
||||
#endif // RAMA_M6_A
|
||||
|
||||
@@ -0,0 +1,150 @@
|
||||
#include "whitefox.h"
|
||||
|
||||
enum whitefox_layers {
|
||||
_QWERTY,
|
||||
_WORKMAN,
|
||||
_COLEMAK,
|
||||
_DVORAK,
|
||||
_FUNC,
|
||||
};
|
||||
|
||||
enum whitefox_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
WORKMAN,
|
||||
COLEMAK,
|
||||
DVORAK,
|
||||
FUNC,
|
||||
};
|
||||
|
||||
const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* QWERTY (Default Layer)
|
||||
* ,---------------------------------------------------------------.
|
||||
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| `|Prt|
|
||||
* |---------------------------------------------------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|Backs|Del|
|
||||
* |---------------------------------------------------------------|
|
||||
* |Fn/CL | A| S| D| F| G| H| J| K| L| ;| '|Enter |PgU|
|
||||
* |---------------------------------------------------------------|
|
||||
* |Shif| | Z| X| C| V| B| N| M| ,| .| /|Shift |Up |PgD|
|
||||
* |---------------------------------------------------------------|
|
||||
* |Ctrl|Alt |Gui | Space |Gui |Alt |Ctrl| |Lef|Dow|Rig|
|
||||
* `---------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = KEYMAP( \
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSLS,KC_GRV, KC_PSCR, \
|
||||
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_BSPC, KC_DEL, \
|
||||
LT(_FUNC,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_PGUP,\
|
||||
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_RSFT, KC_UP, KC_PGDN,\
|
||||
KC_LCTL, KC_LALT,KC_LGUI, KC_SPC, KC_RGUI,KC_RALT,KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT \
|
||||
),
|
||||
/* Workman
|
||||
* ,---------------------------------------------------------------.
|
||||
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| `|Prt|
|
||||
* |---------------------------------------------------------------|
|
||||
* |Tab | Q| D| R| W| B| J| F| U| P| ;| [| ]|Backs|Del|
|
||||
* |---------------------------------------------------------------|
|
||||
* |Fn/CL | A| S| H| T| G| Y| N| E| O| I| '|Enter |PgU|
|
||||
* |---------------------------------------------------------------|
|
||||
* |Shif| | Z| X| M| C| V| K| L| ,| .| /|Shift |Up |PgD|
|
||||
* |---------------------------------------------------------------|
|
||||
* |Ctrl|Alt |Gui | Space |Gui |Alt |Ctrl| |Lef|Dow|Rig|
|
||||
* `---------------------------------------------------------------'
|
||||
*/
|
||||
[_WORKMAN] = KEYMAP( \
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSLS,KC_GRV, KC_PSCR, \
|
||||
KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN,KC_LBRC,KC_RBRC,KC_BSPC, KC_DEL, \
|
||||
LT(_FUNC,KC_CAPS),KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT,KC_NUHS,KC_ENT, KC_PGUP,\
|
||||
KC_LSFT, KC_NUBS,KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT, KC_UP, KC_PGDN,\
|
||||
KC_LCTL, KC_LALT,KC_LGUI, KC_SPC, KC_RGUI,KC_RALT,KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT \
|
||||
),
|
||||
/* Dvorak
|
||||
* ,---------------------------------------------------------------.
|
||||
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| [| ]| `| \|Prt|
|
||||
* |---------------------------------------------------------------|
|
||||
* |Tab | '| ,| .| P| Y| F| G| C| R| L| /| =|Backs|Del|
|
||||
* |---------------------------------------------------------------|
|
||||
* |Fn/CL | A| O| E| U| I| D| H| T| N| S| -|Enter |PgU|
|
||||
* |---------------------------------------------------------------|
|
||||
* |Shif| | ;| Q| J| K| X| B| M| W| V| Z|Shift |Up |PgD|
|
||||
* |---------------------------------------------------------------|
|
||||
* |Ctrl|Alt |Gui | Space |Gui |Alt |Ctrl| |Lef|Dow|Rig|
|
||||
* `---------------------------------------------------------------'
|
||||
*/
|
||||
[_DVORAK] = KEYMAP( \
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSLS,KC_GRV, KC_PSCR, \
|
||||
KC_TAB, KC_QUOT,KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,KC_EQL, KC_BSPC, KC_DEL, \
|
||||
LT(_FUNC,KC_CAPS),KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,KC_NUHS,KC_ENT, KC_PGUP,\
|
||||
KC_LSFT, KC_NUBS,KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z,KC_RSFT, KC_UP, KC_PGDN,\
|
||||
KC_LCTL, KC_LALT,KC_LGUI, KC_SPC, KC_RGUI,KC_RALT,KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT \
|
||||
),
|
||||
/* Colemak
|
||||
* ,---------------------------------------------------------------.
|
||||
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| +| `| \|Prt|
|
||||
* |---------------------------------------------------------------|
|
||||
* |Tab | Q| W| F| P| G| J| L| U| Y| ;| [| ]|Backs|Del|
|
||||
* |---------------------------------------------------------------|
|
||||
* |Fn/CL | A| R| S| T| D| H| N| E| I| O| '|Enter |PgU|
|
||||
* |---------------------------------------------------------------|
|
||||
* |Shif| | Z| X| C| V| B| K| M| ,| .| /|Shift |Up |PgD|
|
||||
* |---------------------------------------------------------------|
|
||||
* |Ctrl|Alt |Gui | Space |Gui |Alt |Ctrl| |Lef|Dow|Rig|
|
||||
* `---------------------------------------------------------------'
|
||||
*/
|
||||
[_COLEMAK] = KEYMAP( \
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSLS,KC_GRV, KC_PSCR, \
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,KC_LBRC,KC_RBRC,KC_BSPC, KC_DEL, \
|
||||
LT(_FUNC,KC_CAPS),KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,KC_NUHS,KC_ENT, KC_PGUP,\
|
||||
KC_LSFT, KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT, KC_UP, KC_PGDN,\
|
||||
KC_LCTL, KC_LALT,KC_LGUI, KC_SPC, KC_RGUI,KC_RALT,KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT \
|
||||
),
|
||||
/* Function
|
||||
* ,---------------------------------------------------------------.
|
||||
* | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| | | |
|
||||
* |---------------------------------------------------------------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |---------------------------------------------------------------|
|
||||
* | | | | | | | | | | | | | | |
|
||||
* |---------------------------------------------------------------|
|
||||
* | | | | | | | | | | | | | | | |
|
||||
* |---------------------------------------------------------------|
|
||||
* | | | | | | | | | | | |
|
||||
* `---------------------------------------------------------------'
|
||||
*/
|
||||
[_FUNC] = KEYMAP( \
|
||||
RESET, 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_WH_D,KC_BTN2,KC_MS_U,KC_BTN1,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,\
|
||||
_______,KC_WH_U,KC_MS_L,KC_MS_D,KC_MS_R,AG_NORM,AG_SWAP,QWERTY, WORKMAN,DVORAK, COLEMAK,_______,_______,_______, _______,\
|
||||
_______,_______,KC_WH_L,KC_BTN3,KC_WH_R,_______,_______,_______,_______,_______,_______,_______,_______, KC_VOLU,_______,\
|
||||
_______,_______,_______, KC_MPLY, _______,_______,_______, KC_MPRV,KC_VOLD,KC_MNXT \
|
||||
),
|
||||
};
|
||||
|
||||
// const uint16_t fn_actions[] = {
|
||||
// [0] = ACTION_LAYER_MOMENTARY(1),
|
||||
// };
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_QWERTY);
|
||||
}
|
||||
return false;
|
||||
case WORKMAN:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_WORKMAN);
|
||||
}
|
||||
return false;
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_DVORAK);
|
||||
}
|
||||
return false;
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_COLEMAK);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
# DudeOfAwesome's WhiteFox layout
|
||||
|
||||

|
||||
|
||||
## Features
|
||||
|
||||
- Base Layers
|
||||
- QWERTY
|
||||
- Workman
|
||||
- Dvorak
|
||||
- Colemak
|
||||
- Mouse Keys
|
||||
|
||||
## Building and flashing
|
||||
|
||||
1. Put your board in DFU mode with either the button on the bottom, or with a software key in your current firmware
|
||||
1. Flash:
|
||||
```bash
|
||||
$ make whitefox:dudeofawesome:dfu-util
|
||||
```
|
||||
Reference in New Issue
Block a user