forked from mirror/qmk_firmware
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4b5dcda126 | ||
|
|
c531dfb6a7 | ||
|
|
4ac48a61a6 |
6
keyboards/chocopad/keymaps/khord/config.h
Normal file
6
keyboards/chocopad/keymaps/khord/config.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include "../../config.h"
|
||||
|
||||
#endif
|
||||
104
keyboards/chocopad/keymaps/khord/keymap.c
Normal file
104
keyboards/chocopad/keymaps/khord/keymap.c
Normal file
@@ -0,0 +1,104 @@
|
||||
#include "chocopad.h"
|
||||
|
||||
#define _BASE 0
|
||||
#define _FN1 1
|
||||
#define _FN2 2
|
||||
|
||||
// Fillers to make layering more clear
|
||||
#define KC_ KC_TRNS
|
||||
#define KC_XX KC_NO
|
||||
|
||||
#define KC_L1 LT(1, KC_P0)
|
||||
#define KC_L2 LT(2, KC_SPC)
|
||||
#define KC_RST RESET
|
||||
#define KC_BSTP BL_STEP
|
||||
#define KC_RTOG RGB_TOG
|
||||
#define KC_RMOD RGB_MOD
|
||||
#define KC_RHUI RGB_HUI
|
||||
#define KC_RHUD RGB_HUD
|
||||
#define KC_RSAI RGB_SAI
|
||||
#define KC_RSAD RGB_SAD
|
||||
#define KC_RVAI RGB_VAI
|
||||
#define KC_RVAD RGB_VAD
|
||||
#define KC_MAC1 ADMIN
|
||||
#define KC_MAC2 SMSPC
|
||||
#define KC_M192 M192
|
||||
#define KC_M255 M255
|
||||
|
||||
enum custom_keycodes {
|
||||
NUMPAD = SAFE_RANGE,
|
||||
ADMIN,
|
||||
SMSPC,
|
||||
M192,
|
||||
M255
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_BASE] = KC_KEYMAP(
|
||||
//,----+----+----+----.
|
||||
P7 , P8 , P9 ,BSPC,
|
||||
//|----+----+----+----|
|
||||
P4 , P5 , P6 ,TAB ,
|
||||
//|----+----+----+----|
|
||||
P1 , P2 , P3 ,PENT,
|
||||
//|----+----+----+----|
|
||||
L1 , L2 ,PDOT,PSLS
|
||||
//`----+----+----+----'
|
||||
),
|
||||
|
||||
[_FN1] = KC_KEYMAP(
|
||||
//,----+----+----+----.
|
||||
ESC ,MAC1,MAC2,DEL ,
|
||||
//|----+----+----+----|
|
||||
LEFT,DOWN, UP ,RGHT,
|
||||
//|----+----+----+----|
|
||||
M192,M255, XX , XX ,
|
||||
//|----+----+----+----|
|
||||
, XX , , XX
|
||||
//`----+----+----+----'
|
||||
),
|
||||
|
||||
[_FN2] = KC_KEYMAP(
|
||||
//,----+----+----+----.
|
||||
RST , XX , XX , XX ,
|
||||
//|----+----+----+----|
|
||||
RTOG,RHUI,RSAI,RVAI,
|
||||
//|----+----+----+----|
|
||||
RMOD,RHUD,RSAD,RVAD,
|
||||
//|----+----+----+----|
|
||||
BSTP, , XX , XX
|
||||
//`----+----+----+----'
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case ADMIN:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("Administrator");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case SMSPC:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("Simspace1!");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case M192:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("192.168.");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case M255:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("255");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
};
|
||||
5
keyboards/chocopad/keymaps/khord/rules.mk
Normal file
5
keyboards/chocopad/keymaps/khord/rules.mk
Normal file
@@ -0,0 +1,5 @@
|
||||
RGBLIGHT_ENABLE = yes
|
||||
|
||||
ifndef QUANTUM_DIR
|
||||
include ../../../../Makefile
|
||||
endif
|
||||
146
keyboards/ergodox_ez/keymaps/bocaj/bocaj.h
Normal file
146
keyboards/ergodox_ez/keymaps/bocaj/bocaj.h
Normal file
@@ -0,0 +1,146 @@
|
||||
/*
|
||||
Copyright 2018 Jacob Jerrell <jacob.jerrell@gmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
// Layers
|
||||
enum layers {
|
||||
_SWRKMN = 0,
|
||||
_HWRKMN,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST,
|
||||
_DIABLO
|
||||
};
|
||||
|
||||
|
||||
|
||||
enum custom_keycodes {
|
||||
KC_EPRM = SAFE_RANGE,
|
||||
KC_SWRK,
|
||||
KC_HWRK,
|
||||
KC_VRSN,
|
||||
JJ_COPY,
|
||||
JJ_PASTE,
|
||||
JJ_ARRW,
|
||||
MC_LOCK,
|
||||
KC_DIABLO_CLEAR,
|
||||
KC_NMPD
|
||||
// UC_FLIP
|
||||
};
|
||||
|
||||
// Space Cadet Hyper/Meh and [/]
|
||||
#define HYP_LBK ALL_T(KC_LBRACKET)
|
||||
#define MEH_RBK MEH_T(KC_RBRACKET)
|
||||
|
||||
#define KC_LWSP LT(_LOWER, KC_SPACE)
|
||||
#define KC_RSEN LT(_RAISE, KC_ENTER)
|
||||
#define KC_ADJS TT(_ADJUST)
|
||||
|
||||
#define XXXXXXX KC_NO
|
||||
#define _______ KC_TRNS
|
||||
|
||||
#ifdef TAP_DANCE_ENABLE
|
||||
enum {
|
||||
TD_D3_1 = 0,
|
||||
TD_D3_2,
|
||||
TD_D3_3,
|
||||
TD_D3_4
|
||||
};
|
||||
#endif // TAP_DANCE_ENABLE
|
||||
|
||||
// Custom Keycodes for Diablo 3 layer
|
||||
// But since TD() doesn't work when tap dance is disabled
|
||||
// We use custom codes here, so we can substitute the right stuff
|
||||
#ifdef TAP_DANCE_ENABLE
|
||||
#define KC_D3_1 TD(TD_D3_1)
|
||||
#define KC_D3_2 TD(TD_D3_2)
|
||||
#define KC_D3_3 TD(TD_D3_3)
|
||||
#define KC_D3_4 TD(TD_D3_4)
|
||||
#else // TAP_DANCE_ENABLE
|
||||
#define KC_D3_1 KC_1
|
||||
#define KC_D3_2 KC_2
|
||||
#define KC_D3_3 KC_3
|
||||
#define KC_D3_4 KC_4
|
||||
#endif // TAP_DANCE_ENABLE
|
||||
|
||||
//define diablo macro timer variables
|
||||
extern uint16_t diablo_timer[4];
|
||||
extern uint8_t diablo_times[];
|
||||
extern uint8_t diablo_key_time[4];
|
||||
|
||||
|
||||
void run_diablo_macro_check(void);
|
||||
|
||||
|
||||
#define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__)
|
||||
|
||||
/* Pretty Layout
|
||||
.---------------------------------------------. .---------------------------------------------.
|
||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | ! 8 | 9 | 10 | 11 | 12 | 13 | 14 |
|
||||
!-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!
|
||||
| 15 | 16 | 17 | 18 | 19 | 20 | 21 | ! 22 | 23 | 24 | 25 | 26 | 27 | 28 |
|
||||
!-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
|
||||
| 29 | 30 | 31 | 32 | 33 | 34 |-------! !-------! 35 | 36 | 37 | 38 | 39 | 40 |
|
||||
!-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
|
||||
| 41 | 42 | 43 | 44 | 45 | 46 | 47 | ! 48 | 49 | 50 | 51 | 52 | 53 | 54 |
|
||||
'-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------'
|
||||
| 55 | 56 | 57 | 58 | 59 | .---------------. .---------------. ! 60 | 61 | 62 | 63 | 64 |
|
||||
'------------------------------' | 65 | 66 | ! 67 | 68 | '------------------------------'
|
||||
.-------+-------+-------! !-------+-------+-------.
|
||||
! ! | 69 | ! 70 | ! !
|
||||
! ! !-------! !-------! ! !
|
||||
| 71 | 72 | 73 | ! 74 | 75 | 76 |
|
||||
'-----------------------' '-----------------------'
|
||||
*/
|
||||
|
||||
#define ______________________NUMBER_LEFT________________________ KC_1, KC_2, KC_3, KC_4, KC_5
|
||||
#define ______________________NUMBER_RIGHT_______________________ KC_6, KC_7, KC_8, KC_9, KC_0
|
||||
|
||||
#define ______________________SPECIAL_LEFT_______________________ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC
|
||||
#define ______________________SPECIAL_RIGHT______________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN
|
||||
|
||||
#define _______________________FUNC_LEFT_________________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
|
||||
#define _______________________FUNC_RIGHT________________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
|
||||
|
||||
#define _________________________________________________________ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
#define XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
|
||||
|
||||
#define _______________________SWORKMAN_L1_______________________ KC_Q, KC_W, KC_E, KC_R, KC_T
|
||||
#define _______________________SWORKMAN_L2_______________________ KC_A, SFT_T(KC_S), GUI_T(KC_D), ALT_T(KC_F), KC_G
|
||||
#define _______________________SWORKMAN_L3_______________________ CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B
|
||||
|
||||
#define _______________________SWORKMAN_R1_______________________ KC_Y, KC_U, KC_I, KC_O, KC_P
|
||||
#define _______________________SWORKMAN_R2_______________________ KC_H, ALT_T(KC_J), GUI_T(KC_K), SFT_T(KC_L), KC_SCLN
|
||||
#define _______________________SWORKMAN_R3_______________________ KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLASH)
|
||||
|
||||
// Hardware Driven Workman
|
||||
#define _______________________HWORKMAN_L1_______________________ KC_Q, KC_D, KC_R, KC_W, KC_B
|
||||
#define _______________________HWORKMAN_L2_______________________ KC_A, SFT_T(KC_S), GUI_T(KC_H), ALT_T(KC_T), KC_G
|
||||
#define _______________________HWORKMAN_L3_______________________ CTL_T(KC_Z), KC_X, KC_M, KC_C, KC_V
|
||||
|
||||
#define _______________________HWORKMAN_R1_______________________ KC_J, KC_F, KC_U, KC_P, KC_SCLN
|
||||
#define _______________________HWORKMAN_R2_______________________ KC_Y, ALT_T(KC_N), GUI_T(KC_E), SFT_T(KC_O), KC_I
|
||||
#define _______________________HWORKMAN_R3_______________________ KC_K, KC_L, KC_COMM, KC_DOT, CTL_T(KC_SLASH)
|
||||
|
||||
#define ___________________ERGODOX_BOTTOM_LEFT___________________ TT(_DIABLO), TT(_ADJUST), XXXXXXX, KC_UP, KC_LEFT
|
||||
#define ___________________ERGODOX_BOTTOM_RIGHT__________________ KC_RIGHT, KC_DOWN, TT(_RAISE), TT(_LOWER), TT(_ADJUST)
|
||||
|
||||
// LEFT | RIGHT
|
||||
#define ______________________ERGODOX_THUMBS_____________________ KC_APP,KC_HOME, KC_PGUP,KC_ESC, \
|
||||
KC_END, KC_PGDOWN, \
|
||||
KC_LWSP,KC_BSPACE,JJ_COPY, JJ_PASTE,KC_TAB,KC_RSEN
|
||||
21
keyboards/ergodox_ez/keymaps/bocaj/config.h
Normal file
21
keyboards/ergodox_ez/keymaps/bocaj/config.h
Normal file
@@ -0,0 +1,21 @@
|
||||
#ifndef USERSPACE_CONFIG_H
|
||||
#define USERSPACE_CONFIG_H
|
||||
|
||||
#ifndef QMK_KEYS_PER_SCAN
|
||||
#define QMK_KEYS_PER_SCAN 4
|
||||
#endif // QMK KEYS PER SCAN
|
||||
|
||||
// this makes it possible to do rolling combos (zx) with keys that
|
||||
// convert to other keys on hold (z becomes ctrl when you hold it,
|
||||
// and when this option isn't enabled, z rapidly followed by x
|
||||
// actually sends Ctrl-x. That's bad.)
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
#define PERMISSIVE_HOLD
|
||||
#undef PREVENT_STUCK_MODIFIERS
|
||||
|
||||
// Disable action_get_macro and fn_actions, since we don't use these
|
||||
// and it saves on space in the firmware.
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
|
||||
#endif // !USERSPACE_CONFIG_H
|
||||
340
keyboards/ergodox_ez/keymaps/bocaj/keymap.c
Normal file
340
keyboards/ergodox_ez/keymaps/bocaj/keymap.c
Normal file
@@ -0,0 +1,340 @@
|
||||
/*
|
||||
Copyright 2018 Jacob Jerrell <jacob.jerrell@gmail.com>
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "bocaj.h"
|
||||
|
||||
#ifdef UNICODEMAP_ENABLE
|
||||
#include "bocaj_unicode.h"
|
||||
#endif // UNICODEMAP_ENABLE
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Software Workman / QWERTY - http://www.keyboard-layout-editor.com/#/gists/b6c016a22a9d31381a276a603a42fe5f
|
||||
.---------------------------------------------. .---------------------------------------------.
|
||||
| ESC | 1 | 2 | 3 | 4 | 5 | -> | ! - | 6 | 7 | 8 | 9 | 0 | = |
|
||||
!-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!
|
||||
| DEL | Q | W | E | R | T | ( | ! ) | Y | U | I | O | P | \ |
|
||||
!-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
|
||||
| ADJST | A | S | D | F | G |-------! !-------! H | J | K | L | ; | ' |
|
||||
!-------+-----+-----+-----x-----x-----! HYP ! ! MEH !-----x-----x-----+-----+-----+-------!
|
||||
| SHIFT | Z | X | C | V | B | { | ! } | N | M | , | . | / | SHIFT |
|
||||
'-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------'
|
||||
| GAME | NUM | VRS | UP | LFT | .---------------. .---------------. ! RGT | DWN | RSE | LWR | ADJ |
|
||||
'------------------------------' | APP | HOME | ! PGUP | ESC | '------------------------------'
|
||||
.-------+-------+-------! !-------+-------+-------.
|
||||
! SPACE ! | END | ! PGDN | ! ENTER !
|
||||
! / ! BSPCE !-------! !-------! TAB ! / !
|
||||
| LOWER | | COPY | ! PASTE | | RAISE |
|
||||
'-----------------------' '-----------------------'
|
||||
*/
|
||||
[_SWRKMN] = LAYOUT_ergodox_pretty_wrapper(
|
||||
KC_ESC, ______________________NUMBER_LEFT________________________, JJ_ARRW, KC_MINUS, ______________________NUMBER_RIGHT_______________________, KC_EQUAL,
|
||||
KC_DEL, _______________________SWORKMAN_L1_______________________, KC_LPRN, KC_RPRN, _______________________SWORKMAN_R1_______________________, KC_BSLS,
|
||||
KC_ADJS,_______________________SWORKMAN_L2_______________________, _______________________SWORKMAN_R2_______________________, KC_QUOTE,
|
||||
KC_LSFT,_______________________SWORKMAN_L3_______________________, HYP_LBK, MEH_RBK, _______________________SWORKMAN_R3_______________________, KC_RSFT,
|
||||
___________________ERGODOX_BOTTOM_LEFT___________________, ___________________ERGODOX_BOTTOM_RIGHT__________________,
|
||||
______________________ERGODOX_THUMBS_____________________
|
||||
),
|
||||
/* Hardware Workman - http://www.keyboard-layout-editor.com/#/gists/7a07cb982ec3597ba3e3d947554225f1
|
||||
.---------------------------------------------. .---------------------------------------------.
|
||||
| ESC | 1 | 2 | 3 | 4 | 5 | -> | ! - | 6 | 7 | 8 | 9 | 0 | = |
|
||||
!-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!
|
||||
| DEL | Q | D | R | W | B | ( | ! ) | J | F | U | P | ; | \ |
|
||||
!-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
|
||||
| ADJST | A | S | H | T | G |-------! !-------! Y | N | E | O | I | ' |
|
||||
!-------+-----+-----+-----x-----x-----! HYP ! ! MEH !-----x-----x-----+-----+-----+-------!
|
||||
| SHIFT | Z | X | M | C | V | { | ! } | K | L | , | . | / | SHIFT |
|
||||
'-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------'
|
||||
| GAME | NUM | VRS | UP | LFT | .---------------. .---------------. ! RGT | DWN | RSE | LWR | ADJ |
|
||||
'------------------------------' | APP | HOME | ! PGUP | ESC | '------------------------------'
|
||||
.-------+-------+-------! !-------+-------+-------.
|
||||
! SPACE ! | END | ! PGDN | ! ENTER !
|
||||
! / ! BSPCE !-------! !-------! TAB ! / !
|
||||
| LOWER | | COPY | ! PASTE | | RAISE |
|
||||
'-----------------------' '-----------------------'
|
||||
*/
|
||||
[_HWRKMN] = LAYOUT_ergodox_pretty_wrapper(
|
||||
KC_ESC, ______________________NUMBER_LEFT________________________, JJ_ARRW, KC_MINUS, ______________________NUMBER_RIGHT_______________________, KC_EQUAL,
|
||||
KC_DEL, _______________________HWORKMAN_L1_______________________, KC_LPRN, KC_RPRN, _______________________HWORKMAN_R1_______________________, KC_BSLS,
|
||||
KC_ADJS,_______________________HWORKMAN_L2_______________________, _______________________HWORKMAN_R2_______________________, KC_QUOTE,
|
||||
KC_LSFT,_______________________HWORKMAN_L3_______________________, HYP_LBK, MEH_RBK, _______________________HWORKMAN_R3_______________________, KC_RSFT,
|
||||
___________________ERGODOX_BOTTOM_LEFT___________________, ___________________ERGODOX_BOTTOM_RIGHT__________________,
|
||||
______________________ERGODOX_THUMBS_____________________
|
||||
),
|
||||
/* Lower - http://www.keyboard-layout-editor.com/#/gists/f1d745a88d1c48ab55e095efd9e7a43a
|
||||
.---------------------------------------------. .---------------------------------------------.
|
||||
| | F1 | F2 | F3 | F4 | F5 | | ! | F6 | F7 | F8 | F9 | F10 | |
|
||||
!-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!
|
||||
| ` | 1 | 2 | 3 | 4 | 5 | | ! | 6 | 7 | 8 | 9 | 0 | |
|
||||
!-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
|
||||
| | | | | | |-------! !-------! | | | | | |
|
||||
!-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
|
||||
| | | | | | | | ! | | | | | | |
|
||||
'-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------'
|
||||
| | | | | | .---------------. .---------------. ! | | | | |
|
||||
'------------------------------' | | | ! | | '------------------------------'
|
||||
.-------+-------+-------! !-------+-------+-------.
|
||||
! ! | | ! | ! !
|
||||
! ! !-------! !-------! ! !
|
||||
| | | | ! | | |
|
||||
'-----------------------' '-----------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_ergodox_pretty_wrapper(
|
||||
_______,_______________________FUNC_LEFT_________________________, _______, _______, _______________________FUNC_RIGHT________________________, _______,
|
||||
KC_GRV ,______________________NUMBER_LEFT________________________, _______, _______, ______________________NUMBER_RIGHT_______________________, _______,
|
||||
_______,_________________________________________________________, _________________________________________________________, _______,
|
||||
_______,_________________________________________________________, _______, _______, _________________________________________________________, _______,
|
||||
_________________________________________________________, _________________________________________________________,
|
||||
______________________ERGODOX_THUMBS_____________________
|
||||
),
|
||||
/* Raise - http://www.keyboard-layout-editor.com/#/gists/e0f591ec2ce9f24675a02d15c7048b25
|
||||
.---------------------------------------------. .---------------------------------------------.
|
||||
| | F1 | F2 | F3 | F4 | F5 | | ! _ | F6 | F7 | F8 | F9 | F10 | |
|
||||
!-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!
|
||||
| ~ | ! | @ | # | $ | % | | ! | ^ | & | * | ( | ) | |
|
||||
!-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
|
||||
| | | | | | |-------! !-------! | | | | | |
|
||||
!-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
|
||||
| | | | | | | | ! | | | | | | |
|
||||
'-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------'
|
||||
| | | | | | .---------------. .---------------. ! | | | | |
|
||||
'------------------------------' | | | ! | | '------------------------------'
|
||||
.-------+-------+-------! !-------+-------+-------.
|
||||
! ! | | ! | ! !
|
||||
! ! !-------! !-------! ! !
|
||||
| | | | ! | | |
|
||||
'-----------------------' '-----------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_ergodox_pretty_wrapper(
|
||||
_______,_______________________FUNC_LEFT_________________________, _______, KC_UNDS, _______________________FUNC_RIGHT________________________, _______,
|
||||
KC_TILD,______________________SPECIAL_LEFT_______________________, _______, _______, ______________________SPECIAL_RIGHT______________________, _______,
|
||||
_______,_________________________________________________________, _________________________________________________________, _______,
|
||||
_______,_________________________________________________________, _______, _______, _________________________________________________________, _______,
|
||||
_________________________________________________________, _________________________________________________________,
|
||||
______________________ERGODOX_THUMBS_____________________
|
||||
),
|
||||
/* Adjust - http://www.keyboard-layout-editor.com/#/gists/dedeae17b35a5d5f745a42aaea78f007
|
||||
.---------------------------------------------. .---------------------------------------------.
|
||||
| | | | | | | EPRM | ! EPRM | | | | | | |
|
||||
!-------+-----+-----+-----+-----+-------------! !-------+-----+-----+-----+-----+-----+-------!
|
||||
| | | | | | | | ! | | 7 | 8 | 9 | * | |
|
||||
!-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
|
||||
| | 🔇 | 🔉 | 🔊 | LCK | |-------! !-------! | 4 | 5 | 6 | + | SWRKM |
|
||||
!-------+-----+-----+-----x-----x-----! ! ! !-----x-----x-----+-----+-----+-------!
|
||||
| | | | | | | | ! | | 1 | 2 | 3 | - | HWRKM |
|
||||
'-------+-----+-----+-----+-----+-------------' '-------------+-----+-----+-----+-----+-------'
|
||||
| | | | | | .---------------. .---------------. ! 0 | . | , | = | |
|
||||
'------------------------------' | | | ! | | '------------------------------'
|
||||
.-------+-------+-------! !-------+-------+-------.
|
||||
! ! | | ! | ! !
|
||||
! ! !-------! !-------! ! !
|
||||
| | | | ! | | |
|
||||
'-----------------------' '-----------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT_ergodox_pretty_wrapper(
|
||||
XXXXXXX,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, KC_EPRM, KC_EPRM, XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, XXXXXXX,
|
||||
XXXXXXX,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_7, KC_KP_8, KC_KP_9, KC_PAST, XXXXXXX,
|
||||
_______,KC__MUTE, KC__VOLDOWN, KC__VOLUP, MC_LOCK, XXXXXXX, XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, KC_SWRK,
|
||||
XXXXXXX,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_PMNS, KC_HWRK,
|
||||
XXXXXXX,_______,XXXXXXX,XXXXXXX,XXXXXXX, KC_KP_0, KC_PDOT, KC_COMM, KC_PEQL, _______,
|
||||
______________________ERGODOX_THUMBS_____________________
|
||||
),
|
||||
// Diablo - http://www.keyboard-layout-editor.com/#/gists/28476e4237e77d4835ac8a9d7e5f9b2c
|
||||
[_DIABLO] = LAYOUT_ergodox_pretty_wrapper(
|
||||
KC_ESC , KC_V , KC_D ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
KC_TAB , KC_S , KC_I , KC_F , KC_T , KC_J ,XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_7, KC_KP_8, KC_KP_9, XXXXXXX, XXXXXXX,
|
||||
KC_Q , KC_1 , KC_2 , KC_3 , KC_4 , KC_M , XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, XXXXXXX, XXXXXXX,
|
||||
KC_LSFT,KC_D3_1 ,KC_D3_2 ,KC_D3_3 ,KC_D3_4 ,XXXXXXX ,XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, XXXXXXX, XXXXXXX,
|
||||
_______,ALT_T(KC_Z) ,KC_G ,KC_Y ,XXXXXXX , KC_KP_0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX,
|
||||
XXXXXXX, XXXXXXX,
|
||||
KC_BTN1,KC_BTN2,KC_DIABLO_CLEAR, XXXXXXX,XXXXXXX,XXXXXXX
|
||||
)
|
||||
};
|
||||
|
||||
// Defines actions for my custom keycodes
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
// KC_COPY and KC_PASTE have problems with different hardware/software mappings
|
||||
// e.g. If the mappings conflict, KC_COPY will send Cmd+M which minimizes the
|
||||
// window and is very annoying. JJ_COPY and JJ_PASTE fix this by sending the
|
||||
// raw character rather than the KC_* code
|
||||
case JJ_COPY:
|
||||
if (!record->event.pressed) {
|
||||
SEND_STRING(SS_LGUI("c"));
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case JJ_PASTE:
|
||||
if (!record->event.pressed) {
|
||||
SEND_STRING(SS_LGUI("v"));
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case JJ_ARRW:
|
||||
if (!record->event.pressed) {
|
||||
SEND_STRING("->");
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case KC_SWRK:
|
||||
if (!record->event.pressed) {
|
||||
set_single_persistent_default_layer(_SWRKMN);
|
||||
layer_move(_SWRKMN);
|
||||
ergodox_blink_all_leds();
|
||||
ergodox_blink_all_leds();
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case KC_HWRK:
|
||||
if (!record->event.pressed) {
|
||||
set_single_persistent_default_layer(_HWRKMN);
|
||||
layer_move(_HWRKMN);
|
||||
ergodox_blink_all_leds();
|
||||
ergodox_blink_all_leds();
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case KC_EPRM:
|
||||
if (!record->event.pressed) {
|
||||
ergodox_blink_all_leds();
|
||||
eeconfig_init();
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case MC_LOCK:
|
||||
if (!record->event.pressed) {
|
||||
layer_move(_HWRKMN);
|
||||
SEND_STRING(SS_LCTRL(SS_LGUI("q")));
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case KC_DIABLO_CLEAR:
|
||||
#ifdef TAP_DANCE_ENABLE
|
||||
if (record->event.pressed) {
|
||||
uint8_t dtime;
|
||||
for (dtime = 0; dtime < 4; dtime++) {
|
||||
diablo_key_time[dtime] = diablo_times[0];
|
||||
}
|
||||
}
|
||||
#endif // TAP_DANCE_ENABLE
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void tap(uint16_t keycode){ register_code(keycode); unregister_code(keycode); };
|
||||
|
||||
// Diablo III Fun stuff
|
||||
//define diablo macro timer variables
|
||||
uint16_t diablo_timer[4];
|
||||
uint8_t diablo_times[] = { 0, 1, 3, 5, 10, 30 };
|
||||
uint8_t diablo_key_time[4];
|
||||
|
||||
// has the correct number of seconds elapsed (as defined by diablo_times)
|
||||
bool check_dtimer(uint8_t dtimer) { return (timer_elapsed(diablo_timer[dtimer]) < (diablo_key_time[dtimer] * 1000)) ? false : true; };
|
||||
|
||||
// Cycle through the times for the macro, starting at 0, for disabled.
|
||||
// Max of six values, so don't exceed
|
||||
void diablo_tapdance_master(qk_tap_dance_state_t *state, void *user_data, uint8_t diablo_key) {
|
||||
if (state->count >= 7) {
|
||||
diablo_key_time[diablo_key] = diablo_times[0];
|
||||
reset_tap_dance(state);
|
||||
} else {
|
||||
diablo_key_time[diablo_key] = diablo_times[state->count - 1];
|
||||
}
|
||||
}
|
||||
|
||||
// Would rather have one function for all of this, but no idea how to do that...
|
||||
void diablo_tapdance1(qk_tap_dance_state_t *state, void *user_data) { diablo_tapdance_master(state, user_data, 0); }
|
||||
void diablo_tapdance2(qk_tap_dance_state_t *state, void *user_data) { diablo_tapdance_master(state, user_data, 1); }
|
||||
void diablo_tapdance3(qk_tap_dance_state_t *state, void *user_data) { diablo_tapdance_master(state, user_data, 2); }
|
||||
void diablo_tapdance4(qk_tap_dance_state_t *state, void *user_data) { diablo_tapdance_master(state, user_data, 3); }
|
||||
|
||||
//Tap Dance Definitions
|
||||
qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
// tap once to disable, and more to enable timed micros
|
||||
[TD_D3_1] = ACTION_TAP_DANCE_FN(diablo_tapdance1),
|
||||
[TD_D3_2] = ACTION_TAP_DANCE_FN(diablo_tapdance2),
|
||||
[TD_D3_3] = ACTION_TAP_DANCE_FN(diablo_tapdance3),
|
||||
[TD_D3_4] = ACTION_TAP_DANCE_FN(diablo_tapdance4),
|
||||
};
|
||||
|
||||
// Sends the key press to system, but only if on the Diablo layer
|
||||
void send_diablo_keystroke(uint8_t diablo_key) {
|
||||
if (biton32(layer_state) == _DIABLO) {
|
||||
switch (diablo_key) {
|
||||
case 0:
|
||||
tap(KC_1); break;
|
||||
case 1:
|
||||
tap(KC_2); break;
|
||||
case 2:
|
||||
tap(KC_3); break;
|
||||
case 3:
|
||||
tap(KC_4); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Checks each of the 4 timers/keys to see if enough time has elapsed
|
||||
// Runs the "send string" command if enough time has passed, and resets the timer.
|
||||
void run_diablo_macro_check(void) {
|
||||
uint8_t dtime;
|
||||
for (dtime = 0; dtime < 4; dtime++) {
|
||||
if (check_dtimer(dtime) && diablo_key_time[dtime]) {
|
||||
diablo_timer[dtime] = timer_read();
|
||||
send_diablo_keystroke(dtime);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
uint8_t layer = biton32(layer_state);
|
||||
ergodox_board_led_off();
|
||||
ergodox_right_led_1_off();
|
||||
ergodox_right_led_2_off();
|
||||
ergodox_right_led_3_off();
|
||||
switch (layer) {
|
||||
/*
|
||||
Lights are treated as binary here for easy identification.
|
||||
LED1 = 4; LED2 = 2; LED1 = 1
|
||||
This allows for up to 8 identified layers (default layers being no lights on)
|
||||
Which is way more than I should ever need
|
||||
*/
|
||||
case _LOWER:
|
||||
ergodox_right_led_3_on();
|
||||
ergodox_right_led_3_set(10); // Default brightness is deadly in a dark room
|
||||
break;
|
||||
case _RAISE:
|
||||
ergodox_right_led_2_on();
|
||||
ergodox_right_led_2_set(10);
|
||||
break;
|
||||
case _ADJUST:
|
||||
ergodox_right_led_2_on();
|
||||
ergodox_right_led_2_set(10);
|
||||
ergodox_right_led_3_on();
|
||||
ergodox_right_led_3_set(10);
|
||||
break;
|
||||
case _DIABLO:
|
||||
ergodox_right_led_1_on();
|
||||
ergodox_right_led_1_set(10);
|
||||
break;
|
||||
default:
|
||||
// none
|
||||
break;
|
||||
}
|
||||
#ifdef TAP_DANCE_ENABLE
|
||||
run_diablo_macro_check();
|
||||
#endif
|
||||
};
|
||||
48
keyboards/ergodox_ez/keymaps/bocaj/readme.md
Normal file
48
keyboards/ergodox_ez/keymaps/bocaj/readme.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# Ergodox EZ Layout by JacobJerrell
|
||||
|
||||
My personal Ergodox EZ layout.
|
||||
|
||||
## Summary
|
||||
|
||||
Contains two base layers because I carry my keyboard between different machines and occassionally use the machines without this keyboard. A side-effect to using it in this manner (with a non-QWERTY layout) is that software/hardware mappings conflict so this allows a quick (2-buttons) to get the keyboard to a compatible layer
|
||||
|
||||
## Layers
|
||||
|
||||
| Layer | Purpose |
|
||||
| ----- | ------- |
|
||||
| 0 | [Hardware Workman](#hardware-workman) - For OS mapped to QWERTY |
|
||||
| 1 | [Software Workman](#software-workman) - For OS mapped to Workman |
|
||||
| 2 | [Lower](#lower) |
|
||||
| 3 | [Raise](#raise) |
|
||||
| 4 | [Adjust](#adjust) |
|
||||
| 5 | [Diablo III](#diablo-iii) |
|
||||
|
||||
### Hardware Workman
|
||||
|
||||
For easy plug and play into QWERTY machines
|
||||

|
||||
|
||||
### Software Workman
|
||||
|
||||
To switch to when I was previously using the laptop keyboard with software mapped to Workman. Or so other people can take the Ergodox for a spin.
|
||||

|
||||
|
||||
### Lower
|
||||
|
||||
Reveals F1-12 keys and brings numkeys down.
|
||||

|
||||
|
||||
### Raise
|
||||
|
||||
Reveals F1-F12 keys and gives shifted numkeys.
|
||||

|
||||
|
||||
### Adjust
|
||||
|
||||
Numpad, Wipe EEPROM, OSX Volume Control, OSX Lockscreen, and Default Layer Switching.
|
||||

|
||||
|
||||
### Diablo III
|
||||
|
||||
Arranged to make playing on a laptop much more enjoyable. Credit for the D1-4 macros (as well as much of the ideas in this layout goes to Drashna)
|
||||

|
||||
5
keyboards/ergodox_ez/keymaps/bocaj/rules.mk
Normal file
5
keyboards/ergodox_ez/keymaps/bocaj/rules.mk
Normal file
@@ -0,0 +1,5 @@
|
||||
AUTO_SHIFT_ENABLE = no
|
||||
COMMAND_ENABLE = no
|
||||
SWAP_HANDS_ENABLE = no
|
||||
TAP_DANCE_ENABLE = yes
|
||||
EXTRAKEY_ENABLE = no
|
||||
@@ -25,6 +25,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#define TAPPING_TERM 150
|
||||
|
||||
/* prevent stuck modifiers */
|
||||
#define PREVENT_STUCK_MODIFIERS
|
||||
|
||||
/* Use I2C or Serial, not both */
|
||||
|
||||
#define USE_SERIAL
|
||||
|
||||
@@ -29,6 +29,8 @@ enum {
|
||||
// Dylan's additions
|
||||
#define C_A_DEL LALT(LCTL(KC_DEL))
|
||||
#define C_A_INS LALT(LCTL(KC_INS))
|
||||
//#define MAC_LOK S(LCTL(KC_PWR))
|
||||
#define MAC_LOK LCTL(LGUI(KC_Q))
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
@@ -64,8 +66,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_LOWER] = LAYOUT( \
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_END, KC_HOME, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MAC_LOK, _______, KC_END, KC_HOME, _______, \
|
||||
LCTL(KC_UP), KC_BTN3, KC_BTN2, KC_BTN1, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
|
||||
),
|
||||
|
||||
/* Raise
|
||||
@@ -76,14 +78,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 | | |PG DN |PG UP |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* | | | | | | | | MB1 | MB2 | MB3 | MB4 |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT( \
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PGDN, KC_PGUP, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4 \
|
||||
),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
|
||||
29
keyboards/tkc1800/keymaps/smt/config.h
Normal file
29
keyboards/tkc1800/keymaps/smt/config.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/* Copyright 2017 Mathias Andersson <wraul@dbox.se>
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include "../../config.h"
|
||||
|
||||
#define USE_I2C
|
||||
#define SSD1306OLED
|
||||
//#define OLED_ROTATE180
|
||||
#define SSD1306_ADDRESS 0x3C
|
||||
|
||||
// place overrides here
|
||||
|
||||
#endif
|
||||
227
keyboards/tkc1800/keymaps/smt/keymap.c
Normal file
227
keyboards/tkc1800/keymaps/smt/keymap.c
Normal file
@@ -0,0 +1,227 @@
|
||||
/* Copyright 2017 Mathias Andersson <wraul@dbox.se>
|
||||
*
|
||||
* 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 "tkc1800.h"
|
||||
#include "LUFA/Drivers/Peripheral/TWI.h"
|
||||
#include "i2c.h"
|
||||
#include "ssd1306.h"
|
||||
|
||||
#define MODS_SHFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
|
||||
#define MODS_GUI_MASK (MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
|
||||
|
||||
// Custom macros
|
||||
#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl
|
||||
#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper (Super+Ctrl+Shift+Alt)
|
||||
#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift
|
||||
|
||||
// Helpful defines
|
||||
#define ______ KC_TRNS
|
||||
#define XXXXXX KC_NO
|
||||
|
||||
//Layers
|
||||
|
||||
enum {
|
||||
QWERTY = 0,
|
||||
COLEMAK,
|
||||
DVORAK,
|
||||
FUNCTION,
|
||||
};
|
||||
|
||||
//13 characters max without re-writing the "Layer: " format in iota_gfx_task_user()
|
||||
static char layer_lookup[][14] = {"Qwerty","Dvorak","Function"};
|
||||
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap QWERTY: (Qwerty Layer) Default Layer
|
||||
* ,-------------------------------------------------------. ,-------------------.
|
||||
* |Esc| F1| F2| F3| F4| | F5| F6| F7| F8| | F9|F10|F11|F12| |Ins |Home|PgUp|PrSc|
|
||||
* `-------------------------------------------------------' |-------------------|
|
||||
* |Del |End |PgDn|ScrL|
|
||||
* ,-----------------------------------------------------------. |-------------------|
|
||||
* | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |NumL| / | * |Paus|
|
||||
* |-----------------------------------------------------------| |-------------------|
|
||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | | 7 | 8 | 9 | - |
|
||||
* |-----------------------------------------------------------| |-------------------|
|
||||
* |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | | 4 | 5 | 6 | + |
|
||||
* |-----------------------------------------------------------' |-------------------|
|
||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | 1 | 2 | 3 | Ent|
|
||||
* |--------------------------------------------------------'----`--------------| |
|
||||
* |Ctrl|Gui |Alt | Space |Alt |Gui|Ctr|Left |Down|Rght| 0 | . | |
|
||||
* `---------------------------------------------------------------------------------'
|
||||
*/
|
||||
[QWERTY] = 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_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
||||
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
||||
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_GRV, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
||||
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, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
||||
CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
||||
KC_LSFT, XXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,KC_SLSH, SFT_ENT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXX, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
/* Keymap COLEMAK: (Colemak Layer) Default Layer
|
||||
* ,-------------------------------------------------------. ,-------------------.
|
||||
* |Esc| F1| F2| F3| F4| | F5| F6| F7| F8| | F9|F10|F11|F12| |Ins |Home|PgUp|PrSc|
|
||||
* `-------------------------------------------------------' |-------------------|
|
||||
* |Del |End |PgDn|ScrL|
|
||||
* ,-----------------------------------------------------------. |-------------------|
|
||||
* | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |NumL| / | * |Paus|
|
||||
* |-----------------------------------------------------------| |-------------------|
|
||||
* |Tab | Q| W| F| P| G| J| L| U| Y| ;| [| ]| \ | | 7 | 8 | 9 | - |
|
||||
* |-----------------------------------------------------------| |-------------------|
|
||||
* |CAPS | A| R| S| T| D| H| N| E| I| O| '|Return | | 4 | 5 | 6 | + |
|
||||
* |-----------------------------------------------------------' |-------------------|
|
||||
* |Shift | Z| X| C| V| B| K| M| ,| .| /|Shift | Up | 1 | 2 | 3 | Ent|
|
||||
* |--------------------------------------------------------'----`--------------| |
|
||||
* |Ctrl|Gui |Alt | Space |Alt |Gui|Ctr|Left |Down|Rght| 0 | . | |
|
||||
* `---------------------------------------------------------------------------------'
|
||||
*/
|
||||
[COLEMAK] = 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_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
||||
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
||||
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_GRV, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
||||
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, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
||||
CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, XXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
||||
KC_LSFT, XXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT,KC_SLSH, SFT_ENT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXX, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
/* Keymap DVORAK: (Dvorak Layer) Default Layer
|
||||
* ,-------------------------------------------------------. ,-------------------.
|
||||
* |Esc| F1| F2| F3| F4| | F5| F6| F7| F8| | F9|F10|F11|F12| |Ins |Home|PgUp|PrSc|
|
||||
* `-------------------------------------------------------' |-------------------|
|
||||
* |Del |End |PgDn|ScrL|
|
||||
* ,-----------------------------------------------------------. |-------------------|
|
||||
* | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| [| ]| \| ~ | |NumL| / | * |Paus|
|
||||
* |-----------------------------------------------------------| |-------------------|
|
||||
* |Tab | '| ,| .| P| Y| F| G| C| R| L| /| =| BS | | 7 | 8 | 9 | - |
|
||||
* |-----------------------------------------------------------| |-------------------|
|
||||
* |CAPS | A| O| E| U| I| D| H| T| N| S| -|Return | | 4 | 5 | 6 | + |
|
||||
* |-----------------------------------------------------------' |-------------------|
|
||||
* |Shift | ;| Q| J| K| X| B| M| W| V| Z|Shift | Up | 1 | 2 | 3 | Ent|
|
||||
* |--------------------------------------------------------'----`--------------| |
|
||||
* |Ctrl|Gui |Alt | Space |Alt |Gui|Ctr|Left |Down|Rght| 0 | . | |
|
||||
* `---------------------------------------------------------------------------------'
|
||||
*/
|
||||
[DVORAK] = 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_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
||||
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
||||
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_GRV, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
||||
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, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
||||
CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, XXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
||||
KC_LSFT, XXXXXX, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXX, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
[FUNCTION] = LAYOUT(
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
||||
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, RESET, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
||||
______, ______, ______, ______, ______, ______, ______, QWERTY, COLEMAK,DVORAK, ______, ______, ______, ______, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, XXXXXX, ______, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
||||
______, XXXXXX, RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD, BL_STEP,______, ______, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXX, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, ______, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
};
|
||||
|
||||
// const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {};
|
||||
|
||||
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) {
|
||||
case QWERTY:
|
||||
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;
|
||||
case DVORAK:
|
||||
if (record->event.pressed) {
|
||||
persistent_default_layer_set(1UL<<DVORAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void led_set_user(uint8_t usb_led) {
|
||||
|
||||
}
|
||||
void matrix_init_user(void) {
|
||||
#ifdef USE_I2C
|
||||
i2c_master_init();
|
||||
#ifdef SSD1306OLED
|
||||
// calls code for the SSD1306 OLED
|
||||
_delay_ms(400);
|
||||
TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
|
||||
iota_gfx_init(); // turns on the display
|
||||
#endif
|
||||
#endif
|
||||
#ifdef AUDIO_ENABLE
|
||||
startup_user();
|
||||
#endif
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
#ifdef SSD1306OLED
|
||||
iota_gfx_task(); // this is what updates the display continuously
|
||||
#endif
|
||||
}
|
||||
|
||||
void matrix_update(struct CharacterMatrix *dest,
|
||||
const struct CharacterMatrix *source) {
|
||||
if (memcmp(dest->display, source->display, sizeof(dest->display))) {
|
||||
memcpy(dest->display, source->display, sizeof(dest->display));
|
||||
dest->dirty = true;
|
||||
}
|
||||
}
|
||||
|
||||
void iota_gfx_task_user(void) {
|
||||
#if DEBUG_TO_SCREEN
|
||||
if (debug_enable) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
struct CharacterMatrix matrix;
|
||||
|
||||
matrix_clear(&matrix);
|
||||
matrix_write_P(&matrix, PSTR("TKC1800"));
|
||||
|
||||
uint8_t layer = biton32(layer_state);
|
||||
|
||||
char buf[40];
|
||||
snprintf(buf,sizeof(buf), "Undef-%d", layer);
|
||||
matrix_write_P(&matrix, PSTR("\nLayer: "));
|
||||
matrix_write(&matrix, layer_lookup[layer]);
|
||||
|
||||
// Host Keyboard LED Status
|
||||
char led[40];
|
||||
snprintf(led, sizeof(led), "\n\n%s %s %s",
|
||||
(host_keyboard_leds() & (1<<USB_LED_NUM_LOCK)) ? "NUMLOCK" : " ",
|
||||
(host_keyboard_leds() & (1<<USB_LED_CAPS_LOCK)) ? "CAPS" : " ",
|
||||
(host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? "SCLK" : " ");
|
||||
matrix_write(&matrix, led);
|
||||
matrix_update(&display, &matrix);
|
||||
}
|
||||
@@ -27,7 +27,7 @@
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
#include "backlight.h"
|
||||
#endif
|
||||
#if !defined(RGBLIGHT_ENABLE) && !defined(RGB_MATRIX_ENABLE)
|
||||
#if !defined(RGBLIGHT_ENABLE) && !defined(RGB_MATRIX_ENABLE)
|
||||
#include "rgb.h"
|
||||
#endif
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
|
||||
Reference in New Issue
Block a user