Remove obvious user keymaps, keyboards/{s,t}* edition. (#23084)
This commit is contained in:
parent
f8123c27ad
commit
5233a62b20
313 changed files with 0 additions and 29498 deletions
|
|
@ -1,24 +0,0 @@
|
|||
/* Copyright 2017 Balz Guenat
|
||||
*
|
||||
* 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"
|
||||
|
||||
// place overrides here
|
||||
|
||||
#endif
|
||||
|
|
@ -1,69 +0,0 @@
|
|||
/* Copyright 2017 Balz Guenat
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define ______ KC_TRNS
|
||||
|
||||
/*
|
||||
This switch layout is ANSI with the following modifications:
|
||||
Split right shift
|
||||
225 125 275 spacebar
|
||||
Bottom right singles
|
||||
*/
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
-------------------------------------------------------------------------------------------
|
||||
|Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace |
|
||||
-------------------------------------------------------------------------------------------
|
||||
| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
|
||||
-------------------------------------------------------------------------------------------
|
||||
| Cpslock | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
|
||||
-------------------------------------------------------------------------------------------
|
||||
| Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Up |
|
||||
-------------------------------------------------------------------------------------------
|
||||
| Ctrl | GUI | Alt | L1(Space) | LED | Space | Home | End | Left |Rght |Down |
|
||||
-------------------------------------------------------------------------------------------
|
||||
*/
|
||||
[0] = LAYOUT_base(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_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, LT(1,KC_SPACE), BL_TOGG, KC_SPC, KC_HOME, KC_END, KC_LEFT, KC_RGHT, KC_DOWN
|
||||
),
|
||||
/*
|
||||
-------------------------------------------------------------------------------------------
|
||||
| ~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL |
|
||||
-------------------------------------------------------------------------------------------
|
||||
| | | UP | | | | | | | | | | | PrtSc |
|
||||
-------------------------------------------------------------------------------------------
|
||||
| |Left | Down |Right | | | | | | | | | | SLEEP |
|
||||
-------------------------------------------------------------------------------------------
|
||||
| | | | | | | | | | | | | | |
|
||||
-------------------------------------------------------------------------------------------
|
||||
| | | | | Reset | | | | | |
|
||||
-------------------------------------------------------------------------------------------
|
||||
*/
|
||||
[1] = LAYOUT_base(
|
||||
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_UP, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_PSCR,
|
||||
______, KC_LEFT, KC_DOWN, KC_RGHT, ______, ______, ______, ______, ______, ______, ______, ______, KC_SLEP,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_PGUP,
|
||||
______, ______, ______, ______, QK_BOOT, ______, ______, ______, ______, ______, KC_PGDN
|
||||
),
|
||||
};
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
# Copyright 2017 Balz Guenat
|
||||
#
|
||||
# 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/>.
|
||||
|
||||
|
||||
# QMK Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
# MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
# EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
# CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
# COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
# NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
# BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
# MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
|
||||
# AUDIO_ENABLE = no # Audio output on port C6
|
||||
# UNICODE_ENABLE = no # Unicode
|
||||
# BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
# RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||
# SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define DEFAULT_LAYER 0
|
||||
#define HHKB_NAV_LAYER 1
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[DEFAULT_LAYER] = LAYOUT_hhkb_arrow(
|
||||
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_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, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, _______, KC_MENU, KC_RCTL
|
||||
),
|
||||
|
||||
[HHKB_NAV_LAYER] = LAYOUT_hhkb_arrow(
|
||||
QK_BOOT, 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_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, KC_DEL,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_ENT,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
# cijanzen's keymap for the Bananasplit
|
||||
## Layout Notes
|
||||
|
||||
Split right shift and split backspace. Second layer follows HHKB layer 2 layout.
|
||||
|
||||
Base layer:
|
||||
```
|
||||
-------------------------------------------------------------------------------------------
|
||||
| Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ | ` |
|
||||
-------------------------------------------------------------------------------------------
|
||||
| Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] |Backspace|
|
||||
-------------------------------------------------------------------------------------------
|
||||
| Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
|
||||
-------------------------------------------------------------------------------------------
|
||||
| Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Fn1 |
|
||||
-------------------------------------------------------------------------------------------
|
||||
| Ctrl | GUI | Alt | Space | Alt | GUI | App | Ctrl |
|
||||
-------------------------------------------------------------------------------------------
|
||||
```
|
||||
|
||||
Fn1 layer:
|
||||
|
||||
```
|
||||
-------------------------------------------------------------------------------------------
|
||||
|Reset| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Ins | Del |
|
||||
-------------------------------------------------------------------------------------------
|
||||
| | | | | | | | |Pscr |Slck |Paus | Up | | Del |
|
||||
-------------------------------------------------------------------------------------------
|
||||
| | | | | | | | |Home |PgUp |Left |Right| Enter |
|
||||
-------------------------------------------------------------------------------------------
|
||||
| | | | | | | | |End |PgDn |Down | | |
|
||||
-------------------------------------------------------------------------------------------
|
||||
| | | | | | | | |
|
||||
-------------------------------------------------------------------------------------------
|
||||
```
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define DEFAULT_LAYER 0
|
||||
#define THUMB_LAYER 1
|
||||
#define NORMAN_LAYER 2
|
||||
#define MOD_LAYER 3
|
||||
|
||||
#define HYPER_TAB ALL_T(KC_TAB)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[DEFAULT_LAYER] = LAYOUT_hhkb_arrow(
|
||||
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,
|
||||
HYPER_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_T(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_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, TG(NORMAN_LAYER),
|
||||
KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, MO(THUMB_LAYER), KC_SPC, KC_LGUI, KC_LALT, KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
|
||||
[THUMB_LAYER] = LAYOUT_hhkb_arrow(
|
||||
MO(MOD_LAYER), 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_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[NORMAN_LAYER] = LAYOUT_hhkb_arrow(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, KC_D, KC_F, KC_K, KC_J, KC_U, KC_R, KC_L, KC_SCLN, _______, _______, _______,
|
||||
_______, _______, _______, KC_E, KC_T, _______, KC_Y, KC_N, KC_I, KC_O, KC_H, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, KC_P, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[MOD_LAYER] = LAYOUT_hhkb_arrow(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
# rask's BananaSplit60
|
||||
|
||||

|
||||
|
||||
## Notes
|
||||
|
||||
### Layers
|
||||
|
||||
Base layer is a regular HHKBish ANSI layer. Toggling the
|
||||
alternate base layer (Fn3) makes it simpler to play games with
|
||||
the left space being set to be an actual Space.
|
||||
|
||||
Layer 1 (Fn1) contains usual 60% functionalities such as the
|
||||
F-row, while Layer 2 (Fn2) contains media controls.
|
||||
|
||||
The final layer (Fn4) is a special layer that acts as a lock
|
||||
layer, meaning the keyboard is locked while the layer
|
||||
is active. This firmware assumes a lock switch (read below).
|
||||
|
||||
### Lock switches
|
||||
|
||||
1.25u between the split space halves and the 1u key right
|
||||
left of LeftArrow are to be operated with a lock switch.
|
||||
If you don't have lock switches you should swap the `MO()`
|
||||
calls with `TG()` calls to make the layer toggles work
|
||||
with regular non/locking switches.
|
||||
|
||||
## How to make and flash
|
||||
|
||||
(These instructions are for Linux-based operating systems
|
||||
with `dfu-programmer` available.)
|
||||
|
||||
`cd` into the `bananasplit` keyboard's directory and run
|
||||
|
||||
make rask
|
||||
|
||||
which should result in a file called `bananasplit_rask.hex` appearing
|
||||
in your QMK root directory.
|
||||
|
||||
Now plug in your BananaSplit60 keyboard via USB. Verify
|
||||
with `lsusb` that it appears. At least my PCB did not have
|
||||
anything preflashed so you should see `atmega32u4` or similar
|
||||
in the `lsusb` output.
|
||||
|
||||
Now you can flash the firmware by
|
||||
|
||||
$ sudo dfu-programmer atmega32u4 erase
|
||||
$ cd /qmk_firmware/root/directory
|
||||
$ sudo dfu-programmer atmega32u4 flash bananasplit_rask.hex
|
||||
|
||||
_If_ you happen to have some other `atmega32u4` based device
|
||||
I suggest you plug it out before flashing your BS60 just to
|
||||
prevent accidentally flashing your old device.
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
// rask's BananaSplit60 layout
|
||||
|
||||
#define L_BASE 0
|
||||
#define L_BASE_ALT 1
|
||||
#define L_ONE 2
|
||||
#define L_TWO 3
|
||||
#define L_LOCK 4
|
||||
|
||||
#define ______ KC_TRNS
|
||||
#define XXXXXX KC_NO
|
||||
|
||||
// L_BASE
|
||||
// Initial layer with default keymap
|
||||
//
|
||||
// L_BASE_ALT
|
||||
// Layer with some standardisation e.g. make
|
||||
// space key "full" to make gaming less of a
|
||||
// chore
|
||||
//
|
||||
// L_ONE
|
||||
// General things like F-row and navigation
|
||||
//
|
||||
// L_TWO
|
||||
// Media controls and more exotic keybinds
|
||||
//
|
||||
// L_LOCK
|
||||
// Lock the keyboard, release to unlock
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[L_BASE] = LAYOUT_hhkb_arrow(
|
||||
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,
|
||||
MO(L_ONE), 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, MT(MOD_RSFT, KC_SLSH), KC_UP, MO(L_TWO),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_BSPC, MO(L_BASE_ALT), KC_SPACE, KC_RALT, MO(L_LOCK), KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
|
||||
[L_BASE_ALT] = LAYOUT_hhkb_arrow(
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
||||
______, ______, ______, KC_SPACE, ______, ______, ______, ______, ______, ______, ______
|
||||
),
|
||||
|
||||
[L_ONE] = LAYOUT_hhkb_arrow(
|
||||
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_INS,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_PGUP, ______,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, KC_HOME, KC_PGDN, KC_END
|
||||
|
||||
),
|
||||
|
||||
[L_TWO] = LAYOUT_hhkb_arrow(
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MPRV, KC_MPLY, KC_MNXT, ______, ______,
|
||||
KC_CAPS, ______, ______, ______, ______, ______, ______, ______, ______, KC_VOLD, KC_VOLU, KC_MUTE, ______,
|
||||
______, ______, ______, ______, ______, ______, ______, ______, KC_MSTP, ______, ______, ______, ______,
|
||||
______, KC_APP, ______, ______, ______, ______, ______, ______, ______, ______, ______
|
||||
),
|
||||
|
||||
[L_LOCK] = LAYOUT_hhkb_arrow(
|
||||
XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX,
|
||||
XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX,
|
||||
XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX,
|
||||
XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX,
|
||||
XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, XXXXXX, ______, XXXXXX, XXXXXX, XXXXXX
|
||||
),
|
||||
};
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include "../../config.h"
|
||||
|
||||
#define TAPPING_TERM 500
|
||||
#define PERMISSIVE_HOLD
|
||||
|
||||
#endif
|
||||
|
|
@ -1,96 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Layer names. We stick to 3 letters if possible so MO(NAME) fits in 7
|
||||
// characters and doesn't mess with the grid.
|
||||
#define _QW 0
|
||||
#define _L1 1
|
||||
#define _L2 2
|
||||
#define _L3 3
|
||||
|
||||
// Curly braces have their own keys. These are defined so they don't mess up the
|
||||
// grid in layer 2.
|
||||
#define L_CURBR LSFT(KC_LBRC)
|
||||
#define R_CURBR LSFT(KC_RBRC)
|
||||
|
||||
#define L1_TAB LT(_L1, KC_TAB)
|
||||
#define L2_ESC LT(_L2, KC_ESC)
|
||||
#define L2_SLSH LT(_L2, KC_SLSH)
|
||||
#define L3_QUOT LT(_L3, KC_QUOT)
|
||||
|
||||
// Tap dance magic
|
||||
#define TD_LGUI TD(BE_TD_GUI)
|
||||
#define TD_LCTL TD(BE_TD_CTL)
|
||||
#define TD_LALT TD(BE_TD_ALT)
|
||||
|
||||
#define ACTION_TAP_DANCE_MOD_TAP(mod) \
|
||||
{ .fn = {mod_tap_fn, NULL, mod_reset_fn}, .user_data = (void *)&((uint8_t){mod}), }
|
||||
|
||||
enum belak_td {
|
||||
BE_TD_GUI = 0,
|
||||
BE_TD_CTL,
|
||||
BE_TD_ALT,
|
||||
};
|
||||
|
||||
void mod_tap_fn(tap_dance_state_t *state, void *user_data);
|
||||
void mod_reset_fn(tap_dance_state_t *state, void *user_data);
|
||||
|
||||
tap_dance_action_t tap_dance_actions[] = {
|
||||
[BE_TD_GUI] = ACTION_TAP_DANCE_MOD_TAP(KC_LGUI),
|
||||
[BE_TD_CTL] = ACTION_TAP_DANCE_MOD_TAP(KC_LCTL),
|
||||
[BE_TD_ALT] = ACTION_TAP_DANCE_MOD_TAP(KC_LALT),
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QW] = LAYOUT_arrow_command( /* Qwerty */
|
||||
L2_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
L1_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, L2_SLSH,
|
||||
TD_LCTL, MO(_L3), TD_LALT, TD_LGUI, KC_SPC, KC_SPC, MO(_L1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[_L1] = LAYOUT_arrow_command( /* LAYER 1 */
|
||||
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
|
||||
_______, KC_BSLS, KC_QUOT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_DOWN, KC_UP, KC_LEFT, KC_RGHT, KC_QUOT,
|
||||
_______, KC_ESC, _______, KC_PSCR, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_RSFT,
|
||||
_______, KC_LGUI, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_L2] = LAYOUT_arrow_command( /* LAYER 2 */
|
||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||
KC_ESC, KC_PIPE, KC_DQUO, KC_UNDS, KC_PLUS, L_CURBR, R_CURBR, KC_4, KC_5, KC_6, KC_VOLU, _______,
|
||||
_______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, KC_VOLD, _______,
|
||||
_______, _______, _______, _______, _______, _______, KC_RALT, _______, _______, _______
|
||||
),
|
||||
[_L3] = LAYOUT_arrow_command( /* LAYER 3 */
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, _______,
|
||||
KC_ESC, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_F9, KC_F10, KC_F11, KC_F12, KC_RSFT,
|
||||
_______, _______, _______, _______, _______, _______, KC_RALT, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
// Tap dance functions
|
||||
void mod_tap_fn(tap_dance_state_t *state, void *user_data) {
|
||||
switch (state->count) {
|
||||
case 1:
|
||||
uint8_t *mod = (uint8_t *)user_data;
|
||||
register_mods(MOD_BIT(*mod));
|
||||
send_keyboard_report();
|
||||
break;
|
||||
case 2:
|
||||
layer_on(_L2);
|
||||
break;
|
||||
case 3:
|
||||
layer_off(_L2);
|
||||
layer_on(_L1);
|
||||
break;
|
||||
default:
|
||||
reset_tap_dance(state);
|
||||
}
|
||||
}
|
||||
|
||||
void mod_reset_fn(tap_dance_state_t *state, void *user_data) {
|
||||
uint8_t *mod = (uint8_t *)user_data;
|
||||
layer_off(_L1);
|
||||
layer_off(_L2);
|
||||
unregister_mods(MOD_BIT(*mod));
|
||||
send_keyboard_report();
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
# Belak's TV44 (TV46?) layout
|
||||
|
||||
This layout is roughly based on the low-rider arrow-southpaw layout from [the
|
||||
configurator](http://minivan.config.thevankeyboards.com) with a number of
|
||||
changes to make it easier to use and add in missing keys (like adding / and '
|
||||
to the main layer)
|
||||
|
||||
## Rev1
|
||||
|
||||
* Moved enter to a more standard location to have a full spacebar
|
||||
* Quote is now on L1
|
||||
* Small tweaks to make modifiers work a little more consistently
|
||||
* Greatly increase the tapping term to make the tap-dance mods easier to use
|
||||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
||||
#EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
#CONSOLE_ENABLE = yes # Console for debug(+400)
|
||||
#DEBUG_ENABLE = yes
|
||||
#COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
TAP_DANCE_ENABLE = yes
|
||||
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include "../../config.h"
|
||||
|
||||
// place overrides here
|
||||
#ifdef DEBOUNCE
|
||||
#undef DEBOUNCE
|
||||
#endif
|
||||
#define DEBOUNCE 2
|
||||
#define MOUSEKEY_INTERVAL 10
|
||||
#define MOUSEKEY_DELAY 0
|
||||
#define MOUSEKEY_TIME_TO_MAX 120
|
||||
#define MOUSEKEY_MAX_SPEED 9
|
||||
#define MOUSEKEY_WHEEL_DELAY 0
|
||||
#define MOUSEKEY_WHEEL_MAX_SPEED 2
|
||||
#define MOUSEKEY_WHEEL_TIME_TO_MAX 120
|
||||
#define TAPPING_TOGGLE 1
|
||||
#define TAPPING_TERM 200
|
||||
#define FORCE_NKRO
|
||||
#endif
|
||||
|
|
@ -1,225 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _DV 0
|
||||
#define _NM 1
|
||||
#define _NV 2
|
||||
#define _MN 3
|
||||
#define _FN 4
|
||||
|
||||
// Requires KC_TRNS/_______ for the trigger key in the destination layer
|
||||
#define NM_SP LT(_NM, KC_SPC)
|
||||
#define NV_SP LT(_NV, KC_SPC)
|
||||
#define MN_EN LT(_MN, KC_ENT)
|
||||
#define FN_EX LT(_FN, KC_ESC)
|
||||
|
||||
// Curly braces have their own keys. These are defined to make them not mess up
|
||||
// the grid in layer 2.
|
||||
#define L_CURB LSFT(KC_LBRC)
|
||||
#define R_CURB LSFT(KC_RBRC)
|
||||
|
||||
// Hypers
|
||||
#define HYP0 HYPR(KC_0)
|
||||
#define HYP1 HYPR(KC_1)
|
||||
#define HYP2 HYPR(KC_2)
|
||||
#define HYP3 HYPR(KC_3)
|
||||
#define HYP4 HYPR(KC_4)
|
||||
#define HYP5 HYPR(KC_5)
|
||||
#define HYP6 HYPR(KC_6)
|
||||
#define HYP7 HYPR(KC_7)
|
||||
#define HYP8 HYPR(KC_8)
|
||||
#define HYP9 HYPR(KC_9)
|
||||
|
||||
// MEH
|
||||
#define MEH0 MEH(KC_0)
|
||||
#define MEH1 MEH(KC_1)
|
||||
#define MEH2 MEH(KC_2)
|
||||
#define MEH3 MEH(KC_3)
|
||||
#define MEH4 MEH(KC_4)
|
||||
#define MEH5 MEH(KC_5)
|
||||
#define MEH6 MEH(KC_6)
|
||||
#define MEH7 MEH(KC_7)
|
||||
#define MEH8 MEH(KC_8)
|
||||
#define MEH9 MEH(KC_9)
|
||||
|
||||
// CAG
|
||||
#define CAG0 LCAG(KC_0)
|
||||
#define CAG1 LCAG(KC_1)
|
||||
#define CAG2 LCAG(KC_2)
|
||||
#define CAG3 LCAG(KC_3)
|
||||
#define CAG4 LCAG(KC_4)
|
||||
#define CAG5 LCAG(KC_5)
|
||||
#define CAG6 LCAG(KC_6)
|
||||
#define CAG7 LCAG(KC_7)
|
||||
#define CAG8 LCAG(KC_8)
|
||||
#define CAG9 LCAG(KC_9)
|
||||
|
||||
// ALTS
|
||||
#define ALT0 LALT(KC_0)
|
||||
#define ALT1 LALT(KC_1)
|
||||
#define ALT2 LALT(KC_2)
|
||||
#define ALT3 LALT(KC_3)
|
||||
#define ALT4 LALT(KC_4)
|
||||
#define ALT5 LALT(KC_5)
|
||||
#define ALT6 LALT(KC_6)
|
||||
#define ALT7 LALT(KC_7)
|
||||
#define ALT8 LALT(KC_8)
|
||||
#define ALT9 LALT(KC_9)
|
||||
#define ALTX LALT(KC_GRV)
|
||||
#define ALTL LALT(KC_LEFT)
|
||||
#define ALTR LALT(KC_RIGHT)
|
||||
#define ALTESC LALT(KC_ESC)
|
||||
#define ALTEQL LALT(KC_EQL)
|
||||
#define ALTMIN LALT(KC_MINS)
|
||||
|
||||
// BACK AND FORWARD
|
||||
#define XBACK LGUI(LALT(KC_LEFT))
|
||||
#define XFFWD LGUI(LALT(KC_RIGHT))
|
||||
|
||||
enum custom_keycodes {
|
||||
PLACEHOLDER = SAFE_RANGE, // can always be here
|
||||
SWTCH
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
|
||||
/* DVORAK
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------------.
|
||||
* | TAB | ' | , | . | P | Y | F | G | C | R | L | BACKSPACE |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------------|
|
||||
* | LCTL | A | O | E | U | I | D | H | T | N | S | MN/ENTER |
|
||||
* |----------`------`------`------`------`------`------`------`------`------`------`-----------|
|
||||
* | LSHFT | ; | Q | J | K | X | B | M | W | V | Z | RSHFT |
|
||||
* |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
|
||||
* | FN EX | GUI | ALT | NM / SPACE | NV / SPACE | RALT | - | = | ESC |
|
||||
* `---------+----------+----------+-----^^^------+----^^^-----+-------+-------+-------+-------'
|
||||
*/
|
||||
[_DV] = LAYOUT_arrow(
|
||||
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_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, MN_EN,
|
||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
|
||||
FN_EX, KC_LGUI, KC_LALT, NM_SP, NV_SP, KC_RALT, KC_MINS, KC_EQL, KC_ESC
|
||||
),
|
||||
|
||||
|
||||
|
||||
/* NUMBERS
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------------.
|
||||
* | ESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | DELETE |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------------|
|
||||
* | LCTL | ! | @ | [ | { | ( | ) | } | ] | | | ? | ENTER |
|
||||
* |----------`------`------`------`------`------`------`------`------`------`------`-----------|
|
||||
* | LSFT | ` | ~ | # | $ | % | ^ | & | * | _ | + | = |
|
||||
* | LSFT | ` | ~ | # | $ | % | ^ | & | * | _ | + | / |
|
||||
* |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
|
||||
* | | GUI | LALT |-----TRNS-----| SPACE | RALT | - | = | \ |
|
||||
* |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
|
||||
*/
|
||||
[_NM] = LAYOUT_arrow(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
_______, KC_EXLM, KC_AT, KC_LBRC, L_CURB, KC_LPRN, KC_RPRN, R_CURB, KC_RBRC, KC_PIPE, KC_QUES, _______,
|
||||
_______, KC_GRV, KC_TILD, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_UNDS, KC_PLUS, KC_SLSH,
|
||||
_______, _______, _______, _______, KC_SPC, _______, KC_MINS, KC_EQL, KC_BSLS
|
||||
),
|
||||
|
||||
|
||||
|
||||
/* NAVIGATION
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------------.
|
||||
* | ESC | MWU | MWL | MU | MWR | MPRV | MNXT | HOME | UP | END | PGUP | DELETE |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------------|
|
||||
* | LCTL | MWD | ML | MD | MR | MRWD | MFFD | LEFT | DOWN | RIGHT| PGDN | MB2 |
|
||||
* |----------`------`------`------`------`------`------`------`------`------`------`-----------|
|
||||
* | LSFT | HYP1 | HYP2 | HYP3 | HYP4 | HYP5 | HYP6 | HYP7 | HYP8 | HYP9 | HYP0 | VOLUP |
|
||||
* |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
|
||||
* | | GUI | LALT | MB1 |----TRNS----| MUTE | PLAY | STOP | VOLDN |
|
||||
* `---------+----------+----------+-----^^^------+----^^^-----+-------+-------+-------+-------'
|
||||
*/
|
||||
[_NV] = LAYOUT_arrow(
|
||||
KC_ESC, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, KC_MPRV, KC_MNXT, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_DEL,
|
||||
_______, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, KC_MRWD, KC_MFFD, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_BTN2,
|
||||
_______, HYP1, HYP2, HYP3, HYP4, HYP5, HYP6, HYP7, HYP8, HYP9, HYP0, KC_VOLU,
|
||||
_______, _______, _______, KC_BTN1, _______, KC_MUTE, KC_MPLY, KC_MSTP, KC_VOLD
|
||||
),
|
||||
|
||||
|
||||
|
||||
/* MODIFIED NUMBERS
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------------.
|
||||
* | ALTESC | CAG1 | CAG2 | CAG3 | CAG4 | CAG5 | CAG6 | CAG7 | CAG8 | CAG9 | CAG0 | SWTCH |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------------|
|
||||
* | ALT ` | ALT1 | ALT2 | ALT3 | ALT4 | ALT5 | ALT6 | ALT7 | ALT8 | ALT9 | ALT0 |----TRNS---|
|
||||
* |----------`------`------`------`------`------`------`------`------`------`------`-----------|
|
||||
* | ALT = | MEH1 | MEH2 | MEH3 | MEH4 | MEH5 | MEH6 | MEH7 | MEH8 | MEH9 | MEH0 | |
|
||||
* |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
|
||||
* | ALT - | | XBACK | ALT LEFT | ALT RIGHT | XFFWD | | | |
|
||||
* `---------+----------+----------+-----^^^------+----^^^-----+-------+-------+-------+-------'
|
||||
*/
|
||||
[_MN] = LAYOUT_arrow(
|
||||
ALTESC, CAG1, CAG2, CAG3, CAG4, CAG5, CAG6, CAG7, CAG8, CAG9, CAG0, SWTCH,
|
||||
ALTX, ALT1, ALT2, ALT3, ALT4, ALT5, ALT6, ALT7, ALT8, ALT9, ALT0, _______,
|
||||
ALTEQL, MEH1, MEH2, MEH3, MEH4, MEH5, MEH6, MEH7, MEH8, MEH9, MEH0, XXXXXXX,
|
||||
ALTMIN, XXXXXXX, XBACK, ALTL, ALTR, XFFWD, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
),
|
||||
|
||||
|
||||
|
||||
/* FUNCTIONS
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------------.
|
||||
* | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | DELETE |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------------|
|
||||
* | LCTL | F11 | F12 | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | |
|
||||
* |----------`------`------`------`------`------`------`------`------`------`------`-----------|
|
||||
* | LSFT | | | | | | | | | | | |
|
||||
* |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
|
||||
* |---TRNS---| CAPS | LALT | | SWTCH | RALT | | QK_BOOT |--TRNS-|
|
||||
* `---------+----------+----------+-----^^^------+----^^^-----+-------+-------+-------+-------'
|
||||
*/
|
||||
[_FN] = LAYOUT_arrow(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
|
||||
_______, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, XXXXXXX,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PWR, KC_SLEP, KC_WAKE, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, KC_CAPS, _______, XXXXXXX, SWTCH, KC_RALT, XXXXXXX, QK_BOOT, _______
|
||||
)
|
||||
|
||||
|
||||
|
||||
/* Transparent placeholder for more layers
|
||||
* ,---------+------+------+------+------+------+------+------+------+------+------+------------.
|
||||
* | | | | | | | | | | | | |
|
||||
* |---------`------`------`------`------`------`------`------`------`------`------`------------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |----------`------`------`------`------`------`------`------`------`------`------`-----------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |-----------`------`------`------`------`------`-------`------`------`------`------`---------|
|
||||
* | | | | | | | | | |
|
||||
* `---------+----------+----------+-----^^^------+----^^^-----+-------+-------+-------+-------'
|
||||
*/
|
||||
// [_TR] = LAYOUT_arrow(
|
||||
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
// _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
// )
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
switch (keycode) {
|
||||
case SWTCH:
|
||||
SEND_STRING(SS_DOWN(X_LGUI));
|
||||
SEND_STRING(SS_DOWN(X_LSFT));
|
||||
SEND_STRING(SS_TAP(X_ENTER));
|
||||
SEND_STRING(SS_UP(X_LSFT));
|
||||
SEND_STRING(SS_UP(X_LGUI));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
# Budi's TV44 Arrow layout
|
||||
|
||||
- Dvorak main layer
|
||||
- Somewhat easy bracket access for easy devs, happy :)
|
||||
- Dedicated gaming layers cuz u don't wanna mess with apm
|
||||
- Mainly for windows, but with translated alt/cmd on os, it's good to go
|
||||
|
||||
ASCII graphics shamelessly stolen from tong92's layout :)
|
||||
|
||||
Updates August 2018:
|
||||
- Escape both ways
|
||||
- Only include QMK_KEYBOARD_H
|
||||
|
||||
Updates July 2018:
|
||||
- I guess I don't play games that much anymore
|
||||
- SUGDW modifiers
|
||||
- Somehow LALT(LSFT(KC_RET)) does not register correctly on my mac
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _QW 0
|
||||
#define _L1 1
|
||||
#define _L2 2
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QW] = LAYOUT( /* Qwerty */
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_L2),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, MO(_L1), KC_RALT, KC_RCTL
|
||||
),
|
||||
[_L1] = LAYOUT( /* LAYER 1 */
|
||||
KC_GRV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_PAUS,
|
||||
KC_TAB, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, _______,
|
||||
_______, _______, _______, _______, _______, _______, KC_END, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_L2] = LAYOUT( /* LAYER 2 */
|
||||
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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_UNDS, KC_PLUS,
|
||||
_______, _______, _______, _______, _______, KC_COMM, KC_SLSH, KC_RBRC, KC_LBRC, KC_BSLS, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
# A minivan keymap based off the Vertex Core
|
||||
|
||||
## Main differences
|
||||
|
||||
* There are only 3 keys on the bottom right, so menu was dropped
|
||||
* There are only 3 keys on the bottom left, so Pn was dropped because there is
|
||||
no programmable layer.
|
||||
* There are only 12 keys in the first row, so the delete key (along with scroll
|
||||
lock) has been dropped.
|
||||
* The F1-F12 keys have been shifted by 1 so they all fit in the first row of
|
||||
layer 2.
|
||||
* Moved the grave/tilde to layer 1 (because in layer 2 it's now taken up by F1).
|
||||
* Keys relating to speed have been removed
|
||||
* The `L_Win + L_Alt + R_spacebar = R_Shift, R_Alt, Menu and R_Ctrl as arrow
|
||||
keys` as mentioned in the manual does not work.
|
||||
* The layer 2 plus shift should have support for symbols in the first row (where
|
||||
the F1-F12 keys are) but this has not been implemented, so you need to use the
|
||||
second row (where the numbers are).
|
||||
|
|
@ -1,201 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* Author: © 2020 by Jos Boersema
|
||||
*
|
||||
*/
|
||||
|
||||
// --------------------------------------v---------------------------------------
|
||||
// Configuration:
|
||||
// --------------------------------------v---------------------------------------
|
||||
|
||||
// --------------------------------------^---------------------------------------
|
||||
// Below here no more comfortable configuration options.....
|
||||
// --------------------------------------^---------------------------------------
|
||||
|
||||
|
||||
/* Redefine a layer in this file
|
||||
*
|
||||
* _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
|
||||
* in this file. The version in ./keymap.c will be ignored. Keep in mind to use
|
||||
* transparent keys (_______) for “hold” layer switch keys on the BASE map, for
|
||||
* your new layer.
|
||||
*/
|
||||
// #define BASESFILE_LAYER_ACC
|
||||
// #define BASESFILE_LAYER_DRA
|
||||
// #define BASESFILE_LAYER_BON
|
||||
// #define BASESFILE_LAYER_PAD
|
||||
// #define BASESFILE_LAYER_MOV
|
||||
// #define BASESFILE_LAYER_RAR
|
||||
// #define BASESFILE_LAYER_FUN
|
||||
|
||||
/* ⬇ */
|
||||
|
||||
/* Layer _..._BASE: Qwerty, normal BASE layer and 'default' layer
|
||||
*
|
||||
* - Dual use keys create a delay in the key (tap/hold keys), therefore
|
||||
* space is not dual use (most ued key), neither is hyphen.
|
||||
*/
|
||||
|
||||
// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
|
||||
# if defined(BASE_COLEMAK__DEF_BASE)
|
||||
[ _DEF_BASE ] = LAYOUT_redefined (
|
||||
# elif defined(BASE_COLEMAK__ALT_BASE)
|
||||
[ _ALT_BASE ] = LAYOUT_redefined (
|
||||
# endif
|
||||
|
||||
/*
|
||||
Layer _..._BASE (Letters). This is Colemak, except backspace/tab
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Esc qQ wW fF pP gG | jJ lL uU yY ;: Bksp
|
||||
Tab+LCtl aA rR sS tT dD | hH nN eE iI oO '"
|
||||
LSht+_PAD zZ xX cC vV bB | kK mM ,< .> /? RSht+_FUN
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
|
||||
hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
|
||||
hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
|
||||
┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
|
||||
^³ ^⁴ // Optional more keys
|
||||
(RGUI) (_MOV)
|
||||
|
||||
₁) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
|
||||
₂) Hold key “<2” with either٭ key “<3” or “3>” for _BON, single hold “<2” for _ACC. Marked: ┗━━…━━┛
|
||||
₃) 'South paw' hardware configuration. Configurable, default shown.
|
||||
₄) 'Arrow' hardware configuration Configurable, default shown.
|
||||
₃ ₄) There are two more optional hardware keys, to make it easier to compile for
|
||||
a 12x12x12x11 or 12x12x12x12 layouts.
|
||||
₅) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
|
||||
₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
|
||||
*/
|
||||
//
|
||||
// <pink2 , <pink, <ring, <midd, <indx, <ind|, indx>, inde>, midd> , ring> , pink> , pink2> ,
|
||||
// -*!- , , , , , <|,> , , , , , ,
|
||||
KC_ESC , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_SCLN , KC_BSPC ,
|
||||
LCTL_T ( KC_TAB ) , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_QUOT ,
|
||||
CHOLTAP_LSHFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMM , KC_DOT , KC_SLSH , CHOLTAP_RSHFT ,
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
LALT_T ( KC_LEFT )
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, MO ( _PAD )
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1_BASE
|
||||
# endif
|
||||
|
||||
# ifdef SWITCH_HOLD_ACC_NSY
|
||||
, DUO_HOLD , CHOLTAP_ACCE
|
||||
# else
|
||||
, CHOLTAP_ACCE , DUO_HOLD
|
||||
# endif
|
||||
, LEFTCENTER_THUMB
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
|
||||
, RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, MO ( _FUN )
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
, MORE_key2
|
||||
# endif
|
||||
|
||||
, CHOLTAP_LAYR
|
||||
// , , , <|,> , , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||
|
||||
),
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
||||
/* Layer _..._NSY: Numbers and symbols, to work with the Colemak base layer above (unchanged from Qwerty).
|
||||
* Off hand Number input (-.Bksp ent (shft)tab).
|
||||
*/
|
||||
// KC_TILD does not work there, because of a limitation with shifted keys (nov 2019).
|
||||
|
||||
// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
|
||||
# if defined(BASE_COLEMAK__DEF_BASE)
|
||||
[ _DEF_NSY ] = LAYOUT_redefined (
|
||||
# elif defined(BASE_COLEMAK__ALT_BASE)
|
||||
[ _ALT_NSY ] = LAYOUT_redefined (
|
||||
# endif
|
||||
|
||||
/*
|
||||
Layer _..._NSY (Numbers and SYmbols). This fits the above Colemak layer _..._BASE
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
-*- <|> //(toggle) Access on _FUN
|
||||
BASE ! @ # $ % | ^ & * ( ) Del
|
||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||
-+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
|
||||
^^ ^ // Only differences with normal version _..._NSY
|
||||
---------------------------------------------------------------------------
|
||||
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
||||
-*- <|> -*- //(hold) Access on _..._BASE
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1>
|
||||
^ ^
|
||||
(RGUI) (_MOV)
|
||||
*/
|
||||
//
|
||||
//
|
||||
// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
|
||||
// , -*- , , , , <|,> , , , , , ,
|
||||
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
||||
LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) ,
|
||||
LSFT_DASH , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_TILDE ,
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------------------
|
||||
LALT_T ( KC_LEFT )
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, XXXXXXX
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1
|
||||
# endif
|
||||
|
||||
, _______ , _______ , KC_ENT
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
|
||||
, KC_DOT , DUO_HOLD , KC__YGUI
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, XXXXXXX
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
, MORE_key2
|
||||
# endif
|
||||
|
||||
, RALT_T ( KC_RGHT )
|
||||
// , , -*- , <|,> , -*- , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||
|
||||
),
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
|
@ -1,95 +0,0 @@
|
|||
# Minifan layout
|
||||
|
||||
Compiled for: Colemak
|
||||
=====================
|
||||
|
||||
This file details the compile version `#define BASE_COLEMAK__DEF_BASE, BASE_COLEMAK__ALT_BASE`.
|
||||
This is a Colemak layout.
|
||||
|
||||
Control follows Unix logic here (left/center), not Colemak Backspace.
|
||||
|
||||
Colemak keymaps
|
||||
---------------
|
||||
|
||||
──────────Colemak──────────────
|
||||
|
||||

|
||||
Layer: `..._BASE`
|
||||
|
||||

|
||||
Layer: `..._NSY`
|
||||
|
||||
──────────in common────────────
|
||||
|
||||
(…)
|
||||
|
||||
For more about the other layers, see ➡  ⬅
|
||||
|
||||

|
||||
|
||||
Layers (text)
|
||||
=============
|
||||
|
||||
───────────────Colemak────────────────
|
||||
Layer _..._BASE (Letters). This is Colemak, except backspace/tab
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Esc qQ wW fF pP gG | jJ lL uU yY ;: Bksp
|
||||
Tab+LCtl aA rR sS tT dD | hH nN eE iI oO '"
|
||||
LSht+_PAD zZ xX cC vV bB | kK mM ,< .> /? RSht+_FUN
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) RGUI Right;_RAR
|
||||
hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
|
||||
hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
|
||||
┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
|
||||
^³ ^⁴ // Optional more keys
|
||||
(LGUI) (_MOV)
|
||||
|
||||
₁) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
|
||||
₂) Hold key “<2” with either٭ key “<3” or “3>” for _BON, single hold “<2” for _ACC. Marked: ┗━━…━━┛
|
||||
₃) 'South paw' hardware configuration. Configurable, default shown.
|
||||
₄) 'Arrow' hardware configuration Configurable, default shown.
|
||||
₃ ₄) There are two more optional hardware keys, to make it easier to compile for
|
||||
a 12x12x12x11 or 12x12x12x12 layouts.
|
||||
₅) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
|
||||
₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
|
||||
|
||||
Remarks: The left modifiers have a slight delay in combination with an outside pointer device (mouse, stylus).
|
||||
It seems this will be difficult to fix, because it is spread over two devices. To avoid the
|
||||
±0.2 second delay, activate a layer where the modifiers are direct (`_PAD`), using the layer toggle on left shift.
|
||||
|
||||
The two keys with ';' (Del;`_ACC`, Right;`_RAR`) do not auto-repeat on double tap, like QMK normal layer-tap keys.
|
||||
There is an uncluttered _Delete_ on `_PAD`, an uncluttered _Right_ arrow on the `_MOV` layer.
|
||||
|
||||
Holding both `_DEF_NSY` keys left and right of the "split space bar" (enter, space) results in layer `_DRA`.
|
||||
|
||||
Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>), with the `_ACC` layer key
|
||||
(on <2) results in layer `_BON`.
|
||||
|
||||
|
||||
- - -
|
||||
|
||||
|
||||
Layer _..._NSY (Numbers and SYmbols). (Same as Qwerty numbers layer.)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
-*- <|> //(toggle) Access on _FUN
|
||||
BASE ! @ # $ % | ^ & * ( ) Del
|
||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||
-+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
|
||||
^^ ^ // Only differences with Dvorak version _DEF_NSY
|
||||
---------------------------------------------------------------------------
|
||||
Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
|
||||
-*- <|> -*- u //(hold) Access on _DEF_BASE
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1>
|
||||
^ ^
|
||||
(LGUI) (_MOV)
|
||||
|
||||
|
||||
|
||||
- - -
|
||||
|
||||
|
||||
|
|
@ -1,200 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* Author: © 2020 by Jos Boersema
|
||||
*
|
||||
*/
|
||||
|
||||
// --------------------------------------v---------------------------------------
|
||||
// Configuration:
|
||||
// --------------------------------------v---------------------------------------
|
||||
|
||||
|
||||
// --------------------------------------^---------------------------------------
|
||||
// Below here no more comfortable configuration options.....
|
||||
// --------------------------------------^---------------------------------------
|
||||
|
||||
/* Redefine a layer in this file
|
||||
*
|
||||
* _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
|
||||
* in this file. The version in ./keymap.c will be ignored. Keep in mind to use
|
||||
* transparent keys (_______) for “hold” layer switch keys on the BASE map, for
|
||||
* your new layer.
|
||||
*/
|
||||
// #define BASESFILE_LAYER_ACC
|
||||
// #define BASESFILE_LAYER_DRA
|
||||
// #define BASESFILE_LAYER_BON
|
||||
// #define BASESFILE_LAYER_PAD
|
||||
// #define BASESFILE_LAYER_MOV
|
||||
// #define BASESFILE_LAYER_RAR
|
||||
// #define BASESFILE_LAYER_FUN
|
||||
|
||||
/* ⬇ */
|
||||
|
||||
/* Layer _..._BASE: default BASE layer (Dvorak)
|
||||
*
|
||||
* - Dual use keys create a delay in the key (tap/hold keys), therefore
|
||||
* space is not dual use (most used key), neither is hyphen.
|
||||
*/
|
||||
|
||||
// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
|
||||
# if defined(BASE_DVORAK__DEF_BASE)
|
||||
[ _DEF_BASE ] = LAYOUT_redefined (
|
||||
# elif defined(BASE_DVORAK__ALT_BASE)
|
||||
[ _ALT_BASE ] = LAYOUT_redefined (
|
||||
# endif
|
||||
|
||||
/*
|
||||
Layer _..._BASE (LeTteRs, standard Dvorak)
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Esc '" ,< .> pP yY | fF gG cC rR lL Bksp
|
||||
Tab+LCtl aA oO eE uU iI | dD hH tT nN sS -_
|
||||
LSht+_PAD ;: qQ jJ kK xX | bB mM wW vV zZ RSht+_FUN
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
|
||||
hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
|
||||
hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
|
||||
┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
|
||||
^³ ^⁴ // Optional more keys
|
||||
… …
|
||||
|
||||
₁) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
|
||||
₂) Hold key “<2” with either٭ key “<3” or “3>” for _BON, single hold “<2” for _ACC. Marked: ┗━━…━━┛
|
||||
³) 'South paw' hardware configuration
|
||||
⁴) 'Arrow' hardware configuration
|
||||
³ ⁴) There are two more optional hardware keys, to make it easier to compile for
|
||||
a 12x12x12x11 or 12x12x12x12 layouts.
|
||||
⁵) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
|
||||
⁶) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
|
||||
*/
|
||||
//
|
||||
// <pink2 , <pinky , <ring , <middl , <indx, <ind|, indx>, inde>, midd>, ring>, pink>, pink2> ,
|
||||
// -*!- , , , , , <|,> , , , , , ,
|
||||
KC_ESC , KC_QUOT , KC_COMM , KC_DOT , KC_P , KC_Y , KC_F , KC_G , KC_C , KC_R , KC_L , KC_BSPC ,
|
||||
LCTL_T ( KC_TAB ) , KC_A , KC_O , KC_E , KC_U , KC_I , KC_D , KC_H , KC_T , KC_N , KC_S , KC_MINS ,
|
||||
CHOLTAP_LSHFT , KC_SCLN , KC_Q , KC_J , KC_K , KC_X , KC_B , KC_M , KC_W , KC_V , KC_Z , CHOLTAP_RSHFT ,
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
LALT_T ( KC_LEFT )
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, MO ( _PAD )
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1_BASE
|
||||
# endif
|
||||
|
||||
# ifdef SWITCH_HOLD_ACC_NSY
|
||||
, DUO_HOLD , CHOLTAP_ACCE
|
||||
# else
|
||||
, CHOLTAP_ACCE , DUO_HOLD
|
||||
# endif
|
||||
|
||||
, LEFTCENTER_THUMB
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
|
||||
, RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, MO ( _FUN )
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
, MORE_key2
|
||||
# endif
|
||||
|
||||
, CHOLTAP_LAYR
|
||||
// , , , <|,> , , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||
|
||||
),
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
||||
/* Layer _..._NSY: Numbers and symbols.
|
||||
* Off hand Number input (-.Bksp ent (shft)tab).
|
||||
*/
|
||||
// KC_TILD does not work there, because of a limitation with shifted keys (nov 2019).
|
||||
|
||||
// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
|
||||
# if defined(BASE_DVORAK__DEF_BASE)
|
||||
[ _DEF_NSY ] = LAYOUT_redefined (
|
||||
# elif defined(BASE_DVORAK__ALT_BASE)
|
||||
[ _ALT_NSY ] = LAYOUT_redefined (
|
||||
# endif
|
||||
|
||||
/*
|
||||
Layer _..._NSY (Numbers and SYmbols)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
-*- <|> //(toggle) Access on _FUN
|
||||
BASE ! @ # $ % | ^ & * ( ) Del
|
||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||
-+LSht [{ ]} /? \| =+ | + | ? { } ~+RSht
|
||||
---------------------------------------------------------------------------
|
||||
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
||||
-*- <|> -*- //(hold) Access on _..._BASE
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1>
|
||||
… …
|
||||
*/
|
||||
//
|
||||
//
|
||||
// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
|
||||
// , -*- , , , , <|,> , , , , , ,
|
||||
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
||||
LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) ,
|
||||
LSFT_DASH , KC_LBRC , KC_RBRC , KC_SLSH , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_QUES , KC_LCBR , KC_RCBR , RSFT_TILDE ,
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------------------
|
||||
LALT_T ( KC_LEFT )
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, TRANS_LEFT
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1
|
||||
# endif
|
||||
|
||||
, _______ , _______ , KC_ENT
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
, KC_DOT , DUO_HOLD , KC__YGUI
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, TRANS_RIGHT
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
, MORE_key2
|
||||
# endif
|
||||
|
||||
, RALT_T ( KC_RIGHT )
|
||||
// , , -*- , <|,> , -*- , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||
|
||||
),
|
||||
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
|
@ -1,92 +0,0 @@
|
|||
# Minifan layout
|
||||
|
||||
Compiled for: Dvorak
|
||||
====================
|
||||
|
||||
This file details the compile version `#define BASE_DVORAK__DEF_BASE,
|
||||
BASE_DVORAK__ALT_BASE`. This is a Dvorak layout.
|
||||
|
||||
Dvorak keymaps
|
||||
--------------
|
||||
|
||||
──────────Dvorak───────────────
|
||||
|
||||

|
||||
Layer: `..._BASE`
|
||||
|
||||

|
||||
Layer: `..._NSY`
|
||||
|
||||
──────────in common────────────
|
||||
|
||||
(…)
|
||||
|
||||
For more about the other layers, see ➡  ⬅
|
||||
|
||||

|
||||
|
||||
Layers (text)
|
||||
=============
|
||||
|
||||
Layer _..._BASE (LeTteRs, standard Dvorak)
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Esc '" ,< .> pP yY | fF gG cC rR lL Bksp
|
||||
Tab+LCtl aA oO eE uU iI | dD hH tT nN sS -_
|
||||
LSht+_PAD ;: qQ jJ kK xX | bB mM wW vV zZ RSht+_FUN
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
Left+LAlt Del;_ACC _DEF_NSY(_DRA) Enter+_MOV| Space _DEF_NSY(_DRA) RGUI Right;_RAR
|
||||
hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
|
||||
hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
|
||||
┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
|
||||
^³ ^⁴ // Optional more keys
|
||||
(LGUI) (_MOV)
|
||||
|
||||
₁) Dual hold for _DRA, single hold for _DEF_NSY. Marked by: ^--…--^
|
||||
₂) Hold key “<2” with either٭ key “<3” or “3>” for _BON, single hold “<2” for _ACC. Marked: ┗━━…━━┛
|
||||
₃) 'South paw' hardware configuration. Configurable, default shown.
|
||||
₄) 'Arrow' hardware configuration Configurable, default shown.
|
||||
₃ ₄) There are two more optional hardware keys, to make it easier to compile for
|
||||
a 12x12x12x11 or 12x12x12x12 layouts.
|
||||
₅) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
|
||||
₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
|
||||
|
||||
Remarks: The left modifiers have a slight delay in combination with an outside pointer device (mouse, stylus).
|
||||
It seems this will be difficult to fix, because it is spread over two devices. To avoid the
|
||||
±0.2 second delay, activate a layer where the modifiers are direct (`_PAD`), using the layer toggle on left shift.
|
||||
|
||||
The two keys with ';' (Del;`_ACC`, Right;`_RAR`) do not auto-repeat on double tap, like QMK normal layer-tap keys.
|
||||
There is an uncluttered _Delete_ on `_PAD`, an uncluttered _Right_ arrow on the `_MOV` layer.
|
||||
|
||||
Holding both `_DEF_NSY` keys left and right of the "split space bar" (enter, space) results in layer `_DRA`.
|
||||
|
||||
Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>), with the `_ACC` layer key
|
||||
(on <2) results in layer `_BON`.
|
||||
|
||||
- - -
|
||||
|
||||
Layer _..._NSY (Numbers and SYmbols)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
-*- <|> //(toggle) Access on _FUN
|
||||
BASE ! @ # $ % | ^ & * ( ) Del
|
||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||
-+LSht [{ ]} /? \| =+ | + | ? { } ~+RSht
|
||||
---------------------------------------------------------------------------
|
||||
Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
|
||||
-*- <|> -*- //(hold) Access on _DEF_BASE
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1>
|
||||
^ ^
|
||||
(LGUI) (_MOV)
|
||||
|
||||
- - -
|
||||
|
||||
Key associations
|
||||
----------------
|
||||
Key placement associations between layers for Dvorak.
|
||||
|
||||

|
||||
|
||||
|
|
@ -1,242 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* Author: © 2020 by Jos Boersema
|
||||
*
|
||||
*/
|
||||
|
||||
// --------------------------------------v---------------------------------------
|
||||
// Configuration:
|
||||
// --------------------------------------v---------------------------------------
|
||||
|
||||
|
||||
// --------------------------------------^---------------------------------------
|
||||
// Below here no more comfortable configuration options.....
|
||||
// --------------------------------------^---------------------------------------
|
||||
|
||||
/* Redefine a layer in this file
|
||||
*
|
||||
* _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
|
||||
* in this file. The version in ./keymap.c will be ignored. Keep in mind to use
|
||||
* transparent keys (_______) for “hold” layer switch keys on the BASE map, for
|
||||
* your new layer.
|
||||
*
|
||||
*/
|
||||
// #define BASESFILE_LAYER_ACC
|
||||
// #define BASESFILE_LAYER_DRA
|
||||
// #define BASESFILE_LAYER_BON
|
||||
// #define BASESFILE_LAYER_PAD
|
||||
// #define BASESFILE_LAYER_MOV
|
||||
// #define BASESFILE_LAYER_RAR
|
||||
// #define BASESFILE_LAYER_FUN
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
||||
/* Layers _ALT_BASE, _ALT_NSY: Descramble basic layers if the computer itself is
|
||||
* applying Dvorak remapping.
|
||||
*
|
||||
* When a computer is already set to Dvorak, connecting a
|
||||
* keyboard which is natively Dvorak results in garbage.
|
||||
* The computer side normal keycodes to Dvorak remapping goes
|
||||
* on top of the wrong input, resulting in the following being
|
||||
* effective:
|
||||
*
|
||||
* _DEF_BASE layer: |
|
||||
* Esc - w v l f u i j p n Bspc
|
||||
* Tab a r . g c e d y b o [
|
||||
* Sht s ' h t q x m , k ; Sht
|
||||
* Enter Space
|
||||
* _DEF_NSY layer: |
|
||||
* _DEF_BASE ! @ # $ % ^ & * ( ) Bspc
|
||||
* [ 1 2 3 4 5 \ ] z / = `
|
||||
* Sht 0 9 8 7 6 | } Z ? + `
|
||||
* Enter Space
|
||||
*
|
||||
* _ACC layer: |
|
||||
* <just semi-random character strings>
|
||||
*
|
||||
* _DRA, _BON: same as _ACC: garbage.
|
||||
*
|
||||
* To solve this results in the strange layout given below.
|
||||
* The result is close to a Qwerty layout. It will not be ideal
|
||||
* for Qwerty typers because the symbols are not arranged that
|
||||
* well.
|
||||
*/
|
||||
|
||||
|
||||
/* Layer _ALT_BASE: Descrambled _DEF_BASE layer for a computer already set to Dvorak (see above).
|
||||
* It is a copy of _DEF_BASE, with moved around stuff, and points to _ALT_NSY instead
|
||||
* of _DEF_NSY, because that too has some descrambled symbols. The rest is the same.
|
||||
*
|
||||
*/
|
||||
|
||||
// This layout is only foreseen on ‛Alternate’.
|
||||
[ _ALT_BASE ] = LAYOUT_redefined (
|
||||
|
||||
/*
|
||||
Layer _ALT_BASE (Dvorak descramble mode for letters, end result shown)
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Esc '" ,< .> pP yY | fF gG cC rR lL Bksp
|
||||
Tab+LCtl aA oO eE uU iI | dD hH tT nN sS -_
|
||||
LSht+_PAD ;: qQ jJ kK xX | bB mM wW vV zZ RSht+_FUN
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
Left+LAlt Del;_ACC _ALT_NSY(_DRA) Enter+_MOV| Space _ALT_NSY(_DRA) LGUI Right;_RAR
|
||||
hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
|
||||
hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
|
||||
┗━━━━━━━━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
|
||||
^³ ^⁴ // Optional more keys
|
||||
(RGUI) (_MOV)
|
||||
|
||||
₁) Dual hold for _DRA, single hold for _DEF_NSY. Marked by: ^--…--^
|
||||
₂) Hold key “<2” with either٭ key “<3” or “3>” for _BON, single hold “<2” for _ACC. Marked: ┗━━…━━┛
|
||||
₃) 'South paw' hardware configuration. Configurable, default shown.
|
||||
₄) 'Arrow' hardware configuration Configurable, default shown.
|
||||
₃ ₄) There are two more optional hardware keys, to make it easier to compile for
|
||||
a 12x12x12x11 or 12x12x12x12 layouts.
|
||||
₅) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
|
||||
₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
|
||||
|
||||
|
||||
_ALT_BASE input results in the same as _DEF_BASE with computer side Dvorak remapping. Only shown what changes:
|
||||
|
||||
'" ,< .> pP yY | fF gG cC rR lL // row 4, result
|
||||
oO eE uU iI | dD hH tT nN sS -_ // row 3, result
|
||||
;: qQ jJ kK xX | bB wW vV zZ // row 2, result
|
||||
---------------------------------------------------------------------------------------
|
||||
_ALT_NSY _ALT_NSY // row 1, result
|
||||
|
||||
(Keys for 'aA', '\|' and 'mM' are the same in Dvorak and Qwerty.)
|
||||
|
||||
*/
|
||||
//
|
||||
//
|
||||
// <pink2 , <pink, <ring, <midd, <indx, <ind|, indx>, inde>, middle> , ring> , pink> , pink2> ,
|
||||
// -*- , , , , , <|,> , , , , , -!- ,
|
||||
KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC ,
|
||||
LCTL_T ( KC_TAB ) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT ,
|
||||
CHOLTAP_LSHFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , CHOLTAP_RSHFT ,
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
LALT_T ( KC_LEFT )
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, MO ( _PAD )
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1_BASE
|
||||
# endif
|
||||
|
||||
# ifdef SWITCH_HOLD_ACC_NSY
|
||||
, DUO_HOLD , CHOLTAP_ACCE
|
||||
# else
|
||||
, CHOLTAP_ACCE , DUO_HOLD
|
||||
# endif
|
||||
|
||||
, LEFTCENTER_THUMB
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
|
||||
, RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, MO ( _FUN )
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
, MORE_key2
|
||||
# endif
|
||||
|
||||
, CHOLTAP_LAYR
|
||||
// , , , <|,> , , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||
|
||||
),
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
||||
|
||||
/* Layer _ALT_NSY: Descrambled _DEF_NSY layer for a computer already set to Dvorak (see just above).
|
||||
*
|
||||
*/
|
||||
// KC_TILD does not work there, because of a limitation with shifted keys (nov 2019).
|
||||
|
||||
[ _ALT_NSY ] = LAYOUT_redefined (
|
||||
|
||||
/*
|
||||
Layer _ALT_NSY (Dvorak descramble mode for numbers/symbols)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
-*- <|> //(toggle) Access on _FUN
|
||||
BASE ! @ # $ % | ^ & * ( ) Del
|
||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||
-+LSht -_ =+ [{ \| ]} | } | { _ + ~+RSht // row 2, raw
|
||||
---------------------------------------------------------------------------
|
||||
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
||||
-*- <|> -*- //(hold) Access on _DEF_BASE
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1>
|
||||
^ ^
|
||||
(RGUI) (_MOV)
|
||||
|
||||
_ALT_NSY input results in the same as _DEF_NSY with computer side Dvorak remapping. Only shown what changes:
|
||||
|
||||
[{ ]} /? =+ | + ? { } // row 2, result
|
||||
*/
|
||||
//
|
||||
// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
|
||||
// , -*- , , , , <|,> , , , , -*- , ,
|
||||
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
||||
LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) ,
|
||||
LSFT_DASH , KC_MINS , KC_EQL , KC_LBRC , KC_BSLS , KC_RBRC , KC_RCBR , KC_PIPE , KC_LCBR , KC_UNDS , KC_PLUS , RSFT_TILDE ,
|
||||
// --------------------------------------------------------------------------------------------------------------------------------------------
|
||||
LALT_T ( KC_LEFT )
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, XXXXXXX
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1
|
||||
# endif
|
||||
|
||||
, _______ , _______ , KC_ENT
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
|
||||
, KC_DOT , DUO_HOLD , KC__YGUI
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, XXXXXXX
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
, MORE_key2
|
||||
# endif
|
||||
|
||||
, RALT_T ( KC_RIGHT )
|
||||
// , , -*- , <|,> , -*- , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||
|
||||
),
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
|
@ -1,135 +0,0 @@
|
|||
# Minifan layout
|
||||
|
||||
Compiled for: Dvorak²
|
||||
=====================
|
||||
|
||||
This file details the compile version `#define BASE_DVORAK_DESCRAMBLE__ALT_BASE`
|
||||
which has a special version of Dvorak so that you can type Dvorak on a computer
|
||||
*already* set to do Dvorak layout re-mapping.
|
||||
|
||||
This can be useful on for example a laptop, for which the build-in
|
||||
keyboard should to be in Dvorak.
|
||||
|
||||
Dvorak² keymaps
|
||||
---------------
|
||||
|
||||
──────────Dvorak───────────────
|
||||
|
||||

|
||||
Layer: `..._BASE`
|
||||
|
||||

|
||||
Layer: `..._NSY`
|
||||
|
||||
──────────in common────────────
|
||||
|
||||
(…)
|
||||
|
||||
For more about the other layers, see ➡  ⬅
|
||||
|
||||

|
||||
|
||||
Layers (text)
|
||||
=============
|
||||
|
||||
Layer _ALT_BASE (Dvorak descramble mode for letters)
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... // -o- BASE access
|
||||
Esc '" ,< .> pP yY | fF gG cC rR lL Bksp
|
||||
Tab+LCtl aA oO eE uU iI | dD hH tT nN sS -_
|
||||
LSht+_PAD ;: qQ jJ kK xX | bB mM wW vV zZ RSht+_FUN
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
Left+LAlt Del;_ACC _ALT_NSY(_DRA) Enter+_MOV| Space _ALT_NSY(_DRA) RGUI Right;_RAR
|
||||
hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
|
||||
hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
|
||||
┗━━━━━━━━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
|
||||
^³ ^⁴ // Optional more keys
|
||||
(LGUI) (_MOV)
|
||||
|
||||
₁) Dual hold for _DRA, single hold for _DEF_NSY. Marked by: ^--…--^
|
||||
₂) Hold key “<2” with either٭ key “<3” or “3>” for _BON, single hold “<2” for _ACC. Marked: ┗━━…━━┛
|
||||
₃) 'South paw' hardware configuration. Configurable, default shown.
|
||||
₄) 'Arrow' hardware configuration Configurable, default shown.
|
||||
₃ ₄) There are two more optional hardware keys, to make it easier to compile for
|
||||
a 12x12x12x11 or 12x12x12x12 layouts.
|
||||
₅) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
|
||||
₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
|
||||
|
||||
|
||||
This layer input results in the same as normal Dvorak if computer side Dvorak remapping is occuring.
|
||||
Only shown what changes:
|
||||
|
||||
'" ,< .> pP yY | fF gG cC rR lL // row 4, result
|
||||
oO eE uU iI | dD hH tT nN sS -_ // row 3, result
|
||||
;: qQ jJ kK xX | bB wW vV zZ // row 2, result
|
||||
-------------------------------------------------------------------------------
|
||||
_ALT_NSY _ALT_NSY // row 1, result
|
||||
|
||||
(Keys for 'aA', '\|' and 'mM' are the same in Dvorak and Qwerty.)
|
||||
|
||||
- - -
|
||||
|
||||
Layer _ALT_NSY (Dvorak descramble mode for numbers-symbols)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
-*- <|> //(toggle) Access on _FUN
|
||||
BASE ! @ # $ % | ^ & * ( ) Del
|
||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||
-+LSht -_ =+ [{ \| ]} | } | { _ + ~+RSht // row 2, raw
|
||||
---------------------------------------------------------------------------
|
||||
Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
|
||||
-*- <|> -*- //(hold) Access on _DEF_BASE
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1>
|
||||
^ ^
|
||||
(LGUI) (_MOV)
|
||||
|
||||
This layer input results in the same as regular Dvorak _..._NSY layer, if computer side Dvorak remapping
|
||||
is occuring. Only shown what changes:
|
||||
|
||||
[{ ]} /? =+ | + ? { } // row 2, result
|
||||
|
||||
- - -
|
||||
|
||||
Special feature: 'Descramble' mode
|
||||
==================================
|
||||
|
||||

|
||||
|
||||
This is an option to take care of typing normally on a computer already
|
||||
set to Dvorak ('descramble' mode.)
|
||||
|
||||
Activation: go to `_RAR` layer, than touch what is space bar on the BASE layer
|
||||
(the key just right from the middle on the first row). This cycles through the modes.
|
||||
|
||||
⮚ When the left led is white: normal mode.
|
||||
⮚ Right led white: full descramble mode (Linux descrambled Unicode input).
|
||||
⮚ Middle led white: half descramble mode, with normal Unicode input system.
|
||||
|
||||
With the middle led set to white, you can take advantage of a Unicode
|
||||
input mode that works on your system, if it is the same when the
|
||||
computer is set to Dvorak or not (see `_RAR` layer for Unicode input
|
||||
encoding selection). This more or less means there is one more Unicode
|
||||
encoding option than already standard in QMK: 'descrambled' version for
|
||||
Linux (Shift-Control-U HEX) encoding, for use on a computer *already* set to
|
||||
Dvorak.
|
||||
|
||||
To test it, (in Debian/Linux) go to a terminal in X and type (normal user)
|
||||
|
||||
> setxkbmap -layout us -variant dvorak
|
||||
|
||||
Undo:
|
||||
|
||||
> setxkbmap -layout us
|
||||
|
||||
Unicode on Windos operating system may require to install something special.
|
||||
|
||||
|
||||
Key associations
|
||||
----------------
|
||||
Key placement associations between layers for Dvorak.
|
||||
|
||||

|
||||
|
||||
|
|
@ -1,291 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* Author: © 2021 by Jos Boersema
|
||||
*
|
||||
*/
|
||||
|
||||
// --------------------------------------v---------------------------------------
|
||||
// Configuration:
|
||||
// --------------------------------------v---------------------------------------
|
||||
|
||||
// See the user configuration file: ./base_hebrew.h
|
||||
|
||||
// --------------------------------------^---------------------------------------
|
||||
// Below here no more comfortable configuration options.....
|
||||
// --------------------------------------^---------------------------------------
|
||||
|
||||
/* ⬇ */
|
||||
|
||||
/* Layer _..._BASE: default BASE layer (Hebrew)
|
||||
*
|
||||
* - Dual use keys create a delay in the key (tap/hold keys), therefore
|
||||
* space is not dual use (most used key), neither is hyphen.
|
||||
*/
|
||||
|
||||
// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
|
||||
# if defined(BASE_HEBREW__DEF_BASE)
|
||||
[ _DEF_BASE ] = LAYOUT_redefined (
|
||||
# elif defined(BASE_HEBREW__ALT_BASE)
|
||||
[ _ALT_BASE ] = LAYOUT_redefined (
|
||||
# endif
|
||||
|
||||
/*
|
||||
Layer _..._BASE (LeTteRs, standard Hebrew as in Israel)
|
||||
➡ This is a simple hebrew layout. Notice the letter ק is displaced from normal,
|
||||
to retain compatibility with Dvorak-English for ,<.>. There are no niqqud
|
||||
available, because it is far too many unique symbols in Unicode, and it is
|
||||
rarely used.
|
||||
|
||||
HEBREW_ISRAEL
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Esc /; ׳ ק ר א | ט ו ן ם פ Bksp
|
||||
Tab+LCtl ש ד ג/RLM כ₪ ע | י ח ל/LRM ך ף: ,״ //Right-Left-Mark
|
||||
LSht+_PAD ז ס ב ה נ | מ צ ת< ץ> .? RSht+_FUN //<>os side flip?
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
|
||||
hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
|
||||
hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
|
||||
┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
|
||||
^³ ^⁴ // Optional more keys
|
||||
… …
|
||||
|
||||
HEBREW_QWERTY
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Esc ת• ץ• ק ר א | ט ו ן ם׳ פ״ Bksp
|
||||
Tab+LCtl ש ד ג/RLM כ₪ ע | י ח ל/LRM ך ף: '" //Right-Left-Mark
|
||||
LSht+_PAD ז ס ב ה נ | מ צ ,< .> /? RSht+_FUN
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
|
||||
hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
|
||||
hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
|
||||
┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
|
||||
^³ ^⁴ // Optional more keys
|
||||
… …
|
||||
|
||||
HEBREW_DVORAK
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Esc '" ,< .> ר א | ט ו ן ם׳ פ״ Bksp
|
||||
Tab+LCtl ש ד ג/RLM כ₪ ע | י ח ל/LRM ך ף ־ //Right-Left-Mark
|
||||
LSht+_PAD ז: ס ב ה נ | מ צ ת ץ ק• RSht+_FUN
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
|
||||
hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
|
||||
hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
|
||||
┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
|
||||
^³ ^⁴ // Optional more keys
|
||||
… …
|
||||
|
||||
|
||||
₁) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
|
||||
₂) Hold key “<2” with either٭ key “<3” or “3>” for _BON, single hold “<2” for _ACC. Marked: ┗━━…━━┛
|
||||
³) 'South paw' hardware configuration
|
||||
⁴) 'Arrow' hardware configuration
|
||||
³ ⁴) There are two more optional hardware keys, to make it easier to compile for
|
||||
a 12x12x12x11 or 12x12x12x12 layouts.
|
||||
⁵) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
|
||||
⁶) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
|
||||
⁷) Letters marked with • are displaced from standard hebrew layout.
|
||||
*/
|
||||
//
|
||||
// <pink2 , <pinky , <ring , <middl , <indx , <ind|, indx> , inde> , midd> , ring> , pink> , pink2> ,
|
||||
// -*!- , , , , , <|,> , , , , , ,
|
||||
KC_ESC
|
||||
|
||||
# if defined(HEBREW_ISRAEL)
|
||||
, XP_HEB_AA , XP_HEB_AB , XP_HEB_AC
|
||||
# elif defined(HEBREW_QWERTY)
|
||||
, XP_HEB_AA , XP_HEB_AB , XP_HEB_AC
|
||||
# elif defined(HEBREW_DVORAK)
|
||||
, KC_QUOT , KC_COMM , KC_DOT
|
||||
# endif // HEBREW_DVORAK/QWERTY
|
||||
, XP_HEB_AD , XP_HEB_AE , XP_HEB_AF , XP_HEB_AG , XP_HEB_AH , XP_HEB_AI , XP_HEB_AJ , KC_BSPC ,
|
||||
LCTL_T ( KC_TAB ) , XP_HEB_BA , XP_HEB_BB , XP_HEB_BC , XP_HEB_BD , XP_HEB_BE , XP_HEB_BF , XP_HEB_BG , XP_HEB_BH , XP_HEB_BI , XP_HEB_BJ
|
||||
// ^^^^^^^^^ Different in Qwerty (done in macros) with ':'
|
||||
|
||||
# if defined(HEBREW_ISRAEL)
|
||||
, XP_HEB_BK , // ,"
|
||||
# elif defined(HEBREW_QWERTY)
|
||||
, KC_QUOT , // '"
|
||||
# elif defined(HEBREW_DVORAK)
|
||||
, XP_HEB_MQF , // ־
|
||||
# endif // HEBREW_*
|
||||
|
||||
CHOLTAP_LSHFT , XP_HEB_CA , XP_HEB_CB , XP_HEB_CC , XP_HEB_CD , XP_HEB_CE , XP_HEB_CF , XP_HEB_CG
|
||||
|
||||
# if defined(HEBREW_ISRAEL)
|
||||
, XP_HEB_CH , XP_HEB_CI , XP_HEB_CJ
|
||||
# elif defined(HEBREW_QWERTY)
|
||||
, KC_COMM , KC_DOT , KC_SLSH
|
||||
# elif defined(HEBREW_DVORAK)
|
||||
, XP_HEB_CH , XP_HEB_CI , XP_HEB_CJ
|
||||
# endif // HEBREW_*
|
||||
, CHOLTAP_RSHFT ,
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
LALT_T ( KC_LEFT )
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, MO ( _PAD )
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1_BASE
|
||||
# endif
|
||||
|
||||
# ifdef SWITCH_HOLD_ACC_NSY
|
||||
, DUO_HOLD , CHOLTAP_ACCE
|
||||
# else
|
||||
, CHOLTAP_ACCE , DUO_HOLD
|
||||
# endif
|
||||
|
||||
, LEFTCENTER_THUMB
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
|
||||
, RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, MO ( _FUN )
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
, MORE_key2
|
||||
# endif
|
||||
|
||||
, CHOLTAP_LAYR
|
||||
// , , , <|,> , , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||
|
||||
),
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
||||
/* Layer _..._NSY: Numbers and symbols.
|
||||
* Off hand Number input (-.Bksp ent (shft)tab).
|
||||
*/
|
||||
// KC_TILD does not work there, because of a limitation with shifted keys (nov 2019).
|
||||
|
||||
// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
|
||||
# if defined(BASE_HEBREW__DEF_BASE)
|
||||
[ _DEF_NSY ] = LAYOUT_redefined (
|
||||
# elif defined(BASE_HEBREW__ALT_BASE)
|
||||
[ _ALT_NSY ] = LAYOUT_redefined (
|
||||
# endif
|
||||
|
||||
/*
|
||||
Layer _..._NSY (Numbers and SYmbols)
|
||||
➡ The brace type symbols are *not* reversed as on standard hebrew boards (I find it confusing).
|
||||
|
||||
HEBREW_ISRAEL & HEBREW_QWERTY
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
-*- <|> //(toggle) Access on _FUN
|
||||
BASE ! @ # $ % | ^ & * ( ) Del
|
||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||
-+LSht [{ ]} -_ \| =+ | + | ־ { } ~+RSht
|
||||
^ // Only difference with Qwerty
|
||||
---------------------------------------------------------------------------
|
||||
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
||||
-*- <|> -*- //(hold) Access on _..._BASE
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1>
|
||||
… …
|
||||
|
||||
HEBREW_DVORAK (Same as standard Dvorak)
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
-*- <|> //(toggle) Access on _FUN
|
||||
BASE ! @ # $ % | ^ & * ( ) Del
|
||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||
-+LSht [{ ]} /? \| =+ | + | ? { } ~+RSht
|
||||
---------------------------------------------------------------------------
|
||||
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
||||
-*- <|> -*- //(hold) Access on _..._BASE
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1>
|
||||
… …
|
||||
*/
|
||||
//
|
||||
//
|
||||
// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
|
||||
// , -*- , , , , <|,> , , , , , ,
|
||||
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
||||
LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) ,
|
||||
LSFT_DASH , KC_LBRC , KC_RBRC
|
||||
|
||||
# if defined(HEBREW_ISRAEL)
|
||||
, KC_MINUS // allows -_, with Maqaf on mirror place right
|
||||
# elif defined(HEBREW_QWERTY)
|
||||
, KC_MINUS // same as HEBREW_ISRAEL
|
||||
# elif defined(HEBREW_DVORAK)
|
||||
, KC_SLSH
|
||||
# endif // HEBREW_*
|
||||
|
||||
, KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE
|
||||
|
||||
|
||||
# if defined(HEBREW_ISRAEL)
|
||||
, XP_HEB_MQF // '־' Maqaf
|
||||
# elif defined(HEBREW_QWERTY)
|
||||
, XP_HEB_MQF //
|
||||
# elif defined(HEBREW_DVORAK)
|
||||
, KC_QUES
|
||||
# endif // HEBREW_*
|
||||
, KC_LCBR , KC_RCBR , RSFT_TILDE ,
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------------------
|
||||
LALT_T ( KC_LEFT )
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, TRANS_LEFT
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1
|
||||
# endif
|
||||
|
||||
, _______ , _______ , KC_ENT
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
, KC_DOT , DUO_HOLD , KC__YGUI
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, TRANS_RIGHT
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
, MORE_key2
|
||||
# endif
|
||||
|
||||
, RALT_T ( KC_RIGHT )
|
||||
// , , -*- , <|,> , -*- , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||
|
||||
),
|
||||
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* Author: © 2021 by Jos Boersema
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// --------------------------------------v---------------------------------------
|
||||
// Configuration:
|
||||
// --------------------------------------v---------------------------------------
|
||||
|
||||
/* Harmonize layout with a Latin layout
|
||||
*
|
||||
* See base_hebrew.md for design objectives.
|
||||
*/
|
||||
#define HEBREW_ISRAEL // Close to standard Israeli hebrew.
|
||||
//#define HEBREW_QWERTY // Harmonize punctuation symbols with Qwerty.
|
||||
//#define HEBREW_DVORAK // Harmonize punctuation symbols with Dvorak.
|
||||
|
||||
// --------------------------------------^---------------------------------------
|
||||
// Below here no more comfortable configuration options.....
|
||||
// --------------------------------------^---------------------------------------
|
||||
|
||||
/* Redefine a layer in this file
|
||||
*
|
||||
* _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
|
||||
* in this file. The version in ./keymap.c will be ignored. Keep in mind to use
|
||||
* transparent keys (_______) for “hold” layer switch keys on the BASE map, for
|
||||
* your new layer.
|
||||
*/
|
||||
// #define BASESFILE_LAYER_ACC
|
||||
// #define BASESFILE_LAYER_DRA
|
||||
// #define BASESFILE_LAYER_BON
|
||||
// #define BASESFILE_LAYER_PAD
|
||||
// #define BASESFILE_LAYER_MOV
|
||||
// #define BASESFILE_LAYER_RAR
|
||||
// #define BASESFILE_LAYER_FUN
|
||||
|
|
@ -1,198 +0,0 @@
|
|||
# Minifan layout
|
||||
|
||||
Compiled for: Hebrew
|
||||
====================
|
||||
|
||||
This file details the compile version `#define BASE_HEBREW__DEF_BASE,
|
||||
BASE_HEBREW__ALT_BASE`. This is a basic Hebrew layout, without niqqud.
|
||||
|
||||
Only the most common symbols are implemented. Hebrew symbols are all
|
||||
done in Unicode.
|
||||
|
||||
See also  chapter 7 _Language support_.
|
||||
|
||||
Parenthesis/braces/etc direction seems to be dealt with at the computer
|
||||
side, depending on the surrounding symbols. The keyboard is printing
|
||||
these symbols unchanged from what they are in standard Latin layouts,
|
||||
and are represented that way in the manual.
|
||||
|
||||
Options
|
||||
=======
|
||||
|
||||
You can compile the hebrew to be like a common Israeli layout, or to harmonize the
|
||||
punctuation symbols with either Dvorak or Qwerty. See the configuration file
|
||||

|
||||
|
||||
☞ Israeli Hebrew
|
||||
|
||||
As close to a simple standard hebrew layout as possible.
|
||||
A little larger memory cost than the other options. No `'"` ASCII quotes symbols,
|
||||
but proper ׳ and ״ (in Unicode).
|
||||
|
||||
☞ Qwerty with Hebrew
|
||||
|
||||
The letters ת, ץ get displaced from the standard hebrew layout.
|
||||
Numerical layer is the same as standard Qwerty, except the symbol
|
||||
`_` symbol becomes `־` (Maqaf). No `;` symbol.
|
||||
|
||||
☞ Qwerty derivatives with Hebrew
|
||||
|
||||
It is adviced to use Qwerty with Hebrew in this case, and adjust by hand
|
||||
coding if needed. “Workman” should harmonize the same as Qwerty.
|
||||
Colemak displaces the “;:” key relative to Qwerty, therefore you may
|
||||
like to change the “:” shifted symbol (by hand). The obscurity of this
|
||||
use case gets extreme, there will not be options for this.
|
||||
|
||||
☞ Dvorak with Hebrew
|
||||
|
||||
The letter ק gets displaced from the standard hebrew layout.
|
||||
Numerical layer is the same as standard Dvorak. No `;` symbol.
|
||||
|
||||
|
||||
Flash memory cost
|
||||
-----------------
|
||||
|
||||
This layout adds several dozen new Unicode symbols, which takes up a certain
|
||||
amount of additional space in keyboard memory. If you end up going over
|
||||
the limit, you may need to change your compilation software setup, and/or
|
||||
you can look into the “Eviscerations” chapters in 
|
||||
|
||||
Hebrew keymaps
|
||||
--------------
|
||||
|
||||
──────────Hebrew Israel────────
|
||||
|
||||

|
||||
Layer: `..._BASE`
|
||||
|
||||

|
||||
Layer: `..._NSY`
|
||||
|
||||
──────────in common────────────
|
||||
|
||||
(…)
|
||||
|
||||
──────────Hebrew Qwerty────────
|
||||
|
||||

|
||||
Layer: `..._BASE`
|
||||
|
||||

|
||||
Layer: `..._NSY`
|
||||
|
||||
──────────in common────────────
|
||||
|
||||
(…)
|
||||
|
||||
──────────Hebrew Dvorak────────
|
||||
|
||||

|
||||
Layer: `..._BASE`
|
||||
|
||||

|
||||
Layer: `..._NSY` (Same as Dvorak.)
|
||||
|
||||
──────────in common────────────
|
||||
|
||||
(…)
|
||||
|
||||
For more about the other layers, see ➡  ⬅
|
||||
|
||||

|
||||
|
||||
Layers (text)
|
||||
=============
|
||||
|
||||
(The “x” padding was necessary to undo the direction of these characters being reversed.
|
||||
This layout might still not be represenetd correctly on your system. See the graphics instead.)
|
||||
|
||||
HEBREW_ISRAEL
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Escxxxxxxxx/;xxxx׳xxxxxקxxxxxרxxxxxאxxxxx|xטxxxxxוxxxxxןxxxxxםxxxxxפxxxxxxxxxxBksp
|
||||
Tab+LCtlxxxשxxxxxדxxxxxג/RLMxכx₪xxxעxxxxx|xיxxxxxחxxxxxל/LRMxךxxxxxף:xxxxxxxxxxx,״ //Right-Left-Mark
|
||||
LSht+_PADxxזxxxxxסxxxxxבxxxxxהxxxxxנxxxxx|xמxxxxxצxxxxxת<xxxxץ>xxxx.?xxxxRSht+_FUN //<>os side flip?
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
|
||||
HEBREW_QWERTY
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Escxxxxxxxxת•xxxxץ•xxxxקxxxxxרxxxxxאxxxxx|xטxxxxxוxxxxxןxxxxxםx׳xxxפx״xxxxxxxxBksp
|
||||
Tab+LCtlxxxשxxxxxדxxxxxג/RLMxכx₪xxxעxxxxx|xיxxxxxחxxxxxל/LRMxךxxxxxף:xxxxxxxxxxx'" //Right-Left-Mark
|
||||
LSht+_PADxxזxxxxxסxxxxxבxxxxxהxxxxxנxxxxx|xמxxxxxצxxxxx,<xxxx.>xxxx/?xxxxRSht+_FUN
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
(…)
|
||||
|
||||
HEBREW_DVORAK
|
||||
Layer _..._BASE (LeTteRs, standard Hebrew)
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Escxxxxxxxx'"xxxx,<xxxx.>xxxxרxxxxxאxxxxx|xטxxxxxוxxxxxןxxxxxםx׳xxxפx״xxxxxxxxBksp
|
||||
Tab+LCtlxxxשxxxxxדxxxxxג/RLMxכx₪xxxעxxxxx|xיxxxxxחxxxxxל/LRMxךxxxxxףxxxxxxxxxxxxx־ //Right/Left-Mark
|
||||
LSht+_PADxxז:xxxxסxxxxxבxxxxxהxxxxxנxxxxx|xמxxxxxצxxxxxתxxxxxץxxxxxק•xxxxRSht+_FUN
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
Left+LAlt Del;_ACC _DEF_NSY(_DRA) Enter+_MOV| Space _DEF_NSY(_DRA) RGUI Right;_RAR
|
||||
hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
|
||||
hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
|
||||
┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
|
||||
^³ ^⁴ // Optional more keys
|
||||
(LGUI) (_MOV)
|
||||
|
||||
|
||||
₁) Dual hold for _DRA, single hold for _DEF_NSY. Marked by: ^--…--^
|
||||
₂) Hold key “<2” with either٭ key “<3” or “3>” for _BON, single hold “<2” for _ACC. Marked: ┗━━…━━┛
|
||||
₃) 'South paw' hardware configuration. Configurable, default shown.
|
||||
₄) 'Arrow' hardware configuration Configurable, default shown.
|
||||
₃ ₄) There are two more optional hardware keys, to make it easier to compile for
|
||||
a 12x12x12x11 or 12x12x12x12 layouts.
|
||||
₅) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
|
||||
₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
|
||||
⁷) Letters marked with • are displaced from standard hebrew layout.
|
||||
|
||||
Remarks: The left modifiers have a slight delay in combination with an outside pointer device (mouse, stylus).
|
||||
It seems this will be difficult to fix, because it is spread over two devices. To avoid the
|
||||
±0.2 second delay, activate a layer where the modifiers are direct (`_PAD`), using the layer toggle on left shift.
|
||||
|
||||
The two keys with ';' (Del;`_ACC`, Right;`_RAR`) do not auto-repeat on double tap, like QMK normal layer-tap keys.
|
||||
There is an uncluttered _Delete_ on `_PAD`, an uncluttered _Right_ arrow on the `_MOV` layer.
|
||||
|
||||
Holding both `_DEF_NSY` keys left and right of the "split space bar" (enter, space) results in layer `_DRA`.
|
||||
|
||||
Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>), with the `_ACC` layer key
|
||||
(on <2) results in layer `_BON`.
|
||||
|
||||
- - -
|
||||
|
||||
Layer _..._NSY (Numbers and SYmbols)
|
||||
|
||||
HEBREW_ISRAEL & HEBREW_QWERTY (_ becomes ־ Maqaf)
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
-*- <|> //(toggle) Access on _FUN
|
||||
BASExxxxx!xxxxx@xxxxx#xxxxx$xxxxx%xxxxx|x^xxxxx&xxxxx*xxxxx(xxxx)xxxxxxxDel
|
||||
Tab+LCtlx1!xxxx2@xxxx3#xxxx4$xxxx5%xxxx|x6^xxxx7&xxxx8*xxxx9(xxx0)xx`~+RCtl
|
||||
-+LShtxxx[{xxxx]}xxxx-_xxxx\|xxxx=+xxxx|x+xxxxx|xxxxx־xxxxx{xxxxx}xxx~+RSht
|
||||
^ // Only difference with Qwerty
|
||||
---------------------------------------------------------------------------
|
||||
Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
|
||||
-*- <|> -*- //(hold) Access on _DEF_BASE
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1>
|
||||
^ ^
|
||||
(LGUI) (_MOV)
|
||||
|
||||
|
||||
HEBREW_DVORAK (Same as standard Dvorak)
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
-*- <|> //(toggle) Access on _FUN
|
||||
BASE ! @ # $ % | ^ & * ( ) Del
|
||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||
-+LSht [{ ]} /? \| =+ | + | ? { } ~+RSht
|
||||
---------------------------------------------------------------------------
|
||||
(…)
|
||||
- - -
|
||||
|
|
@ -1,409 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* Author: © 2020 by Jos Boersema
|
||||
*
|
||||
*/
|
||||
|
||||
// --------------------------------------v---------------------------------------
|
||||
// Configuration:
|
||||
// --------------------------------------v---------------------------------------
|
||||
|
||||
// See the user configuration file: ./base_numpad.h
|
||||
|
||||
// --------------------------------------^---------------------------------------
|
||||
// Below here no more comfortable configuration options.....
|
||||
// --------------------------------------^---------------------------------------
|
||||
|
||||
// This is moved into ./user_config.h, because global #defines are affected.
|
||||
//((#include "./base_numpad.h" // Pull in the user configuration))
|
||||
|
||||
/* ⬇ */
|
||||
|
||||
/* Layer _..._BASE: default BASE layer (Dvorak)
|
||||
*
|
||||
* This thing is different from the usual different letters arrangement.
|
||||
* It is a numbers pad, one for the left hand, and one for the right
|
||||
* hand. Both are as identical as possible. The use case is the same as
|
||||
* a number pad keyboard: single handed numbers input.
|
||||
*
|
||||
* The number 5 is under the middle finger home row, as expected for blind
|
||||
* number pad typing.
|
||||
*
|
||||
* The left/upper key, where normally BASE is located, is now OTHER_BASE.
|
||||
* That switches the board to the ‛Default’ layout, which is effectively the
|
||||
* same way as a return to BASE in the sense of BASE being the letters/layer
|
||||
* switch layer. “Other Base” reached from the normal letters/layer-switching
|
||||
* BASE layout will then turn the keyboard into these number pads layers.
|
||||
*
|
||||
* A modified Numbers&Symbols layer _NSY is still supplied with this Numbers
|
||||
* Pad layout (as with other Base layers).
|
||||
*
|
||||
* The standard numbers pad layer _PAD also still exists. That one has the
|
||||
* numbers arranged differently.
|
||||
*
|
||||
*/
|
||||
|
||||
// When putting this layer on ‛Default’, it produced undesired side effects:
|
||||
// • _RAR and _MOV hold keys on the ‛Alternate’ letters layer, failed to switch back.
|
||||
// • Parts of the Numbers Pad keys got activated through transparent layer switch keys on letters layer.
|
||||
// Since there is no use for Numpad on ‛Default’ Base anyway, this is simply not supported, which seems to solve the problem.
|
||||
|
||||
|
||||
# ifndef NUMPAD_BASE_SINGLE
|
||||
|
||||
[ _ALT_BASE ] = LAYOUT_redefined (
|
||||
|
||||
/*
|
||||
Layer _..._BASE (Number pad, square layout)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
<|>
|
||||
!AlterGo Bspc 7 8 9 - | Bspc 7 8 9 - Bspc //!AlterGo: to _DEF_BASE
|
||||
= * 4 5 6 + | * 4 5 6 + =
|
||||
_NSY¹ / 1 2 3 , | / 1 2 3 , _NSY¹
|
||||
------------------------------------------------------------------------
|
||||
xxx 0 . Ent | NumL 0 . Ent
|
||||
<|>
|
||||
<1 ± <2 <3 <4 | 4> 3> ± 2> 1>
|
||||
… | …²
|
||||
|
||||
Layer _..._BASE (Number pad, with NumLock off)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring >pin>pink2>
|
||||
<|>
|
||||
!AlterGo Bspc Home Up PgUp - | Bspc Home Up PgUp - Bspc //!AlterGo: to _DEF_BASE
|
||||
= * Left 5 Right + | * Left 5 Right + = // modified 5
|
||||
_NSY¹ / End Down PgDn , | / End Down PgDn , _NSY¹
|
||||
-------------------------------------------------------------------------
|
||||
xxx Ins Del Ent | NumL Ins Del Ent
|
||||
<|>
|
||||
<1 ± <2 <3 <4 | 4> 3> ± 2> 1>
|
||||
… | …²
|
||||
|
||||
₁) Toggle to the accompanying Super-Sub-Script (_NSY) layer.
|
||||
₂) Note anomaly: additional hardware key ‛arrow’ shifted one to the left.
|
||||
|
||||
*/
|
||||
//
|
||||
// <pink2 , <pinky , <ring , <middl , <indx , <ind|, indx> , inde> , midd> , ring> , pink> , pink2> ,
|
||||
// -*!- , , , , , <|,> , , , , , ,
|
||||
OTHER_BASE_GO , KC_BSPC , KC_KP_7 , KC_KP_8 , KC_KP_9 , KC_KP_MINUS , KC_BSPC , KC_KP_7 , KC_KP_8 , KC_KP_9 , KC_KP_MINUS , KC_BSPC ,
|
||||
KC_KP_EQUAL , KC_KP_ASTERISK , KC_KP_4 , KC_KP_5 , KC_KP_6 , KC_KP_PLUS , KC_KP_ASTERISK , KC_KP_4 , KC_KP_5 , KC_KP_6 , KC_KP_PLUS , KC_KP_EQUAL ,
|
||||
CTO_NUMS , KC_KP_SLASH , KC_KP_1 , KC_KP_2 , KC_KP_3 , KC_KP_COMMA , KC_KP_SLASH , KC_KP_1 , KC_KP_2 , KC_KP_3 , KC_KP_COMMA , CTO_NUMS ,
|
||||
// -------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
XXXXXXX
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, TRANS_LEFT
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1 // Note anomaly, not MORE_key1_BASE: numpad is treated as a common layer here, because that is ± how it functions.
|
||||
# endif
|
||||
|
||||
, KC_KP_0 , KC_KP_DOT , KC_KP_ENTER
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
|
||||
, KC_NUM , KC_KP_0
|
||||
// ---⬇
|
||||
// Note anomaly: the additional 'arrow' hardware key is shifted one to the
|
||||
// left, compared to other Base layouts, and so is TRANS_RIGHT This is to
|
||||
// maintain 'window/command' key on the same key between layers.
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, TRANS_RIGHT
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
|
||||
//, MORE_key2
|
||||
, KC__YGUI
|
||||
|
||||
// Note anomaly: not the usual configurable key (MORE_key2), but GUI. This
|
||||
// is because position has shifted already, and this GUI allows all the usual
|
||||
// keys on a 100% keyboard to be reached with all modifiers, including GUIs,
|
||||
// if 'command' hardware key is included. Unfortunately this causes a gap
|
||||
// in the numpad layout, but pressing GUI by itself in error will unlikely
|
||||
// produce serious mistakes. Maintaining similar keys between layers seems
|
||||
// more important. Since Numpad already is a navigation cluster, it seems
|
||||
// more important to allow all keys to be reachable with all modifiers,
|
||||
// including GUIs, than to have a quick switch over to the _MOV layer here.
|
||||
// Obviously it is fair enough to do this differently, but if someone needs a
|
||||
// Numpad + either GUI key combination, that could be a real problem without
|
||||
// GUIs here, whereas adding a _MOV switch is a matter of convenience. It
|
||||
// seems important to be able to type anything a regular 100% keyboard can,
|
||||
// or as near to it as possible.
|
||||
//
|
||||
// These anomalies are the same for all the Numpad layers here.
|
||||
|
||||
# endif
|
||||
// ---⬆
|
||||
, KC_KP_DOT
|
||||
|
||||
, KC_KP_ENTER
|
||||
// , , , <|,> , , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> ± ± , 2> , 1>
|
||||
|
||||
),
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
||||
/* Layer _ALT_NSY: super-/sub-script numbers numpad, square layout
|
||||
*/
|
||||
|
||||
[ _ALT_NSY ] = LAYOUT_redefined (
|
||||
|
||||
/*
|
||||
Layer _..._BASE (super-/sub-script numbers, Numlock on/off)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
<|>
|
||||
BASE Bspc ⁷₇ ⁸₈ ⁹₉ - | Bspc ⁷₇ ⁸₈ ⁹₉ - Bspc
|
||||
= * ⁴₄ ⁵₅ ⁶₆ + | * ⁴₄ ⁵₅ ⁶₆ + =
|
||||
LSht / ¹₁ ²₂ ³₃ , | / ¹₁ ²₂ ³₃ , RSht
|
||||
-*- <|> -*- //(toggle) Access on Base
|
||||
------------------------------------------------------------------------
|
||||
xxx ⁰₀ .DEL Ent | xxx ⁰₀ .DEL Ent
|
||||
<|>
|
||||
<1 ± <2 <3 <4 | 4> 3> ± 2> 1>
|
||||
… | …¹
|
||||
|
||||
₁) Note anomaly: additional hardware key ‛arrow’ shifted one to the left.
|
||||
|
||||
*/
|
||||
//High/low numbers guide:
|
||||
//¹₁ ²₂ ³₃ ⁴₄ ⁵₅ | ⁶₆ ⁷₇ ⁸₈ ⁹₉ ⁰₀
|
||||
//XP_DRA_BA XP_DRA_BB XP_DRA_BC XP_DRA_BD XP_DRA_BE XP_DRA_BF XP_DRA_BG XP_DRA_BH XP_DRA_BI XP_DRA_BJ
|
||||
//
|
||||
// <pink2 , <pinky , <ring , <middl , <indx , <ind|, indx> , inde> , midd> , ring> , pink> , pink2> ,
|
||||
// -*!- , , , , , <|,> , , , , , ,
|
||||
CTO_BASE , KC_BSPC , XP_DRA_BG , XP_DRA_BH , XP_DRA_BI , KC_KP_MINUS , KC_BSPC , XP_DRA_BG , XP_DRA_BH , XP_DRA_BI , KC_KP_MINUS , KC_BSPC ,
|
||||
KC_KP_EQUAL , KC_KP_ASTERISK , XP_DRA_BD , XP_DRA_BE , XP_DRA_BF , KC_KP_PLUS , KC_KP_ASTERISK , XP_DRA_BD , XP_DRA_BE , XP_DRA_BF , KC_KP_PLUS , KC_KP_EQUAL ,
|
||||
KC_LSFT , KC_KP_SLASH , XP_DRA_BA , XP_DRA_BB , XP_DRA_BC , KC_KP_COMMA , KC_KP_SLASH , XP_DRA_BA , XP_DRA_BB , XP_DRA_BC , KC_KP_COMMA , KC_RSFT ,
|
||||
// -----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
XXXXXXX
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, TRANS_LEFT
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1
|
||||
# endif
|
||||
|
||||
, XP_DRA_BJ , KC_KP_DOT , KC_KP_ENTER
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
|
||||
, XXXXXXX , XP_DRA_BJ
|
||||
|
||||
// See comment on the first layout in this file (double handed Base layer), about the next few keys:
|
||||
// ---⬇
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, TRANS_RIGHT
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
//, MORE_key2
|
||||
, KC__YGUI
|
||||
# endif
|
||||
// ---⬆
|
||||
, KC_KP_DOT
|
||||
|
||||
, KC_KP_ENTER
|
||||
// , , , <|,> , , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> ± ± , 2> , 1>
|
||||
|
||||
),
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
||||
# else // NUMPAD_BASE_SINGLE is defined ====================================================================
|
||||
|
||||
[ _ALT_BASE ] = LAYOUT_redefined (
|
||||
|
||||
/*
|
||||
|
||||
* Layer Numbers Pad on Base:
|
||||
* « See also documentation in keymap.c at _PAD layer, of which this is almost entirely a copy »
|
||||
* One difference is the key to go to the _ALT_NSY layer (denoted “NUMS:” just below).
|
||||
* The other difference is the key to switch to default Base and also immediately goes there
|
||||
* (denoted “!AlterGo” here).
|
||||
|
||||
Layer _ALT_BASE (Number pad, with NumLock on)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
<|>
|
||||
!AlterGo NUMS: xxx xxx xxx xxx | = 7 8 9 - Bspc // NUMS: to ¹/₁
|
||||
LCtl xxx xxx xxx xxx xxx | * 4 5 6 + RCtl
|
||||
LSht xxx xxx xxx xxx xxx | / 1 2 3 , RSht
|
||||
------------------------------------------------------------------------
|
||||
LAlt Del Tab Ent | NumL 0 . RAlt
|
||||
<|>
|
||||
<1 ± <2 <3 <4 | 4> 3> ± 2> 1>
|
||||
… | …¹
|
||||
|
||||
Layer _ALT_BASE (Number pad, with NumLock off)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring >pin>pink2>
|
||||
<|>
|
||||
!AlterGo NUMS: xxx xxx xxx xxx | = Home Up PgUp - Bspc // NUMS: to ¹/₁
|
||||
LCtl xxx xxx xxx xxx xxx | * Left 5 Right + RCtl // modified 5
|
||||
LSht xxx xxx xxx xxx xxx | / End Down PgDn , RSht
|
||||
-------------------------------------------------------------------------
|
||||
LAlt Del Tab Ent | NumL Ins Del RAlt
|
||||
<|>
|
||||
<1 ± <2 <3 <4 | 4> 3> ± 2> 1>
|
||||
… | …¹
|
||||
|
||||
₁) Note anomaly: additional hardware key ‛arrow’ shifted one to the left.
|
||||
|
||||
*/
|
||||
|
||||
//High/low numbers guide:
|
||||
//¹₁ ²₂ ³₃ ⁴₄ ⁵₅ | ⁶₆ ⁷₇ ⁸₈ ⁹₉ ⁰₀
|
||||
//XP_DRA_BA XP_DRA_BB XP_DRA_BC XP_DRA_BD XP_DRA_BE XP_DRA_BF XP_DRA_BG XP_DRA_BH XP_DRA_BI XP_DRA_BJ
|
||||
//
|
||||
// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
|
||||
// , , , , , -*- <|,> , , , , , ,
|
||||
OTHER_BASE_GO , CTO_NUMS , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_EQUAL , KC_KP_7 , KC_KP_8 , KC_KP_9 , KC_KP_MINUS , KC_BSPC ,
|
||||
KC_LCTL , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_ASTERISK , KC_KP_4 , KC_KP_5 , KC_KP_6 , KC_KP_PLUS , KC_RCTL ,
|
||||
KC_LSFT , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_SLASH , KC_KP_1 , KC_KP_2 , KC_KP_3 , KC_KP_COMMA , KC_RSFT ,
|
||||
// ------------------------------------------------------------------------------------------------------------------------------------
|
||||
KC_LALT
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, TRANS_LEFT
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1
|
||||
# endif
|
||||
|
||||
, KC_DEL , KC_TAB , KC_KP_ENTER
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
|
||||
, KC_NUM , KC_KP_0
|
||||
|
||||
// See comment on the first layout in this file (double handed Base layer), about the next few keys:
|
||||
// ---⬇
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, TRANS_RIGHT
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
//, MORE_key2
|
||||
, KC__YGUI
|
||||
# endif
|
||||
// ---⬆
|
||||
, KC_KP_DOT
|
||||
|
||||
, KC_RALT
|
||||
// , , , <|,> , , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> ± ± , 2> , 1>
|
||||
|
||||
),
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
||||
[ _ALT_NSY ] = LAYOUT_redefined (
|
||||
|
||||
/*
|
||||
|
||||
* Layer Numbers Pad on Base:
|
||||
* This layer is the same as the above, except the numbers are in super-/sub-script.
|
||||
*
|
||||
|
||||
Layer _ALT_NSY (Number pad, with NumLock on/off)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
<|>
|
||||
BASE xxx xxx xxx xxx xxx | = ⁷₇ ⁸₈ ⁹₉ - Bspc
|
||||
LCtl xxx xxx xxx xxx xxx | * ⁴₄ ⁵₅ ⁶₆ + RCtl
|
||||
LSht xxx xxx xxx xxx xxx | / ¹₁ ²₂ ³₃ , RSht
|
||||
------------------------------------------------------------------------
|
||||
LAlt Del Tab Ent | xxx ⁰₀ .DEL RAlt
|
||||
<|>
|
||||
<1 ± <2 <3 <4 | 4> 3> ± 2> 1>
|
||||
… | …¹
|
||||
|
||||
₁) Note anomaly: additional hardware key ‛arrow’ shifted one to the left.
|
||||
|
||||
*/
|
||||
|
||||
//High/low numbers guide:
|
||||
//¹₁ ²₂ ³₃ ⁴₄ ⁵₅ | ⁶₆ ⁷₇ ⁸₈ ⁹₉ ⁰₀
|
||||
//XP_DRA_BA XP_DRA_BB XP_DRA_BC XP_DRA_BD XP_DRA_BE XP_DRA_BF XP_DRA_BG XP_DRA_BH XP_DRA_BI XP_DRA_BJ
|
||||
//
|
||||
// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
|
||||
// , , , , , -*- <|,> , , , , , ,
|
||||
CTO_BASE , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_EQUAL , XP_DRA_BG , XP_DRA_BH , XP_DRA_BI , KC_KP_MINUS , KC_BSPC ,
|
||||
KC_LCTL , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_ASTERISK , XP_DRA_BD , XP_DRA_BE , XP_DRA_BF , KC_KP_PLUS , KC_RCTL ,
|
||||
KC_LSFT , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , KC_KP_SLASH , XP_DRA_BA , XP_DRA_BB , XP_DRA_BC , KC_KP_COMMA , KC_RSFT ,
|
||||
// -----------------------------------------------------------------------------------------------------------------------------------
|
||||
KC_LALT
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, TRANS_LEFT
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1
|
||||
# endif
|
||||
|
||||
, KC_DEL , KC_TAB , KC_KP_ENTER
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
|
||||
, XXXXXXX , XP_DRA_BJ
|
||||
|
||||
// See comment on the first layout in this file (double handed Base layer), about the next few keys:
|
||||
// ---⬇
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, TRANS_RIGHT
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
//, MORE_key2
|
||||
, KC__YGUI
|
||||
# endif
|
||||
// ---⬆
|
||||
, KC_KP_DOT
|
||||
|
||||
, KC_RALT
|
||||
// , , , <|,> , , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> ± ± , 2> , 1>
|
||||
|
||||
),
|
||||
|
||||
# endif // NUMPAD_BASE_SINGLE
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
||||
|
|
@ -1,96 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* Author: © 2020 by Jos Boersema
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// --------------------------------------v---------------------------------------
|
||||
// Configuration:
|
||||
// --------------------------------------v---------------------------------------
|
||||
|
||||
/* ➡ Number pad Configuration ⬅
|
||||
*
|
||||
* This concerns this Base layer in the shape of a numerical key pad, not the numerical
|
||||
* key pad layer which is part of the common layer system, which is defined and configured
|
||||
* elsewhere (see ./user_config.h).
|
||||
*
|
||||
* _Activate_ the below to have a single keypad definition on this layer, for the right
|
||||
* hand. Modifiers are also defined.
|
||||
* _Remove_ the below to have two keypad definitions on this Base layer, one for each hand.
|
||||
*
|
||||
* In both cases, you can reach the accompanying number pad layer with the super-/sub-script
|
||||
* numbers. For either option, there is a matching * super-/sub-script layer, which is
|
||||
* automatically compiled with it.
|
||||
*/
|
||||
#define NUMPAD_BASE_SINGLE // _Activate_ to resemble a one handed numerical keyboard, for right hand.
|
||||
// _Remove_ to have two numerical key pads, side by side, one for each hand.
|
||||
//
|
||||
/* Tip: When in doubt it might be best to choose the single handed layer, because it
|
||||
* resembles a regular keyboard more, and has modifier combinations.
|
||||
*/
|
||||
|
||||
|
||||
/* ➡ Removing the numbers pad _PAD layer ⬅
|
||||
*
|
||||
* You may have no use for this common layer, if you have a numerical
|
||||
* keypad on the Alternate Base already.
|
||||
*
|
||||
* While _PAD layer gives quick uncluttered access to Control, Shift and Alt
|
||||
* to modify your pointer device input, the _MOV layer does the same. You
|
||||
* end up with the same functionality, with or without _PAD, in this matter.
|
||||
*
|
||||
* This does precisely the same as REMOVE_PAD in ./user_config.h, but this
|
||||
* setting here overrides any setting in ./user_config.h
|
||||
*/
|
||||
//#define REMOVES_PAD // _Activate_ to strip out the _PAD layer, _remove_ to have the _PAD layer.
|
||||
|
||||
// --------------------------------------^---------------------------------------
|
||||
// Below here no more comfortable configuration options.....
|
||||
// --------------------------------------^---------------------------------------
|
||||
|
||||
/* Redefine a layer in this file
|
||||
*
|
||||
* _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
|
||||
* in this file. The version in ./keymap.c will be ignored. Keep in mind to use
|
||||
* transparent keys (_______) for “hold” layer switch keys on the BASE map, for
|
||||
* your new layer.
|
||||
*/
|
||||
// #define BASESFILE_LAYER_ACC
|
||||
// #define BASESFILE_LAYER_DRA
|
||||
// #define BASESFILE_LAYER_BON
|
||||
// #define BASESFILE_LAYER_PAD
|
||||
// #define BASESFILE_LAYER_MOV
|
||||
// #define BASESFILE_LAYER_RAR
|
||||
// #define BASESFILE_LAYER_FUN
|
||||
|
||||
|
||||
// The below sets some things up based on the above #defines.
|
||||
|
||||
// Stripping out _PAD layer, sets the #define used global configuration file ./user_config.h
|
||||
# ifdef REMOVES_PAD // this file
|
||||
# ifndef REMOVE_PAD // user_config.h
|
||||
# define REMOVE_PAD // removes _PAD layer
|
||||
# endif
|
||||
# endif
|
||||
// Inserting the _PAD layer, even if stripped in ./user_config.h
|
||||
# ifndef REMOVES_PAD // this file
|
||||
# ifdef REMOVE_PAD // user_config.h
|
||||
# undef REMOVE_PAD // activtaes _PAD layer
|
||||
# endif
|
||||
# endif
|
||||
|
|
@ -1,364 +0,0 @@
|
|||
# Minifan layout
|
||||
|
||||
Compile options
|
||||
---------------
|
||||
|
||||
In  this base layout is configured.
|
||||
|
||||
• Single numpad.
|
||||
|
||||
This number pad choice only has a number pad for the right hand. The
|
||||
usual modifiers are in their expected places.
|
||||
|
||||
The single numbers pad variation is also a compile option for the _common
|
||||
layer_ `_PAD`, albeit without a super/subscript auxilery layer.
|
||||
|
||||
• Dual numpad.
|
||||
|
||||
This numbers pad choice has a number pad for each hand. There are two
|
||||
number pads together on the keyboard at once.
|
||||
|
||||
Numpad keymaps
|
||||
==============
|
||||
|
||||
Single numpad
|
||||
-------------
|
||||
|
||||
──────────Numpad───────────────
|
||||
|
||||

|
||||
Layer: `..._BASE`
|
||||
|
||||

|
||||
Layer: `..._NSY`
|
||||
|
||||
──────────in common────────────
|
||||
|
||||
The otherwise ‛common’ layers are not directly available in this special layout.
|
||||
You can still reach them as normal through your other Base layer.
|
||||
|
||||
For more about the other layers, see ➡  ⬅
|
||||
|
||||

|
||||
|
||||
|
||||
Layers (text)
|
||||
|
||||
Layer _ALT_BASE (Number pad, with NumLock on)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
<|>
|
||||
!AlterGo NUMS: xxx xxx xxx xxx | = 7 8 9 - Bspc // NUMS: to ¹/₁
|
||||
LCtl xxx xxx xxx xxx xxx | * 4 5 6 + RCtl
|
||||
LSht xxx xxx xxx xxx xxx | / 1 2 3 , RSht
|
||||
------------------------------------------------------------------------
|
||||
LAlt Del Tab Ent | NumL 0 . RAlt
|
||||
<|>
|
||||
<1 ± <2 <3 <4 | 4> 3> ± 2> 1>
|
||||
LGUI | RGUI¹
|
||||
|
||||
Layer _ALT_BASE (Number pad, with NumLock off)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring >pin>pink2>
|
||||
<|>
|
||||
!AlterGo NUMS: xxx xxx xxx xxx | = Home Up PgUp - Bspc // NUMS: to ¹/₁
|
||||
LCtl xxx xxx xxx xxx xxx | * Left 5 Right + RCtl // modified 5
|
||||
LSht xxx xxx xxx xxx xxx | / End Down PgDn , RSht
|
||||
-------------------------------------------------------------------------
|
||||
LAlt Del Tab Ent | NumL Ins Del RAlt
|
||||
<|>
|
||||
<1 ± <2 <3 <4 | 4> 3> ± 2> 1>
|
||||
^ | ^
|
||||
LGUI | RGUI¹
|
||||
|
||||
|
||||
₁) Note anomaly: additional hardware key ‛arrow’ shifted one to the left.
|
||||
|
||||
- - -
|
||||
|
||||
Layer _ALT_NSY (Number pad, with NumLock on/off)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
<|>
|
||||
BASE xxx xxx xxx xxx xxx | = ⁷₇ ⁸₈ ⁹₉ - Bspc
|
||||
LCtl xxx xxx xxx xxx xxx | * ⁴₄ ⁵₅ ⁶₆ + RCtl
|
||||
LSht xxx xxx xxx xxx xxx | / ¹₁ ²₂ ³₃ , RSht
|
||||
------------------------------------------------------------------------
|
||||
LAlt Del Tab Ent | xxx ⁰₀ .DEL RAlt
|
||||
<|>
|
||||
<1 ± <2 <3 <4 | 4> 3> ± 2> 1>
|
||||
^ | ^
|
||||
LGUI | RGUI¹
|
||||
|
||||
₁) Note anomaly: additional hardware key ‛arrow’ shifted one to the left.
|
||||
|
||||
Dual numpad
|
||||
-----------
|
||||
|
||||

|
||||
|
||||
──────────Numpad───────────────
|
||||
|
||||

|
||||
Layer: `..._BASE`
|
||||
|
||||

|
||||
Layer: `..._NSY`
|
||||
|
||||
──────────in common────────────
|
||||
|
||||
The otherwise ‛common’ layers are not directly available in this special layout.
|
||||
You can still reach them as normal through your other Base layer.
|
||||
|
||||
For more about the other layers, see ➡  ⬅
|
||||
|
||||

|
||||
|
||||
|
||||
Layers (text)
|
||||
|
||||
───────────────Numpad────────────────
|
||||
|
||||
Layer _..._BASE (Number pad, square layout)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
<|>
|
||||
!AlterGo Bspc 7 8 9 - | Bspc 7 8 9 - Bspc //!AlterGo: to _DEF_BASE
|
||||
= * 4 5 6 + | * 4 5 6 + =
|
||||
_NSY¹ / 1 2 3 , | / 1 2 3 , _NSY¹
|
||||
------------------------------------------------------------------------
|
||||
xxx 0 . Ent | NumL 0 . Ent
|
||||
<|>
|
||||
<1 ± <2 <3 <4 | 4> 3> ± 2> 1>
|
||||
^ | ^
|
||||
LGUI | RGUI²
|
||||
|
||||
Layer _..._BASE (Number pad, with NumLock off)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring >pin>pink2>
|
||||
<|>
|
||||
!AlterGo Bspc Home Up PgUp - | Bspc Home Up PgUp - Bspc //!AlterGo: to _DEF_BASE
|
||||
= * Left 5 Right + | * Left 5 Right + = // modified 5
|
||||
_NSY¹ / End Down PgDn , | / End Down PgDn , _NSY¹
|
||||
-------------------------------------------------------------------------
|
||||
xxx Ins Del Ent | NumL Ins Del Ent
|
||||
<|>
|
||||
<1 ± <2 <3 <4 | 4> 3> ± 2> 1>
|
||||
^ | ^
|
||||
LGUI | RGUI²
|
||||
|
||||
₁) Toggle to the accompanying Super-Sub-Script (_NSY) layer.
|
||||
₂) Note anomaly: additional hardware key ‛arrow’ shifted one to the left.
|
||||
|
||||
- - -
|
||||
|
||||
Layer _..._BASE (super-/sub-script numbers, Numlock on/off)
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
<|>
|
||||
BASE Bspc ⁷₇ ⁸₈ ⁹₉ - | Bspc ⁷₇ ⁸₈ ⁹₉ - Bspc
|
||||
= * ⁴₄ ⁵₅ ⁶₆ + | * ⁴₄ ⁵₅ ⁶₆ + =
|
||||
LSht / ¹₁ ²₂ ³₃ , | / ¹₁ ²₂ ³₃ , RSht
|
||||
-*- <|> -*- //(toggle) Access on Base
|
||||
------------------------------------------------------------------------
|
||||
xxx ⁰₀ .DEL Ent | xxx ⁰₀ .DEL Ent
|
||||
<|>
|
||||
<1 ± <2 <3 <4 | 4> 3> ± 2> 1>
|
||||
^ | ^
|
||||
LGUI | RGUI¹
|
||||
|
||||
₁) Note anomaly: additional hardware key ‛arrow’ shifted one to the left.
|
||||
|
||||
|
||||
Special Base layer Numpad
|
||||
=========================
|
||||
|
||||
This is a layout resembling a “numbers pad”. A “numbers pad”
|
||||
is a separate square on a 100% sized keyboard, or separate keypad.
|
||||
|
||||
Unlike more usual base layers choices, which typically contain a letters
|
||||
layout and access to all the common layers, this ‛Base’ layer is
|
||||
quite different. Once you have switched to it, you lack keys to access
|
||||
all ‛common’ layers.
|
||||
|
||||
You can only switch back to your ‛regular’ base layer, or switch to a
|
||||
second form of the numbers pad. This second layer is called “auxilery”
|
||||
layer here, but technically it is the same thing as the numbers/symbols
|
||||
`_NSY` layer, which accompanies a letters layer like Qwerty or Dvorak.
|
||||
|
||||
Use the top left key from the numbers pad layer, to switch back to the
|
||||
other ‛Base’ layer. This is also unique to this special ‛Base’ layer,
|
||||
but similar to the way the “common layers” switch back to Base.
|
||||
|
||||
The other Base layer (once you are in this Number Pad layer) for most
|
||||
people will be a letters layer with Qwerty, Dvorak or some other layout
|
||||
on it, in which the keyboard will start up. To reach the numbers pad
|
||||
Base layer, use the key ‛Other Base’ on the `_RAR` layer.
|
||||
|
||||
|
||||
Led colors
|
||||
----------
|
||||
|
||||
The led colors for this ‛Base’ layer are different from the usual. They show
|
||||
the state of the Numbers Lock, on or off. Colors are green/light-blue/blue to
|
||||
indicate Numbers Lock is off, which means the navigation cluster is active.
|
||||
Colors are blue/light-blue/green to indicate the Numbers Lock is on,
|
||||
meaning you can type numbers.
|
||||
|
||||
This follows the same scheme as the `_PAD` layer, which in turn follows
|
||||
the logic of the `_NSY` (numbers/symbols) layer being blue, and the `_MOV`
|
||||
(movement/navigation) layer being green, in such a way that the left most
|
||||
led is the indicator thereof, following reading direction left to right. The
|
||||
brightness of the leds is diminished, to indicate the difference with `_PAD`
|
||||
layer (whether or not that layer is compiled).
|
||||
|
||||
|
||||
Auxilery numpad layer
|
||||
---------------------
|
||||
|
||||
With the numbers pad layer comes a second layer, as is normal for
|
||||
all Base layer choices. This second layer is the same as the normal
|
||||
numbers pad, except the numbers are in super- ⁽¹²³⁾ or sub-script
|
||||
₍₁₂₃₎.
|
||||
|
||||
The numbers on the second layer become subscript when Shift is pressed,
|
||||
otherwise they are in super-script. These super-/sub-script forms of the
|
||||
numbers Unicode (see the `_RAR` layer).
|
||||
|
||||
This second form of numbers pad is reached from keys on the numbers pad
|
||||
Base layer. You can switch back to the regular numbers pad, with the
|
||||
upper/left key. Another key stroke from there on the upper/left key,
|
||||
will bring you back to what is likely your regular typing layer.
|
||||
|
||||
|
||||
Auxilery numpad layer led colors
|
||||
--------------------------------
|
||||
|
||||
For the second layer that comes with it, with super-/sub-script numbers,
|
||||
the led colors are what they “normally” are (for other compile
|
||||
choices) for this layer (the ‛Alternate‛ Base accompanying layer,
|
||||
usually numbers/symbols): blue/blue/light-blue. There is no indication
|
||||
of Numbers Lock on this layer, although a few keys are altered by Numbers
|
||||
Lock (Dot/Delete ‛.’, and Enter).
|
||||
|
||||
|
||||
‛Arrow’ additional hardware key
|
||||
===============================
|
||||
|
||||
Unlike with other layers: the optional ‛arrow’ hardware key on the
|
||||
right hand is not inserted between the last and second last keys on the
|
||||
right, and neither is it set to the configurable default value (toggle
|
||||
`_MOV` layer). Instead, this key is inserted one key over to the left,
|
||||
and it is set to GUI.
|
||||
|
||||
The reason is that this GUI will line up with the GUI on the ‛Base’
|
||||
layer. If combined with the ‛command’ hardware key on the right, set
|
||||
to the other GUI, you can reach all Numbers Pad keys with all modifiers,
|
||||
including both GUIs.
|
||||
|
||||
Another reason is that a typical use of the additional hardware
|
||||
key on the right (called ‛Arrow’) will by default lead to a navigation
|
||||
layer, however the Numbers Pad already has its own navigation. To add
|
||||
a toggle to `_MOV` would be a matter of convenience, whereas not being
|
||||
able to reach all Numbers Pad keys with either GUI could represent a
|
||||
serious problem.
|
||||
|
||||
Downsides to this design are the loss of default ‛Arrow’ hardware key
|
||||
use on this layer, and a sort of gap of one key in the Numbers Pad layout.
|
||||
The downsides seem to be matters of style and convenience, whereas not
|
||||
being able to type whatever you can on a 100% keyboard could be a serious
|
||||
problem for someone (keyboard shortcuts mainly).
|
||||
|
||||
There is no default solution to type everything with all modifiers
|
||||
including the GUIs, without adding the additional hardware key(s).
|
||||
Obviously it is possible to just stick a GUI on a free spot, but that
|
||||
makes things chaotic. Single pad Numbers Pad could be re-arranged to
|
||||
make room for GUI, which would loose more of its similarity to other
|
||||
keyboards.
|
||||
|
||||
|
||||
Numbers pads everywhere ?
|
||||
=========================
|
||||
|
||||
Perhaps the amount of options for a numberical keypad are a bit overkill.
|
||||
It had to do with how it developed.
|
||||
|
||||
For some overview of your options:
|
||||
|
||||
① Common layer numerical keypad. Just another layer, like `_RAR`, `_BON`, etc.
|
||||
|
||||
1. You can have a numerical keypad in the _common layers._
|
||||
2. You can also remove this layer entirely.
|
||||
|
||||
3. This “common layers” numbers pad is activated through the Base layer, on Left Shift tap.
|
||||
4. Returns to ‛Default Base’ with upper/left key.
|
||||
|
||||
5. Variation of form: right hand square form, resembling a key pad on
|
||||
other keyboards.
|
||||
6. Variation of form: the numbers in a straight line, resembling the
|
||||
`_NSY` layer and other layers.
|
||||
|
||||
② A numerical keypad on the other ‛Base’ layer, in the dual layout system.
|
||||
|
||||
1. You can have a numerical keypad on the ‛Alternate Base’ position.
|
||||
2. You can also put something different on ‛Alternate Base’, such as a
|
||||
Colemak layout.
|
||||
|
||||
3. This layer is activated through the `_RAR` layer, by choosing ‛Other
|
||||
Base’.
|
||||
4. Returns to ‛Default Base’ with upper/left key, effectively the same as with
|
||||
the common numerical keypad layer, and all other common layers.
|
||||
|
||||
5. Variation of form: right hand square form, resembling a key pad on
|
||||
other keyboards.
|
||||
6. Variation of form: dual handed square form, so you have a key pad for
|
||||
each hand.
|
||||
|
||||
7. For all variation of form, there is an accompanying layer which is
|
||||
the same, except the numbers are in Unicode super (unshifted) and
|
||||
sub-script (shifted).
|
||||
|
||||
Some examples:
|
||||
|
||||
① As close to a 100% ‛regular’ keyboard as possible.
|
||||
|
||||
If you have no use for ‛Alternate Base’ with anything else, you could put
|
||||
the single handed numerical keypad there, and remove the common `_PAD` layer
|
||||
to have less mental clutter.
|
||||
|
||||
This makes accessing `_MOV` on Left Shift easier, you have modifiers with
|
||||
the numerical keypad, and you have super/sub-script as well (although its use
|
||||
is probably rather rare).
|
||||
|
||||
② The predictable numbers typing option.
|
||||
|
||||
If you want ‛Alternate Base’ to have something else (or nothing
|
||||
at all), keep the `_PAD` layer, and choose straight line numbers,
|
||||
so that you don't have to learn a second way to type numbers, if you
|
||||
ever have a need to type keypad numbers (which could be quite rare).
|
||||
|
||||
In this version, you are not envisioning the use of keypad navigation,
|
||||
but rather use regular `_MOV` layer navigation. (This was the original
|
||||
programming on the keyboard, before more options developed; it follows
|
||||
the overall logic that the same or similar keys are in the same or
|
||||
similar positions.)
|
||||
|
||||
③ The everything option.
|
||||
|
||||
You could keep both `_PAD` with straight lined up numbers if you like typing
|
||||
all numbers the same way, and also compile numpad single square on ‛Alternate
|
||||
Base’ to have good access to a regular numerical keypad, should you ever need
|
||||
it, and/or to have an easier to access navigation cluster there (easier than
|
||||
navigation on the straight line numpad variation that is, where navigation
|
||||
is difficult).
|
||||
|
||||
④ The numerical keyboard specialist.
|
||||
|
||||
You could compile it for both hands, if you type so much on a numerical
|
||||
keypad, that it is useful to be fast on it with either hand.
|
||||
|
||||
It will be harder to type on the double numerical keyboard with modifiers
|
||||
(Shift, Control, Alt), but if you compile with the common numbers pad layer,
|
||||
you can reach such combinations there. To keep things similar, you can compile
|
||||
this common numbers pad layer with numbers in square form, rather than a straight
|
||||
line.
|
||||
|
|
@ -1,209 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* Author: © 2020 by Jos Boersema
|
||||
*
|
||||
*/
|
||||
|
||||
// --------------------------------------v---------------------------------------
|
||||
// Configuration:
|
||||
// --------------------------------------v---------------------------------------
|
||||
|
||||
// --------------------------------------^---------------------------------------
|
||||
// Below here no more comfortable configuration options.....
|
||||
// --------------------------------------^---------------------------------------
|
||||
|
||||
|
||||
/* Redefine a layer in this file
|
||||
*
|
||||
* _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
|
||||
* in this file. The version in ./keymap.c will be ignored. Keep in mind to use
|
||||
* transparent keys (_______) for “hold” layer switch keys on the BASE map, for
|
||||
* your new layer.
|
||||
*/
|
||||
// #define BASESFILE_LAYER_ACC
|
||||
// #define BASESFILE_LAYER_DRA
|
||||
// #define BASESFILE_LAYER_BON
|
||||
// #define BASESFILE_LAYER_PAD
|
||||
// #define BASESFILE_LAYER_MOV
|
||||
// #define BASESFILE_LAYER_RAR
|
||||
// #define BASESFILE_LAYER_FUN
|
||||
|
||||
/* ⬇ */
|
||||
|
||||
/* Layer _..._BASE: Qwerty, normal BASE layer and 'default' layer
|
||||
*
|
||||
* - Dual use keys create a delay in the key (tap/hold keys), therefore
|
||||
* space is not dual use (most ued key), neither is hyphen.
|
||||
*/
|
||||
|
||||
// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
|
||||
# if defined(BASE_QWERTY__DEF_BASE)
|
||||
[ _DEF_BASE ] = LAYOUT_redefined (
|
||||
# elif defined(BASE_QWERTY__ALT_BASE)
|
||||
[ _ALT_BASE ] = LAYOUT_redefined (
|
||||
# endif
|
||||
|
||||
/*
|
||||
Layer _..._BASE (Letters). This is Qwerty
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Esc qQ wW eE rR tT | yY uU iI oO pP Bksp
|
||||
Tab+LCtl aA sS dD fF gG | hH jJ kK lL ;: '"
|
||||
LSht+_PAD zZ xX cC vV bB | nN mM ,< .> /? RSht+_FUN
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
|
||||
hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
|
||||
hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
|
||||
┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
|
||||
^³ ^⁴ // Optional more keys
|
||||
(RGUI) (_MOV)
|
||||
|
||||
₁) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
|
||||
₂) Hold key “<2” with either٭ key “<3” or “3>” for _BON, single hold “<2” for _ACC. Marked: ┗━━…━━┛
|
||||
₃) 'South paw' hardware configuration. Configurable, default shown.
|
||||
₄) 'Arrow' hardware configuration Configurable, default shown.
|
||||
₃ ₄) There are two more optional hardware keys, to make it easier to compile for
|
||||
a 12x12x12x11 or 12x12x12x12 layouts.
|
||||
₅) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
|
||||
₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
|
||||
*/
|
||||
//
|
||||
// <pink2 , <pink, <ring, <midd, <indx, <ind|, indx>, inde>, midd> , ring> , pink> , pink2> ,
|
||||
// -*!- , , , , , <|,> , , , , , ,
|
||||
KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC ,
|
||||
LCTL_T ( KC_TAB ) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT ,
|
||||
CHOLTAP_LSHFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , CHOLTAP_RSHFT ,
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
LALT_T ( KC_LEFT )
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, MO ( _PAD )
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1_BASE
|
||||
# endif
|
||||
|
||||
# ifdef SWITCH_HOLD_ACC_NSY
|
||||
, DUO_HOLD , CHOLTAP_ACCE
|
||||
# else
|
||||
, CHOLTAP_ACCE , DUO_HOLD
|
||||
# endif
|
||||
|
||||
, LEFTCENTER_THUMB
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
|
||||
, RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, MO ( _FUN )
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
, MORE_key2
|
||||
# endif
|
||||
|
||||
, CHOLTAP_LAYR
|
||||
// , , , <|,> , , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||
|
||||
),
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
||||
/* Layer _..._NSY: Numbers and symbols, to work with the Qwerty base layer above.
|
||||
* Off hand Number input (-.Bksp ent (shft)tab).
|
||||
*/
|
||||
// KC_TILD does not work there, because of a limitation with shifted keys (nov 2019).
|
||||
|
||||
// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
|
||||
# if defined(BASE_QWERTY__DEF_BASE)
|
||||
[ _DEF_NSY ] = LAYOUT_redefined (
|
||||
# elif defined(BASE_QWERTY__ALT_BASE)
|
||||
[ _ALT_NSY ] = LAYOUT_redefined (
|
||||
# endif
|
||||
|
||||
/*
|
||||
Layer _..._NSY (Numbers and SYmbols). This fits the above Qwerty layer _..._BASE
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
-*- <|> //(toggle) Access on _FUN
|
||||
BASE ! @ # $ % | ^ & * ( ) Del
|
||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||
-+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
|
||||
^^ ^ // Only differences with normal version _..._NSY
|
||||
---------------------------------------------------------------------------
|
||||
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
||||
-*- <|> -*- //(hold) Access on _..._BASE
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1>
|
||||
^ ^
|
||||
(RGUI) (_MOV)
|
||||
*/
|
||||
//
|
||||
//
|
||||
// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
|
||||
// , -*- , , , , <|,> , , , , , ,
|
||||
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
||||
LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0
|
||||
// Harmonizes with ‛Qwerty Base Arrow’, so that if both are compiled, the user isn't
|
||||
// messing up this key on this Qwerty layout, which has to be different in the other Qwerty.
|
||||
# ifdef QWERTY_BASEARROW_HARMONIZE
|
||||
, KC_SLSH , // Same as in ‛Qwerty Base Arrow’. A ‛`’ exists on _BON also.
|
||||
# else
|
||||
, RCTL_T ( KC_GRV ) , // Default
|
||||
# endif
|
||||
LSFT_DASH , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_TILDE ,
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------------------
|
||||
LALT_T ( KC_LEFT )
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, XXXXXXX
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1
|
||||
# endif
|
||||
|
||||
, _______ , _______ , KC_ENT
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
|
||||
, KC_DOT , DUO_HOLD , KC__YGUI
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, XXXXXXX
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
, MORE_key2
|
||||
# endif
|
||||
|
||||
, RALT_T ( KC_RGHT )
|
||||
// , , -*- , <|,> , -*- , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||
|
||||
),
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
|
@ -1,127 +0,0 @@
|
|||
# Minifan layout
|
||||
|
||||
Compiled for: Qwerty
|
||||
====================
|
||||
|
||||
This file details the compile version `#define BASE_QWERTY__DEF_BASE, BASE_QWERTY__ALT_BASE`.
|
||||
This is a Qwerty layout.
|
||||
|
||||
Dual layout combination with Qwerty Base Arrow
|
||||
==============================================
|
||||
⚠ If you also compile `base_qwerty_basearrow`, the key for `/?` on `_NSY` layer in that
|
||||
`base_qwerty_basearrow` layout, will be replicated in _this_ Qwerty layout on the `_NSY`
|
||||
layer. It will displace the key `RCTL_T ( KC_GRV )`. Right Control, unless tapped for
|
||||
‛\`’ or tapped with shift for ‛~’ ➡ becomes `/?` (slash/questionmark).
|
||||
|
||||
The reason for this is that when you switch from one or the other Qwerty variation
|
||||
(with or without arrows on ‛Base’ layer), it will likely be confusing to type ‛/?’
|
||||
on that key in one version of Qwerty, and suddenly get a ‛\`~’ in the other. The reason
|
||||
it is not in the normal position on ‛Qwerty Base Arrow’, is because it gets displaced
|
||||
by ‛Up Arrow’.
|
||||
|
||||
You will likely switch from the Base Arrow variation to the regular version, due to a need
|
||||
for the row of keys displaced by the arrow cluster, or the other way around to get Base
|
||||
access to the arrows, rather than a need for this side effect: ‛/?’ being substituted for
|
||||
‛\`~’.
|
||||
|
||||
This means you will loose `_NSY` layer access to ‛\`’, in both versions of Qwerty. You will
|
||||
have to use the key for ‛\`~’ on the `_BON` layer, which is an uncluttered version of this
|
||||
key (it repeats). It also means that you have two keys toward ‛/?’ in standard Qwerty: the
|
||||
default position for Qwerty, and this additional one to harmonize with ‛Qwerty Base Arrow’.
|
||||
|
||||
This harmonization can be disabled in ,
|
||||
with `QWERTY_BASEARROW_HARMONIZE`.
|
||||
|
||||
See also: 
|
||||
|
||||
Qwerty keymaps
|
||||
--------------
|
||||
|
||||
──────────Qwerty───────────────
|
||||
|
||||

|
||||
Layer: `..._BASE`
|
||||
|
||||

|
||||
Layer: `..._NSY`
|
||||
|
||||
──────────in common────────────
|
||||
|
||||
(…)
|
||||
|
||||
For more about the other layers, see ➡  ⬅
|
||||
|
||||

|
||||
|
||||
Layers (text)
|
||||
=============
|
||||
|
||||
───────────────Qwerty─────────────────
|
||||
|
||||
Layer _..._BASE (Letters). This is standard Qwerty
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Esc qQ wW eE rR tT | yY uU iI oO pP Bksp
|
||||
Tab+LCtl aA sS dD fF gG | hH jJ kK lL ;: '"
|
||||
LSht+_PAD zZ xX cC vV bB | nN mM ,< .> /? RSht+_FUN
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
Left+LAlt Del;_ACC _DEF_NSY(_DRA) Enter+_MOV| Space _DEF_NSY(_DRA) RGUI Right;_RAR
|
||||
hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
|
||||
hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
|
||||
┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
|
||||
^³ ^⁴ // Optional more keys
|
||||
(LGUI) (_MOV)
|
||||
|
||||
₁) Dual hold for _DRA, single hold for _DEF_NSY. Marked by: ^--…--^
|
||||
₂) Hold key “<2” with either٭ key “<3” or “3>” for _BON, single hold “<2” for _ACC. Marked: ┗━━…━━┛
|
||||
₃) 'South paw' hardware configuration. Configurable, default shown.
|
||||
₄) 'Arrow' hardware configuration Configurable, default shown.
|
||||
₃ ₄) There are two more optional hardware keys, to make it easier to compile for
|
||||
a 12x12x12x11 or 12x12x12x12 layouts.
|
||||
₅) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
|
||||
₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
|
||||
|
||||
Remarks: The left modifiers have a slight delay in combination with an outside pointer device (mouse, stylus).
|
||||
It seems this will be difficult to fix, because it is spread over two devices. To avoid the
|
||||
±0.2 second delay, activate a layer where the modifiers are direct (`_PAD`), using the layer toggle on left shift.
|
||||
|
||||
The two keys with ';' (Del;`_ACC`, Right;`_RAR`) do not auto-repeat on double tap, like QMK normal layer-tap keys.
|
||||
There is an uncluttered _Delete_ on `_PAD`, an uncluttered _Right_ arrow on the `_MOV` layer.
|
||||
|
||||
Holding both `_DEF_NSY` keys left and right of the "split space bar" (enter, space) results in layer `_DRA`.
|
||||
|
||||
Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>), with the `_ACC` layer key
|
||||
(on <2) results in layer `_BON`.
|
||||
|
||||
|
||||
- - -
|
||||
|
||||
|
||||
Layer _..._NSY (Numbers and SYmbols). This fits the above Qwerty layer _DEF_BASE
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
-*- <|> //(toggle) Access on _FUN
|
||||
BASE ! @ # $ % | ^ & * ( ) Del
|
||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl // `~+RCtl becomes /? in dual …
|
||||
-+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht // … layout with Qwerty Base Arrow
|
||||
---------------------------------------------------------------------------
|
||||
Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
|
||||
-*- <|> -*- u //(hold) Access on _DEF_BASE
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1>
|
||||
^ ^
|
||||
(LGUI) (_MOV)
|
||||
|
||||
|
||||
|
||||
- - -
|
||||
|
||||
Key associations
|
||||
----------------
|
||||
Key placement associations between layers for Qwerty.
|
||||
|
||||

|
||||
|
||||
|
||||
|
|
@ -1,251 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* Author: © 2020 by Jos Boersema
|
||||
*
|
||||
*/
|
||||
|
||||
// --------------------------------------v---------------------------------------
|
||||
// Configuration:
|
||||
// --------------------------------------v---------------------------------------
|
||||
|
||||
// --------------------------------------^---------------------------------------
|
||||
// Below here no more comfortable configuration options.....
|
||||
// --------------------------------------^---------------------------------------
|
||||
|
||||
|
||||
/* Redefine a layer in this file
|
||||
*
|
||||
* _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
|
||||
* in this file. The version in ./keymap.c will be ignored. Keep in mind to use
|
||||
* transparent keys (_______) for “hold” layer switch keys on the BASE map, for
|
||||
* your new layer.
|
||||
*/
|
||||
// #define BASESFILE_LAYER_ACC
|
||||
// #define BASESFILE_LAYER_DRA
|
||||
// #define BASESFILE_LAYER_BON
|
||||
// #define BASESFILE_LAYER_PAD
|
||||
// #define BASESFILE_LAYER_MOV
|
||||
// #define BASESFILE_LAYER_RAR
|
||||
// #define BASESFILE_LAYER_FUN
|
||||
|
||||
/* ⬇ */
|
||||
|
||||
/* Layer _..._BASE: Qwerty with arrows on Base, normal BASE layer and 'default' layer
|
||||
*
|
||||
* - This version of Qwerty puts arrows on Base, and assumes the 'arrow' hardware key.
|
||||
* When not compiled with 'arrow' hardware key, Base will not contain ‛down arrow’.
|
||||
*
|
||||
* This does not mean that this is the recommended version of Qwerty in general for
|
||||
* the 'arrow' hardware key with Qwerty. Regular Qwerty works with the additional
|
||||
* hardware key 'arrow'. The regular Qwerty compile option just works differently
|
||||
* than this version with arrows on Base. Regular qwerty has the additional hardware
|
||||
* key on the right be a toggle to _MOV layer, where you then have arrows in the same
|
||||
* area. Notice further that in all cases, you have a hold key to the _MOV layer under
|
||||
* what is colloqually known as the ‛left space bar’, which leads to convenient arrow
|
||||
* keys in the home row.
|
||||
*
|
||||
* Putting directional arrow keys on the Base layer will cost you several keys on
|
||||
* the Base layer: hold _RAR, GUI, and ‛/?’.
|
||||
* • The ‛/?’ key is displaced to the _NSY layer.
|
||||
* • The GUI key is lost. You could decide to also use the ‛south paw’/‛command’
|
||||
* hardware key, which is a GUI by default.
|
||||
* • Hold key to _RAR layer is lost. You can only reach _RAR layer, using the right
|
||||
* shift toggle, which is on a short timer.
|
||||
*
|
||||
* My recommendation would be: see if you can make things work with regular Qwerty
|
||||
* if you are a 10 fingers typist, first. Moving your hand to this arrow cluster
|
||||
* seems to be a high cost to pay. You will also loose the default location for ‛/?’.
|
||||
*
|
||||
* For special need situations regarding this right hand row1/2 arrow cluster, a
|
||||
* tap to _MOV layer on the ‛arrow’ hardware key, should be a reasonable cost to
|
||||
* pay, if a situation is already important enough to decide to move your hand there.
|
||||
* For short uses of arrow keys, holding to the _MOV layer is the most efficient.
|
||||
*
|
||||
* If you are not a 10 finger typist though, holding a key to _MOV layer seems to be
|
||||
* inconvenient, and thus arrows on Base could be better for you.
|
||||
*
|
||||
* Hence my conclusion: only compile ‛Qwerty with arrows on Base’ if the regular
|
||||
* Qwerty isn't working for you.
|
||||
*
|
||||
*/
|
||||
|
||||
// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
|
||||
# if defined(BASE_QWERTY_BASEARROW__DEF_BASE)
|
||||
[ _DEF_BASE ] = LAYOUT_redefined (
|
||||
# elif defined(BASE_QWERTY_BASEARROW__ALT_BASE)
|
||||
[ _ALT_BASE ] = LAYOUT_redefined (
|
||||
# endif
|
||||
|
||||
/*
|
||||
Layer _..._BASE (Letters). This is Qwerty with arrows on Base
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Esc qQ wW eE rR tT | yY uU iI oO pP Bksp
|
||||
Tab+LCtl aA sS dD fF gG | hH jJ kK lL ;: '"
|
||||
LSht+_PAD zZ xX cC vV bB | nN mM ,< .> Up RSht+_FUN
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) Left Right
|
||||
hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ // switch type
|
||||
hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
|
||||
┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
|
||||
^³ ^⁴ // Optional more keys
|
||||
(RGUI) (Down)
|
||||
|
||||
₁) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
|
||||
₂) Hold key “<2” with either٭ key “<3” or “3>” for _BON, single hold “<2” for _ACC. Marked: ┗━━…━━┛
|
||||
₃) 'South paw' hardware configuration. Configurable, default shown.
|
||||
₄) 'Arrow' hardware configuration. Set to Down Arrow.
|
||||
₃ ₄) There are two more optional hardware keys, to make it easier to compile for
|
||||
a 12x12x12x11 or 12x12x12x12 layouts.
|
||||
₅) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
|
||||
₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
|
||||
*/
|
||||
//
|
||||
// <pink2 , <pink, <ring, <midd, <indx, <ind|, indx>, inde>, midd> , ring> , pink> , pink2> ,
|
||||
// -*!- , , , , , <|,> , , , , , ,
|
||||
KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC ,
|
||||
LCTL_T ( KC_TAB ) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT ,
|
||||
CHOLTAP_LSHFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_UP , CHOLTAP_RSHFT ,
|
||||
// KC_SLSH
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
LALT_T ( KC_LEFT )
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, MO ( _PAD )
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1_BASE
|
||||
# endif
|
||||
|
||||
# ifdef SWITCH_HOLD_ACC_NSY
|
||||
, DUO_HOLD , CHOLTAP_ACCE
|
||||
# else
|
||||
, CHOLTAP_ACCE , DUO_HOLD
|
||||
# endif
|
||||
|
||||
, LEFTCENTER_THUMB
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
|
||||
, RIGHTCENTER_THUMB , DUO_HOLD
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, MO ( _FUN )
|
||||
# endif
|
||||
|
||||
, KC_LEFT
|
||||
// , KC__YGUI
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
, KC_DOWN
|
||||
// , MORE_key2
|
||||
# endif
|
||||
|
||||
, KC_RIGHT
|
||||
// , CHOLTAP_LAYR
|
||||
// , , , <|,> , , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||
|
||||
),
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
||||
/* Layer _..._NSY: Numbers and symbols, to work with the Qwerty base layer above.
|
||||
* Off hand Number input (-.Bksp ent (shft)tab).
|
||||
*/
|
||||
// KC_TILD does not work there, because of a limitation with shifted keys (nov 2019).
|
||||
|
||||
// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
|
||||
# if defined(BASE_QWERTY_BASEARROW__DEF_BASE)
|
||||
[ _DEF_NSY ] = LAYOUT_redefined (
|
||||
# elif defined(BASE_QWERTY_BASEARROW__ALT_BASE)
|
||||
[ _ALT_NSY ] = LAYOUT_redefined (
|
||||
# endif
|
||||
|
||||
/*
|
||||
Layer _..._NSY (Numbers and SYmbols). This fits the above Qwerty layer _..._BASE
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
-*- <|> //(toggle) Access on _FUN
|
||||
BASE ! @ # $ % | ^ & * ( ) Del
|
||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) /?
|
||||
-+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht // `~ on _BON
|
||||
^^ ^ // Only differences with normal version _..._NSY
|
||||
---------------------------------------------------------------------------
|
||||
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
||||
-*- <|> -*- //(hold) Access on _..._BASE
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1>
|
||||
^ ^
|
||||
(RGUI) (_MOV)
|
||||
*/
|
||||
//
|
||||
//
|
||||
// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
|
||||
// , -*- , , , , <|,> , , , , , ,
|
||||
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
||||
LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_SLSH ,
|
||||
LSFT_DASH , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_TILDE , // note¹
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------------------
|
||||
LALT_T ( KC_LEFT )
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, XXXXXXX
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1
|
||||
# endif
|
||||
|
||||
, _______ , _______ , KC_ENT
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
|
||||
, KC_DOT , DUO_HOLD , KC__YGUI
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, XXXXXXX
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
, MORE_key2
|
||||
# endif
|
||||
|
||||
, RALT_T ( KC_RGHT )
|
||||
// , , -*- , <|,> , -*- , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||
|
||||
// note¹
|
||||
// Sacrificing RCTL, because ‛/’ is a major much used symbol,
|
||||
// which seem to warrant being uncluttered. ‛`’ exists also on _BON
|
||||
// (uncluttered). This breaks the logic that all these standard symbols
|
||||
// exist on this layer _NSY. However, ` and ~ are often in a diminutive
|
||||
// placement on mini keyboards, and ‛arrows on top’ was always going to
|
||||
// be a stretch for a keyboard like this. The other option is to have a
|
||||
// special macro to put tilde ‛~’ and accent grave ‛`’ both on Shift,
|
||||
// but it doesn't seem to make much difference, and makes the firmware
|
||||
// even larger.
|
||||
),
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
|
@ -1,60 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* Author: © 2021 by Jos Boersema
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// --------------------------------------v---------------------------------------
|
||||
// Configuration:
|
||||
// --------------------------------------v---------------------------------------
|
||||
|
||||
/* • Harmonize regular Qwerty
|
||||
*
|
||||
* If compiling this ‛Qwerty Base Arrow’ base pair with regular Qwerty on
|
||||
* the other base pair (dual layout), the key ‛/?’ on the _NSY layer in
|
||||
* Qwerty Base Arrow, will be replicated in the same spot in regular Qwerty.
|
||||
*
|
||||
* Regular Qwerty will still also have a ‛/?’ key in the normal Qwerty location.
|
||||
* See ./base_qwerty_basearrow.md and ./base_qwerty.md for details.
|
||||
*/
|
||||
#define QWERTY_BASEARROW_HARMONIZE // _Activate_ to harmonize the ‛/?’ key in the regular Qwerty layout.
|
||||
// _Remove_ leave regular Qwerty layout unchanged from default.
|
||||
|
||||
// --------------------------------------^---------------------------------------
|
||||
// Below here no more comfortable configuration options.....
|
||||
// --------------------------------------^---------------------------------------
|
||||
|
||||
|
||||
/* Redefine a layer in this file
|
||||
*
|
||||
* _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
|
||||
* in this file. The version in ./keymap.c will be ignored. Keep in mind to use
|
||||
* transparent keys (_______) for “hold” layer switch keys on the BASE map, for
|
||||
* your new layer.
|
||||
*/
|
||||
// #define BASESFILE_LAYER_ACC
|
||||
// #define BASESFILE_LAYER_DRA
|
||||
// #define BASESFILE_LAYER_BON
|
||||
// #define BASESFILE_LAYER_PAD
|
||||
// #define BASESFILE_LAYER_MOV
|
||||
// #define BASESFILE_LAYER_RAR
|
||||
// #define BASESFILE_LAYER_FUN
|
||||
|
||||
/* ⬇ */
|
||||
|
||||
|
|
@ -1,134 +0,0 @@
|
|||
# Minifan layout
|
||||
|
||||
Compiled for: Qwerty with arrows on Base
|
||||
========================================
|
||||
This version of Qwerty puts arrows on Base, and assumes the 'arrow' hardware key.
|
||||
|
||||
You have to manually set *#define `MORE_KEY__ARROW`* in `./user_config.h`,
|
||||
to let compilation know you have that additional hardware key.
|
||||
|
||||
If not compiled with ‛Arrow’ hardware key, Base will not contain ‛Down arrow’.
|
||||
You do not have to worry about what to set the additional hardware key to, on
|
||||
the Base layer. This will be set to Down Arrow, to complete that arrow cluster.
|
||||
|
||||
Is arrows on Base efficient ?
|
||||
=============================
|
||||
This variation of Qwerty is not necessarily the recommended version of
|
||||
Qwerty for a board with the additional ‛Arrow’ hardware key.
|
||||
The regular Qwerty compile option can provide good arrow access.
|
||||
|
||||
Putting directional arrow keys on the Base layer will cost you several
|
||||
keys on the Base layer: hold to layer `_RAR` (power, media, etc. layer),
|
||||
GUI, and ‛/?’.
|
||||
|
||||
• The ‛/?’ key is displaced to the `_NSY` (numbers & symbols) layer, and is not
|
||||
in the default spot for a Qwerty layout.
|
||||
|
||||
• The GUI key is lost. You could decide to also use the ‛south paw’/‛command’
|
||||
hardware key, which is a GUI by default.
|
||||
|
||||
• Hold key to `_RAR` layer is lost. You can only reach `_RAR` layer using the
|
||||
right shift toggle, which is on a short timer.
|
||||
|
||||
|
||||
Have it both ways
|
||||
=================
|
||||
You could compile regular Qwerty on one of the Base pairs (‛Default’ or
|
||||
‛Alternate’), and Qwerty _with Arrows on Base_ on the other. That way
|
||||
you can switch to see what works for you. You could leave it like
|
||||
that, and choose what you want depending on what you are doing.
|
||||
|
||||
Dual layout combination with Qwerty Base Arrow
|
||||
==============================================
|
||||
The option `QWERTY_BASEARROW_HARMONIZE` in `./base_qwerty_basearrow.h` is set
|
||||
by default, causing the key ‛/?’ in the _regular_ Qwerty layout to _also_ be
|
||||
located in the same spot as in this ‛Qwerty with Arrows on Base’ layout.
|
||||
|
||||
See also: .
|
||||
See also:  for the reason behind this.
|
||||
|
||||
|
||||
Qwerty keymaps
|
||||
--------------
|
||||
|
||||
──────────Qwerty───────────────
|
||||
|
||||

|
||||
Layer: `..._BASE`
|
||||
|
||||

|
||||
Layer: `..._NSY`
|
||||
|
||||
──────────in common────────────
|
||||
|
||||
(…)
|
||||
|
||||
For more about the other layers, see ➡  ⬅
|
||||
|
||||

|
||||
|
||||
Layers (text)
|
||||
=============
|
||||
|
||||
───────────────Qwerty─────────────────
|
||||
|
||||
Layer _..._BASE (Letters). This is Qwerty with arrows on Base
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Esc qQ wW eE rR tT | yY uU iI oO pP Bksp
|
||||
Tab+LCtl aA sS dD fF gG | hH jJ kK lL ;: '"
|
||||
LSht+_PAD zZ xX cC vV bB | nN mM ,< .> Up RSht+_FUN
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) Left Right
|
||||
hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ // switch type
|
||||
hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
|
||||
┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
|
||||
^³ ^⁴ // Optional more keys
|
||||
(RGUI) (Down)
|
||||
|
||||
₁) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
|
||||
₂) Hold key “<2” with either٭ key “<3” or “3>” for _BON, single hold “<2” for _ACC. Marked: ┗━━…━━┛
|
||||
₃) 'South paw' hardware configuration. Configurable, default shown.
|
||||
₄) 'Arrow' hardware configuration. Set to Down Arrow.
|
||||
₃ ₄) There are two more optional hardware keys, to make it easier to compile for
|
||||
a 12x12x12x11 or 12x12x12x12 layouts.
|
||||
₅) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
|
||||
₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
|
||||
|
||||
Remarks: The left modifiers have a slight delay in combination with an outside pointer device (mouse, stylus).
|
||||
It seems this will be difficult to fix, because it is spread over two devices. To avoid the
|
||||
±0.2 second delay, activate a layer where the modifiers are direct (`_PAD`), using the layer toggle on left shift.
|
||||
|
||||
The key with ';' (Del;`_ACC`) does not auto-repeat on double tap, like QMK normal layer-tap keys.
|
||||
There is an uncluttered _Delete_ on `_PAD`.
|
||||
|
||||
Holding both `_DEF_NSY` keys left and right of the "split space bar" (enter, space) results in layer `_DRA`.
|
||||
|
||||
Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>), with the `_ACC` layer key
|
||||
(on <2) results in layer `_BON`.
|
||||
|
||||
|
||||
- - -
|
||||
|
||||
|
||||
Layer _..._NSY (Numbers and SYmbols). This fits the above Qwerty layer _..._BASE
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
-*- <|> //(toggle) Access on _FUN
|
||||
BASE ! @ # $ % | ^ & * ( ) Del
|
||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) /?
|
||||
-+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht // See _BON for ‛`’
|
||||
^^ ^ // Only differences with normal version _..._NSY
|
||||
---------------------------------------------------------------------------
|
||||
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
||||
-*- <|> -*- //(hold) Access on _..._BASE
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1>
|
||||
^ ^
|
||||
(RGUI) (_MOV)
|
||||
|
||||
|
||||
|
||||
- - -
|
||||
|
|
@ -1,203 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* Author: © 2021 by Jos Boersema
|
||||
*
|
||||
*/
|
||||
|
||||
// --------------------------------------v---------------------------------------
|
||||
// Configuration:
|
||||
// --------------------------------------v---------------------------------------
|
||||
|
||||
// --------------------------------------^---------------------------------------
|
||||
// Below here no more comfortable configuration options.....
|
||||
// --------------------------------------^---------------------------------------
|
||||
|
||||
|
||||
/* Redefine a layer in this file
|
||||
*
|
||||
* _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
|
||||
* in this file. The version in ./keymap.c will be ignored. Keep in mind to use
|
||||
* transparent keys (_______) for “hold” layer switch keys on the BASE map, for
|
||||
* your new layer.
|
||||
*/
|
||||
// #define BASESFILE_LAYER_ACC
|
||||
// #define BASESFILE_LAYER_DRA
|
||||
// #define BASESFILE_LAYER_BON
|
||||
// #define BASESFILE_LAYER_PAD
|
||||
// #define BASESFILE_LAYER_MOV
|
||||
// #define BASESFILE_LAYER_RAR
|
||||
// #define BASESFILE_LAYER_FUN
|
||||
|
||||
/* ⬇ */
|
||||
|
||||
/* Layer _..._BASE: Workman, normal BASE layer and 'default' layer
|
||||
*
|
||||
* - Dual use keys create a delay in the key (tap/hold keys), therefore
|
||||
* space is not dual use (most ued key), neither is hyphen.
|
||||
*/
|
||||
|
||||
// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
|
||||
# if defined(BASE_WORKMAN__DEF_BASE)
|
||||
[ _DEF_BASE ] = LAYOUT_redefined (
|
||||
# elif defined(BASE_WORKMAN__ALT_BASE)
|
||||
[ _ALT_BASE ] = LAYOUT_redefined (
|
||||
# endif
|
||||
|
||||
/*
|
||||
Layer _..._BASE (Letters). This is Workman
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Esc qQ dD· rR· wW· bB· | jJ· fF· uU· pP· :;· Bksp
|
||||
Tab+LCtl aA sS hH· tT· gG | yY· nN· eE· oO· iI· '"
|
||||
LSht+_PAD zZ xX mM· cC· vV· | kK· lL· ,< .> /? RSht+_FUN
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
|
||||
hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
|
||||
hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
|
||||
┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
|
||||
^³ ^⁴ // Optional more keys
|
||||
(RGUI) (_MOV)
|
||||
|
||||
₁) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
|
||||
₂) Hold key “<2” with either٭ key “<3” or “3>” for _BON, single hold “<2” for _ACC. Marked: ┗━━…━━┛
|
||||
₃) 'South paw' hardware configuration. Configurable, default shown.
|
||||
₄) 'Arrow' hardware configuration Configurable, default shown.
|
||||
₃ ₄) There are two more optional hardware keys, to make it easier to compile for
|
||||
a 12x12x12x11 or 12x12x12x12 layouts.
|
||||
₅) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
|
||||
₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
|
||||
₇) Letters marked by ‛·’ are different from Qwerty.
|
||||
*/
|
||||
//
|
||||
// <pink2 , <pink, <ring, <midd, <indx, <ind|, indx>, inde>, midd> , ring> , pink> , pink2> ,
|
||||
// -*!- , , , , , <|,> , , , , , ,
|
||||
KC_ESC , KC_Q , KC_D , KC_R , KC_W , KC_B , KC_J , KC_F , KC_U , KC_P , KC_SCLN , KC_BSPC ,
|
||||
LCTL_T ( KC_TAB ) , KC_A , KC_S , KC_H , KC_T , KC_G , KC_Y , KC_N , KC_E , KC_O , KC_I , KC_QUOT ,
|
||||
CHOLTAP_LSHFT , KC_Z , KC_X , KC_M , KC_C , KC_V , KC_K , KC_L , KC_COMM , KC_DOT , KC_SLSH , CHOLTAP_RSHFT ,
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
LALT_T ( KC_LEFT )
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, MO ( _PAD )
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1_BASE
|
||||
# endif
|
||||
|
||||
# ifdef SWITCH_HOLD_ACC_NSY
|
||||
, DUO_HOLD , CHOLTAP_ACCE
|
||||
# else
|
||||
, CHOLTAP_ACCE , DUO_HOLD
|
||||
# endif
|
||||
|
||||
, LEFTCENTER_THUMB
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
|
||||
, RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, MO ( _FUN )
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
, MORE_key2
|
||||
# endif
|
||||
|
||||
, CHOLTAP_LAYR
|
||||
// , , , <|,> , , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||
|
||||
),
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
||||
/* Layer _..._NSY: Numbers and symbols, to work with the Workman base layer above. (Same as Qwerty.)
|
||||
* Off hand Number input (-.Bksp ent (shft)tab).
|
||||
*/
|
||||
// KC_TILD does not work there, because of a limitation with shifted keys (nov 2019).
|
||||
|
||||
// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
|
||||
# if defined(BASE_WORKMAN__DEF_BASE)
|
||||
[ _DEF_NSY ] = LAYOUT_redefined (
|
||||
# elif defined(BASE_WORKMAN__ALT_BASE)
|
||||
[ _ALT_NSY ] = LAYOUT_redefined (
|
||||
# endif
|
||||
|
||||
/*
|
||||
Layer _..._NSY (Numbers and SYmbols). This fits the above Workman layer _..._BASE
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
-*- <|> //(toggle) Access on _FUN
|
||||
BASE ! @ # $ % | ^ & * ( ) Del
|
||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||
-+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
|
||||
^^ ^ // Only differences with normal version _..._NSY
|
||||
---------------------------------------------------------------------------
|
||||
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
||||
-*- <|> -*- //(hold) Access on _..._BASE
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1>
|
||||
^ ^
|
||||
(RGUI) (_MOV)
|
||||
*/
|
||||
//
|
||||
//
|
||||
// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
|
||||
// , -*- , , , , <|,> , , , , , ,
|
||||
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
||||
LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) ,
|
||||
LSFT_DASH , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_TILDE ,
|
||||
// ---------------------------------------------------------------------------------------------------------------------------------------------
|
||||
LALT_T ( KC_LEFT )
|
||||
|
||||
# ifdef TRANSMINIVAN_LEFTSIDE
|
||||
, XXXXXXX
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__COMMAND
|
||||
, MORE_key1
|
||||
# endif
|
||||
|
||||
, _______ , _______ , KC_ENT
|
||||
|
||||
# ifdef TRANSMINIVAN_MIDLEFT
|
||||
, TRANS_MIDLEFT
|
||||
# endif
|
||||
|
||||
, KC_DOT , DUO_HOLD , KC__YGUI
|
||||
|
||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||
, XXXXXXX
|
||||
# endif
|
||||
|
||||
# ifdef MORE_KEY__ARROW
|
||||
, MORE_key2
|
||||
# endif
|
||||
|
||||
, RALT_T ( KC_RGHT )
|
||||
// , , -*- , <|,> , -*- , ,
|
||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||
|
||||
),
|
||||
|
||||
/* ⬆⬇ */
|
||||
|
|
@ -1,95 +0,0 @@
|
|||
# Minifan layout
|
||||
|
||||
Compiled for: Workman
|
||||
=====================
|
||||
|
||||
This file details the compile version `#define BASE_WORKMAN__DEF_BASE, BASE_WORKMAN__ALT_BASE`.
|
||||
This is a Workman layout.
|
||||
|
||||
The number & symbols layer (`_NSY`) is the same as for Qwerty.
|
||||
|
||||
Workman keymaps
|
||||
---------------
|
||||
|
||||
─────────Workman───────────────
|
||||
|
||||

|
||||
Layer: `..._BASE`
|
||||
|
||||

|
||||
Layer: `..._NSY`
|
||||
|
||||
──────────in common────────────
|
||||
|
||||
(…)
|
||||
|
||||
For more about the other layers, see ➡  ⬅
|
||||
|
||||

|
||||
|
||||
Layers (text)
|
||||
=============
|
||||
|
||||
───────────────Workman─────────────────
|
||||
|
||||
Layer _..._BASE (Letters). This is Workman
|
||||
| Right hand
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||
-o- <|> ... //-o- BASE access
|
||||
Esc qQ dD rR wW bB | jJ fF uU pP :; Bksp
|
||||
Tab+LCtl aA sS hH tT gG | yY nN eE oO iI '"
|
||||
LSht+_PAD zZ xX mM cC vV | kK lL ,< .> /? RSht+_FUN
|
||||
+_MOV⁵ | +_RAR⁶
|
||||
---------------------------------------------------------------------------------------
|
||||
Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
|
||||
hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
|
||||
hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
|
||||
┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
|
||||
^³ ^⁴ // Optional more keys
|
||||
(RGUI) (_MOV)
|
||||
|
||||
₁) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
|
||||
₂) Hold key “<2” with either٭ key “<3” or “3>” for _BON, single hold “<2” for _ACC. Marked: ┗━━…━━┛
|
||||
₃) 'South paw' hardware configuration. Configurable, default shown.
|
||||
₄) 'Arrow' hardware configuration Configurable, default shown.
|
||||
₃ ₄) There are two more optional hardware keys, to make it easier to compile for
|
||||
a 12x12x12x11 or 12x12x12x12 layouts.
|
||||
₅) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
|
||||
₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
|
||||
|
||||
Remarks: The left modifiers have a slight delay in combination with an outside pointer device (mouse, stylus).
|
||||
It seems this will be difficult to fix, because it is spread over two devices. To avoid the
|
||||
±0.2 second delay, activate a layer where the modifiers are direct (`_PAD`), using the layer toggle on left shift.
|
||||
|
||||
The two keys with ';' (Del;`_ACC`, Right;`_RAR`) do not auto-repeat on double tap, like QMK normal layer-tap keys.
|
||||
There is an uncluttered _Delete_ on `_PAD`, an uncluttered _Right_ arrow on the `_MOV` layer.
|
||||
|
||||
Holding both `_DEF_NSY` keys left and right of the "split space bar" (enter, space) results in layer `_DRA`.
|
||||
|
||||
Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>), with the `_ACC` layer key
|
||||
(on <2) results in layer `_BON`.
|
||||
|
||||
|
||||
- - -
|
||||
|
||||
|
||||
Layer _..._NSY (Numbers and SYmbols). This fits the above Workman layer _DEF_BASE
|
||||
|
||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||
-*- <|> //(toggle) Access on _FUN
|
||||
BASE ! @ # $ % | ^ & * ( ) Del
|
||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||
-+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
|
||||
^^ ^ // Only differences with Dvorak version _DEF_NSY
|
||||
---------------------------------------------------------------------------
|
||||
Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
|
||||
-*- <|> -*- u //(hold) Access on _DEF_BASE
|
||||
<1 ± <2 <3 <4 | 4> 3> 2> ± 1>
|
||||
^ ^
|
||||
(LGUI) (_MOV)
|
||||
|
||||
|
||||
|
||||
- - -
|
||||
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* © 2019,2020 by Jos Boersema
|
||||
*/
|
||||
|
||||
|
||||
#pragma once
|
||||
#define LAYER_STATE_16BIT // This saves more than 400 bytes on the hex file
|
||||
|
||||
// place overrides here
|
||||
|
||||
// Some defines meant to decrease the firmware size. The firmware is otherwise over the maximum (atmega32u4)
|
||||
//# ifndef LTO_ENABLE
|
||||
//Disable old style macro handling: MACRO() & action_get_macro
|
||||
//# define NO_ACTION_MACRO // This saves 320 bytes
|
||||
//disable calling of action_function() from the fn_actions array (deprecated)
|
||||
//# define NO_ACTION_FUNCTION // This saves 96 bytes
|
||||
//# endif
|
||||
|
||||
#define PERMISSIVE_HOLD
|
||||
#define RGBLIGHT_SLEEP // QMK docs: "If defined, the RGB lighting will be switched off when the host goes to sleep"
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
|
||||
// Layer switch TT(layer) tapping amount to make it toggle
|
||||
#define TAPPING_TERM_HOLTAP 225 // 175 ms proved unreliable, 225 ms seems ok (personal preference)
|
||||
|
||||
|
||||
// Attempts to reduce firmware size:
|
||||
//#define LTO_ENABLE // Did not decrease firmware size when tested on 26 Jan 2020
|
||||
//#define NO_DEBUG //disable debugging (already defined)
|
||||
//#define NO_PRINT JJdisable printing/debugging using hid_listen (already defined)
|
||||
//#define NO_ACTION_LAYER //disable layers (obviously need layers)
|
||||
//#define NO_ACTION_TAPPING // This saves 2516 bytes (9%) (keymap uses tapping)
|
||||
//#define NO_ACTION_ONESHOT // This did not reduse firmware size on 26 Jan 2020
|
||||
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,108 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* © 2020,2021 by Jos Boersema
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* If MINIFAN_CONFIG_COMPACT in ./user_config.h ⬇
|
||||
*/
|
||||
|
||||
//#define BASE_QWERTY__DEF_BASE
|
||||
//#define BASE_QWERTY__ALT_BASE
|
||||
//#define BASE_QWERTY_BASEARROW__DEF_BASE // ➡ base_qwerty_basearrow.h
|
||||
//#define BASE_QWERTY_BASEARROW__ALT_BASE // ➡ base_qwerty_basearrow.h
|
||||
#define BASE_DVORAK__DEF_BASE
|
||||
//#define BASE_DVORAK__ALT_BASE
|
||||
//#define BASE_DVORAK_DESCRAMBLE__ALT_BASE
|
||||
//#define BASE_COLEMAK__DEF_BASE
|
||||
//#define BASE_COLEMAK__ALT_BASE
|
||||
//#define BASE_WORKMAN__DEF_BASE
|
||||
//#define BASE_WORKMAN__ALT_BASE
|
||||
//#define BASE_NUMPAD__ALT_BASE // ➡ base_numpad.h
|
||||
//#define BASE_HEBREW__DEF_BASE // ➡ base_hebrew.h
|
||||
#define BASE_HEBREW__ALT_BASE // ➡ base_hebrew.h
|
||||
|
||||
//#define MINIFAN_SINGLE_LAYOUT
|
||||
|
||||
//#define STARTUP_ALTERNATE
|
||||
//#define STARTUP_SIDE_LEDS_OFF
|
||||
//#define STARTUP_MID_LED_OFF
|
||||
//#define STARTUP_SPEED
|
||||
//#define STARTUP_COUNT
|
||||
|
||||
//#define MORE_KEY__COMMAND
|
||||
//#define MORE_KEY__ARROW
|
||||
|
||||
//#define TRANSMINIVAN_LAYOUT .......
|
||||
//#define TRANSMINIVAN_LEFTSIDE
|
||||
#define TRANS_LEFT XXXXXXX
|
||||
//#define TRANSMINIVAN_MIDLEFT
|
||||
#define TRANS_MIDLEFT XXXXXXX
|
||||
//#define TRANSMINIVAN_RIGHTSIDE
|
||||
#define TRANS_RIGHT XXXXXXX
|
||||
|
||||
//#define MORE_key1_BASE TG ( _RAR )
|
||||
//#define MORE_key1_BASE KC_DEL
|
||||
#define MORE_key1_BASE KC__XGUI
|
||||
//#define MORE_key1 KC_DEL
|
||||
#define MORE_key1 KC__XGUI
|
||||
#define MOREKEY2_ARROW_CLUSTER
|
||||
//#define MOREKEY2_ADD_NAVIGATION
|
||||
#define MORE_key2 _MOV_UP
|
||||
//#define MORE_key2 KC_DEL
|
||||
|
||||
#define ARROWS_TRIANGLE
|
||||
//#define VI_SWITCHERYDOO
|
||||
|
||||
#define NUMPAD_COMMON_SQUARE
|
||||
|
||||
#define SPEED_COUNTDOWN 25
|
||||
#define SPEED_HUE_STEP 8
|
||||
#define SPEED_HUE_START 160
|
||||
#define WORDS_PER_MINUTE
|
||||
|
||||
//#define BASE_RIGHT_ALT
|
||||
//#define SWITCH_GUIS
|
||||
//#define UNICODE_CURRENCY 0x20ac
|
||||
//#define POINT_ON_CHECKBOXES
|
||||
//#define SWITCH_BASE_ROW1_23
|
||||
//#define SWITCH_HOLD_ACC_NSY
|
||||
#define SWITCH_LSHIFT_PAD_MOV
|
||||
#define SWITCH_RSHIFT_FUN_RAR
|
||||
//#define SPACE_LEFT__ENTER_RIGHT
|
||||
|
||||
//#define REMOVE_PAD
|
||||
//#define REMOVE_ACC
|
||||
//#define _ACC_KEY_ALT_LAYER _BON
|
||||
//#define _ACC_KEY_ALT_LAYER _DRA
|
||||
//#define REMOVE_DRA
|
||||
//#define _DRA_KEY_ALT_LAYER _ACC
|
||||
//#define _DRA_KEY_ALT_LAYER _BON
|
||||
//#define REMOVE_BON
|
||||
//#define _BON_KEY_ALT_LAYER _ACC
|
||||
//#define _BON_KEY_ALT_LAYER _DRA
|
||||
//#define ALL_DRA_BON_EVISCERATIONS
|
||||
#define BOX_DRAWINGS
|
||||
#define SUB_SCRIPT_NUMS
|
||||
#define FULL_DRA_2NDROW
|
||||
#define FULL_DRA_4THROW
|
||||
#define FULL_BON_4THROW
|
||||
|
||||
//#define LEDS_OFF_BASE_DEF
|
||||
//#define LEDS_OFF_BASE_ALT
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,19 +0,0 @@
|
|||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = yes # Enable Leds. If you set to “no”, that saves ≈ 13% of the firmware size.
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
UNICODEMAP_ENABLE = yes #
|
||||
LTO_ENABLE = yes # To reduce firmware size
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
Todo:
|
||||
=====
|
||||
|
||||
|
||||
§ Further development
|
||||
|
||||
The following seem interesting for further development. However following the “scratch your
|
||||
own itch” rule, perhaps it should be someone else's interest.
|
||||
|
||||
☐ It seems fun to have a user friendly front end to compile the available variations of this keymap.
|
||||
Such a front end could edit minifan_config_compact.h
|
||||
|
||||
☐ Language specific keyboards, such as Qwertz and Azerty, etc.
|
||||
Two option exist:
|
||||
• Using an include like #include keymap_german.h (etc).
|
||||
• If a language specific #include and computer language setting is not used, but merely some basics
|
||||
such as a matching basic alphabet ABC…XYZ on Base, with some additional Unicode symbols for that
|
||||
language on _ACC and or other Unicode layers, it might be simple to make, and avoid the dead key
|
||||
problem. To go another step and recreate a key like ‛<>’ (as it seems to exist in Qwertz), would
|
||||
seem to require macros in unicode_macros.c.
|
||||
|
||||
§ Other:
|
||||
|
||||
☐ Testing all user configurations
|
||||
☐ Porting to Planck keyboard.
|
||||
☐ Review/fix C indendation. QMK indentation is not my preferred style, and
|
||||
therefore it is not entirely consistent.
|
||||
?☐ A lock mode, so that others cannot type on it if you walk off ?
|
||||
?☐ Fun and games: game layer.
|
||||
|
||||
?☒ User defining macros (record/play user input), another special Base layer ? Is there
|
||||
room for this, or how to create it if not.
|
||||
➡ It seems a bit odd to have a keyboard with internal registers. Probably better handled at the
|
||||
application level, so that the keyboard remains a basic input device.
|
||||
|
|
@ -1,116 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* Author: © 2021 by Jos Boersema
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/* An amount of Unicode #defines
|
||||
* - hebrew
|
||||
*/
|
||||
|
||||
//
|
||||
#define HB_ALEF 0x05D0 // 'HB' for 'Hebrew', "ALEF" for Alef : א
|
||||
#define HB_BET 0x05D1 // " , "BET" for Bet : ב
|
||||
#define HB_GIMEL 0x05D2 // " , "GIMEL" for Gimel : ג
|
||||
#define HB_DALET 0x05D3 // " , "DALET" for Daled : ד
|
||||
#define HB_HE 0x05D4 // " , "HE" for He : ה
|
||||
#define HB_VAV 0x05D5 // " , "VAV" for Vav : ו
|
||||
#define HB_ZAYIN 0x05D6 // " , "ZAYIN" for Zayin : ז
|
||||
#define HB_GET 0x05D7 // " , "HET" for Het : ח
|
||||
#define HB_TET 0x05D8 // " , "TET" for Tet : ט
|
||||
#define HB_YOD 0x05D9 // " , "YOD" for Yod : י
|
||||
#define HB_KAFS 0x05DA // " , "KAFS" for Kaf sofiet : ך
|
||||
#define HB_KAF 0x05DB // " , "KAF" for Kaf : כ
|
||||
#define HB_LAMED 0x05DC // " , "LAMED" for Lamed : ל
|
||||
#define HB_MEMS 0x05DD // " , "MEMS" for Mem sofiet : ם
|
||||
#define HB_MEM 0x05DE // " , "MEM" for Mem : מ
|
||||
#define HB_NUNS 0x05DF // " , "NUNS" for Nun sofiet : ן
|
||||
#define HB_NUN 0x05E0 // " , "NUN" for Nun : נ
|
||||
#define HB_SAMEG 0x05E1 // " , "SAMEG" for Sameg : ס
|
||||
#define HB_AYIN 0x05E2 // " , "AYIN" for Ayin : ע
|
||||
#define HB_PES 0x05E3 // " , "PES" for Pe sofiet : ף
|
||||
#define HB_PE 0x05E4 // " , "PE" for Pe : פ
|
||||
#define HB_TSDIS 0x05E5 // " , "TSDIS" for Tsadi sofiet: ץ
|
||||
#define HB_TSADI 0x05E6 // " , "TSADI" for Tsadi : צ
|
||||
#define HB_QOF 0x05E7 // " , "QOF" for Qof : ק
|
||||
#define HB_RESH 0x05E8 // " , "RESH" for Resh : ר
|
||||
#define HB_SHIN 0x05E9 // " , "SHIN" for Shin : ש
|
||||
#define HB_TAV 0x05EA // " , "TAV" for Tav : ת
|
||||
#define HB_MAQAF 0x05be // " , "MAQAF" for Maqaf : ־
|
||||
|
||||
// Yiddish digraphs:
|
||||
//#define HB_D_VAV 0x05F0 // " , "D_VAV" for double Van : װ
|
||||
//#define HB_VAVYD 0x05F1 // " , "VAVYD" for Vav Yod : ױ
|
||||
//#define HB_D_YOD 0x05F2 // " , "D_YOD" for double Yod : ײ
|
||||
|
||||
// special
|
||||
#define HB_RLM 0x200F // " , "RLM" for Right-Left-Mark: <non-printing>
|
||||
#define HB_LRM 0x200E // " , "LRM" for Left-Right-Mark: <non-printing>
|
||||
|
||||
|
||||
// The below are displacing symbols on other layers, some of which are quite obscure
|
||||
// and end up being unused. They are compiled based on a #define.
|
||||
// These where reported as symbols present on hebrew keyboards:
|
||||
// U+05F3 : HEBREW PUNCTUATION GERESH
|
||||
// U+20AC : EURO SIGN
|
||||
// U+20AA : NEW SHEQEL SIGN {shekel}
|
||||
// U+00B0 : DEGREE SIGN
|
||||
// U+05AB : HEBREW ACCENT OLE
|
||||
// U+05BD : HEBREW POINT METEG {siluq}
|
||||
// U+00D7 : MULTIPLICATION SIGN {z notation Cartesian product}
|
||||
// U+200E : LEFT-TO-RIGHT MARK [LRM]
|
||||
// U+200F : RIGHT-TO-LEFT MARK [RLM]
|
||||
// U+05BE : HEBREW PUNCTUATION MAQAF
|
||||
// U+2013 : EN DASH
|
||||
// U+05C2 : HEBREW POINT SIN DOT
|
||||
// U+05C1 : HEBREW POINT SHIN DOT
|
||||
// U+05B8 : HEBREW POINT QAMATS
|
||||
// U+05F0 : HEBREW LIGATURE YIDDISH DOUBLE VAV {tsvey vovn}
|
||||
// U+05B9 : HEBREW POINT HOLAM
|
||||
// U+05B7 : HEBREW POINT PATAH
|
||||
// U+05B2 : HEBREW POINT HATAF PATAH
|
||||
// U+05F1 : HEBREW LIGATURE YIDDISH VAV YOD
|
||||
// U+05F2 : HEBREW LIGATURE YIDDISH DOUBLE YOD {tsvey yudn}
|
||||
// U+05B4 : HEBREW POINT HIRIQ
|
||||
// U+201D : RIGHT DOUBLE QUOTATION MARK {double comma quotation mark}
|
||||
// U+201E : DOUBLE LOW-9 QUOTATION MARK {low double comma quotation mark}
|
||||
// U+05F4 : HEBREW PUNCTUATION GERSHAYIM
|
||||
// U+05B6 : HEBREW POINT SEGOL
|
||||
// U+05B1 : HEBREW POINT HATAF SEGOL
|
||||
// U+05B5 : HEBREW POINT TSERE
|
||||
// U+2019 : RIGHT SINGLE QUOTATION MARK {single comma quotation mark}
|
||||
// U+201A : SINGLE LOW-9 QUOTATION MARK {low single comma quotation mark}
|
||||
// U+00F7 : DIVISION SIGN {obelus}
|
||||
// U+05BA : HEBREW POINT HOLAM HASER FOR VAV
|
||||
// U+200D : ZERO WIDTH JOINER [ZWJ]
|
||||
// U+201C : LEFT DOUBLE QUOTATION MARK {double turned comma quotation mark}
|
||||
// U+201D : RIGHT DOUBLE QUOTATION MARK {double comma quotation mark}
|
||||
// U+034F : COMBINING GRAPHEME JOINER [CGJ]
|
||||
// U+05C6 : HEBREW PUNCTUATION NUN HAFUKHA
|
||||
// U+200C : ZERO WIDTH NON-JOINER [ZWNJ]
|
||||
// U+2018 : LEFT SINGLE QUOTATION MARK {single turned comma quotation mark}
|
||||
// U+2019 : RIGHT SINGLE QUOTATION MARK {single comma quotation mark}
|
||||
// Note: many modifiers probably only work with a hebrew language setting on the computer
|
||||
// operating system. As Unicode, it would print a disconnected diacretical symbol.
|
||||
|
||||
// Geresh
|
||||
#define HB_GERSH 0x05F3 // " , "GERSH" for Geresh :
|
||||
#define HB_GRSHM 0x05F4 // " , "GRSHM" for Gershayim :
|
||||
// Currency
|
||||
#define HB_SHEKL 0x20AA // " , "SHEKL" for shekel :
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,46 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* Remainder: © 2019 by J.B. <joshb@xs4all.nl>
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/* This file contains function declarations for functions used in
|
||||
* unicode_macros.c
|
||||
*/
|
||||
|
||||
#define PRESCRAMBLED_U "f" // This is the letter 'u' for Unicode input, as effective on GNU/Debian/Linux 10 set to Dvorak
|
||||
static uint16_t key_timer; // Used in _DDL to differentiate layer switching in half or full descramble mode.
|
||||
// In 'full' mode it goes to _DDD and _DDA Unicode layers, in 'half' mode to _DRA and _ACC.
|
||||
|
||||
short duo_press_nsy_dra = 0; // This remembers how many of the duo-press keys are being pressed: _NSY / _DRA layers
|
||||
short duo_press_acc_bon = 0; // This remembers how many of the duo-press keys are being pressed: _ACC / _BON layers
|
||||
layer_state_t state_recall; // Also used when leds on/off is pressed
|
||||
|
||||
void deactivate_all_but (int layer);
|
||||
void activate_this_layer (int layer);
|
||||
void indicate_base (void);
|
||||
void leds_show_off (void);
|
||||
void speed_report (int speed);
|
||||
void speed_led (int speed);
|
||||
void indicate_fun_stay (void);
|
||||
int write_number (long int input, short divide10);
|
||||
void isolate_rgblight_set (void);
|
||||
void set_led_colors_ (layer_state_t state);
|
||||
|
||||
|
||||
|
|
@ -1,290 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* Author: © 2019, 2020 by Jos Boersema
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/* An amount of Unicode #defines
|
||||
* - western european accented characters
|
||||
* - various punctuation symbols, different number formats, math symbols, other symbols.
|
||||
*/
|
||||
|
||||
// a lower case variants
|
||||
#define CAL_ACU 0xe1 // 'C' for Costum 'A' for a, 'L' for lower, "ACU" for acute: á
|
||||
#define CAL_CAR 0xe2 // '' '' '' "CAR" for caret: â
|
||||
#define CAL_DIA 0xe4 // '' '' '' "DIA" for diaereses: ä
|
||||
#define CAL_GRA 0xe0 // '' '' '' "GRA" for grave: à
|
||||
// A upper case variants
|
||||
#define CAU_ACU 0xc1 // '' '' 'U' for upper, "ACU" for acute: Á
|
||||
#define CAU_CAR 0xc2 // '' '' '' "CAR" for caret: Â
|
||||
#define CAU_DIA 0xc4 // '' '' '' "DIA" for diaereses: Ä
|
||||
#define CAU_GRA 0xc0 // '' '' '' "GRA" for grave: À
|
||||
|
||||
// A with ring (Scandinavia)
|
||||
#define CAL_RNG 0xe5 // '' 'A' for a, 'L' for lower, "RNG" for Ring: å
|
||||
#define CAU_RNG 0xc5 // '' '' 'U' for upper, '' : Å
|
||||
|
||||
// AE (French)
|
||||
#define CAEL_BI 0xe6 // '' "AE" for ae, 'L' for lower '' : æ
|
||||
#define CAEU_BI 0xc6 // '' '' 'U' for upper, '' : Æ
|
||||
|
||||
// OE (French)
|
||||
#define COEL_BI 0x153 // '' "AO" for ao, 'L' for lower, "BI" for two-character: œ
|
||||
#define COEU_BI 0x152 // '' '' 'U' for upper, '' ; Œ
|
||||
|
||||
// Mu (French)
|
||||
#define C_MU_L 0x03BC // '' "MU" for Mu (Greek letter), 'L' for lower:
|
||||
|
||||
// C with cedilla
|
||||
#define CCL_CDL 0xe7 // '' 'C' for c, 'L' for lower, "CDL" for cedilla: ç
|
||||
#define CCU_CDL 0xc7 // '' '' 'U' for upper, '' : Ç
|
||||
|
||||
// e lower case variants
|
||||
#define CEL_ACU 0xe9 // 'C' for Costum 'E' for e, 'L' for lower, "ACU" for acute: é
|
||||
#define CEL_CAR 0xea // '' '' '' "CAR" for caret: ê
|
||||
#define CEL_DIA 0xeb // '' '' '' "DIA" for diaereses: ë
|
||||
#define CEL_GRA 0xe8 // '' '' '' "GRA" for grave: è
|
||||
// E upper case variants
|
||||
#define CEU_ACU 0xc9 // '' '' 'U' for uuper, "ACU" for acute: É
|
||||
#define CEU_CAR 0xca // '' '' '' "CAR" for caret: Ê
|
||||
#define CEU_DIA 0xcb // '' '' '' "DIA" for diaereses: Ë
|
||||
#define CEU_GRA 0xc8 // '' '' '' "GRA" for grave: È
|
||||
|
||||
// i lower case variants
|
||||
#define CIL_ACU 0xed // '' 'I' for i, 'L' for lower, "ACU" for acute: í
|
||||
#define CIL_CAR 0xee // '' '' '' "CAR" for caret: î
|
||||
#define CIL_DIA 0xef // '' '' '' "DIA" for diaereses: ï
|
||||
#define CIL_GRA 0xec // '' '' '' "GRA" for grave: ì
|
||||
// I upper case variants
|
||||
#define CIU_ACU 0xcd // '' '' 'U' for upper, "ACU" for acute: Í
|
||||
#define CIU_CAR 0xce // '' '' '' "CAR" for caret: Î
|
||||
#define CIU_DIA 0xcf // '' '' '' "DIA" for diaereses: Ï
|
||||
#define CIU_GRA 0xcc // '' '' '' "GRA" for grave: Ì
|
||||
|
||||
// N with tilde
|
||||
#define CNL_TLD 0xf1 // '' 'N' for n, 'L' for lower, "TLD" for tilde: ñ
|
||||
#define CNU_TLD 0xd1 // '' '' 'U' for upper, '' : Ñ
|
||||
|
||||
//Spanish additional symbols:
|
||||
#define CEX_INV 0xa1 // '' "EX" for exclamation mark, "INV" for inverted: ¡
|
||||
#define CQU_INV 0xbf // '' "QU" for question mark, '' : ¿
|
||||
|
||||
// o lower case variants
|
||||
#define COL_ACU 0xf3 // 'C' for Costum 'O' for a, 'L' for lower, "ACU" for acute: ó
|
||||
#define COL_CAR 0xf4 // '' '' '' "CAR" for caret: ô
|
||||
#define COL_DIA 0xf6 // '' '' '' "DIA" for diaereses: ö
|
||||
#define COL_GRA 0xf2 // '' '' '' "GRA" for grave: ò
|
||||
// O upper case variants
|
||||
#define COU_ACU 0xd3 // '' '' 'U' for upper, "ACU" for acute: Ó
|
||||
#define COU_CAR 0xd4 // '' '' '' "CAR" for caret: Ô
|
||||
#define COU_DIA 0xd6 // '' '' '' "DIA" for diaereses: Ö
|
||||
#define COU_GRA 0xd2 // '' '' '' "GRA" for grave: Ò
|
||||
|
||||
// O with stroke (Scandinavia)
|
||||
#define COL_STK 0xf8 // '' 'O' for o, 'L' for lower, "STK" for Stroke: ø
|
||||
#define COU_STK 0xd8 // '' '' 'U' for upper, '' : Ø
|
||||
|
||||
// u lower case variants
|
||||
#define CUL_ACU 0xfa // 'C' for Costum 'U' for u, 'L' for lower, "ACU" for acute: ú
|
||||
#define CUL_CAR 0xfb // '' '' '' "CAR" for caret: û
|
||||
#define CUL_DIA 0xfc // '' '' '' "DIA" for diaereses: ü
|
||||
#define CUL_GRA 0xf9 // '' '' '' "GRA" for grave: ù
|
||||
// U upper case variants
|
||||
#define CUU_ACU 0xda // '' 'U' for u, 'U' for upper, "ACU" for acute: Ú
|
||||
#define CUU_CAR 0xdb // '' '' '' "CAR" for caret: Û
|
||||
#define CUU_DIA 0xdc // '' '' '' "DIA" for diaereses: Ü
|
||||
#define CUU_GRA 0xd9 // '' '' '' "GRA" for grave: Ù
|
||||
|
||||
// Y with acute
|
||||
#define CYL_ACU 0xfd // '' 'Y' for y, 'L' for lower, "ACU" for Acute: ý
|
||||
#define CYU_ACU 0xdd // '' '' 'U' for upper, '' : Ý
|
||||
// Y with diaereses
|
||||
#define CYL_DIA 0xff // '' 'Y' for y, 'L' for lower, "DIA" for Diareses: ÿ
|
||||
#define CYU_DIA 0x178 // '' '' 'U' for upper, '' : Ÿ
|
||||
|
||||
// Dutch IJ
|
||||
#define CIJL_BI 0x133 // '' 'IJ' for ij, 'L' for lower, BI for two-character: ij
|
||||
#define CIJU_BI 0x132 // '' '' , 'U' for upper '' : IJ
|
||||
|
||||
//German:
|
||||
// sharp s
|
||||
#define CSL_SHP 0xdf // '' 'S' for s, 'L' for lower, "SHP" for sharp: ß
|
||||
|
||||
// Some Unicode symbols that might be handy
|
||||
// Happy symbols:
|
||||
#define CS_SMIL 0x1f642 // "C" for costum, "S" for symbol , "SMIL" for <smile> 🙂
|
||||
#define CS_SMILP 0x1F60A // '' , '' , "SMIL" for smile, "P" for plus: 😊
|
||||
#define CS_THUP 0x1f44d // '' , '' , "THUP" for <thumb up> 👍
|
||||
|
||||
//Sad symbols
|
||||
#define CS_SAD_ 0x1f641 // '' , '' , "SAD_" for <sad face> 🙁
|
||||
#define CS_SQUIG 0x2368 // '' , '' , "SQUIG" for squigly face: ⍨
|
||||
#define CS_THDN 0x1f44e // '' , '' , "THDN" for <thumb down> 👎
|
||||
|
||||
// Punctuation
|
||||
#define CS_ASTL 0x20F0 // '' , '' , "AST" for asterisk, "L" for little: ⃰
|
||||
#define CS_DASH 0x2014 // '' , '' , "DASH" for dash (a longer hyphen, if rendered correctly): —
|
||||
#define CS_DQUH 0x201D // '' , '' , "D" for double, "QU" for quote, "H" for high: ”
|
||||
#define CS_DQUHR 0x201C // '' , '' , '' , ,, , '' , "R" for reverse: “
|
||||
#define CS_DQUL 0x201E // '' , '' , , "L" for low: „
|
||||
#define CS_GUILLE 0xAB // '' , '' , "GUIL" for guillemet (French quotation), "LE" for left-pointing: «
|
||||
#define CS_GUILRI 0xBB // '' , '' , '' , "RI" for right-pointing: »
|
||||
#define CS_GUILSLE 0x2039 // '' , '' , '' , "S" for simple, "LE" for left-pointing: ‹
|
||||
#define CS_GUILSRI 0x203A // '' , '' , '' , '' , "RI" for right-pointing: ›
|
||||
#define CS_HQUOSB 0x201B // '' , '' , "H" for high, "QUO" for quote, "S" for single, "B" for begin: ‛
|
||||
#define CS_HQUOSE 0x2019 // '' , '' , '' '' '' , "E" for end: ’
|
||||
|
||||
// Unusual parenthesis types
|
||||
#define CS_OCBRA 0x300c // '' , '' , "O" for opening, "C" for corner, "BRA" for bracket:「
|
||||
#define CS_CCBRA 0x300d // '' , '' , "C" for closing, '' '' : 」
|
||||
#define CS_ODABRA 0x300a // '' '' , "O" for opening, "D" for double, "A" for angled, "BRA" for bracket:《
|
||||
#define CS_CDABRA 0x300b // '' , '' , "C" for closing, '' '' '' : 》
|
||||
|
||||
// currency
|
||||
#define CS_LGULDEN UNICODE_CURRENCY // '' , "L" for lower, "GULDEN" for gulden (guilder): ƒ
|
||||
// ^ special case for easy user configuration
|
||||
#define CS_CURREN 0xA4 // '' , '' , "CURREN" for currency, 'any currency' symbol: ¤
|
||||
#define CS_POUND 0xA3 // '' , '' , "POUND" for pound: £
|
||||
#define CS_CENT 0xA2 // '' , '' , "CENT" for cent: ¢
|
||||
|
||||
// legal
|
||||
#define CS_COPY 0xA9 // '' , '' , "COPY" for copyright:
|
||||
#define CS_COPYL 0x1F12F // '' , '' , "COPY" for Copyright, "L" for left:
|
||||
|
||||
// circle, dots, bullet points
|
||||
#define CS_BULLET 0x2022 // '' , '' , "BULLET" for bullet: •
|
||||
#define CS_CIRCLE 0x3007 // '' , '' , "CIRCLE" for circle: 〇
|
||||
#define CS_DEGREE 0xB0 // '' , '' , "DEGREE" for degree: °
|
||||
#define CS_ELLIPS 0x2026 // '' , '' , "ELLIPS" for bullet: …
|
||||
#define CS_FINGER 0x261E // '' , '' , "FINGER" for finger: ☞
|
||||
#define CS_MIDDOT 0x00B7 // '' , '' , "MIDDOT" for mid dot: ·
|
||||
#define CS_PARA 0x00A7 // '' , '' , "PARA" for paragraaf: §
|
||||
|
||||
// super and sub script numbers
|
||||
#define CN_0SUB 0x2080 // '' , N for number, "SUB" for sub-script or "SUP" for super-script:₀
|
||||
#define CN_0SUP 0x2070 // '' , '' , '' :⁰
|
||||
#define CN_1SUB 0x2081 // '' , '' , '' :₁
|
||||
#define CN_1SUP 0xB9 // '' , '' , '' :¹
|
||||
#define CN_2SUB 0x2082 // '' , '' , '' :₂
|
||||
#define CN_2SUP 0xB2 // '' , '' , '' :²
|
||||
#define CN_3SUB 0x2083 // '' , '' , '' :₃
|
||||
#define CN_3SUP 0xB3 // '' , '' , '' :³
|
||||
#define CN_4SUB 0x2084 // '' , '' , '' :₄
|
||||
#define CN_4SUP 0x2074 // '' , '' , '' :⁴
|
||||
#define CN_5SUB 0x2085 // '' , '' , '' :₅
|
||||
#define CN_5SUP 0x2075 // '' , '' , '' :⁵
|
||||
#define CN_6SUB 0x2086 // '' , '' , '' :₆
|
||||
#define CN_6SUP 0x2076 // '' , '' , '' :⁶
|
||||
#define CN_7SUB 0x2087 // '' , '' , '' :₇
|
||||
#define CN_7SUP 0x2077 // '' , '' , '' :⁷
|
||||
#define CN_8SUB 0x2088 // '' , '' , '' :₈
|
||||
#define CN_8SUP 0x2078 // '' , '' , '' :⁸
|
||||
#define CN_9SUB 0x2089 // '' , '' , '' :₉
|
||||
#define CN_9SUP 0x2079 // '' , '' , '' :⁹
|
||||
|
||||
// Exponent symbols
|
||||
#define CS_CPSUB 0x208E // '' , '' , "C" for closing, "P" for paranthesis, "SUB" for subscript: ₎
|
||||
#define CS_OPSUB 0x208D // '' , '' , "O" for opening, '' , '' : ₍
|
||||
#define CS_CPSUP 0x207E // '' , '' , "C" for closing, '' , "SUP" for superscript: ⁾
|
||||
#define CS_OPSUP 0x207D // '' , '' , "O" for opening: '' , '' : ⁽
|
||||
#define CS_EXPMIN 0x207B // '' , '' , "EXP" for exponent, "MIN" for minus : ⁻
|
||||
#define CS_EXPPLS 0x207A // '' , '' , '' , "PLS" for plus : ⁺
|
||||
// Math
|
||||
#define CS_ABOUT 0x2248 // '' , '' , "ABOUT" for about equal: ≈
|
||||
#define CS_CUMMU 0x2211 // '' , '' , "CUMMU" for cummulative: ∑
|
||||
#define CS_DIVI 0xF7 // '' , '' , "DIVI" for division: ÷
|
||||
#define CS_EGTHAN 0x2265 // '' , '' , "E" for equal, "G" for or-greater, "THAN" for than: ≥
|
||||
#define CS_ELTHAN 0x2264 // '' , '' , "E" for equal, "L" for or-less, "THAN" for than: ≤
|
||||
#define CS_INFIN 0x221E // '' , '' , "INFIN" for infinity: ∞
|
||||
#define CS_MULT 0xD7 // '' , '' , "MULTI" for multiplication: ×
|
||||
#define CS_NONE 0x2205 // '' , '' , "NONE" for empty-set / no-solution: ∅
|
||||
#define CS_PLMI 0xB1 // '' , '' , "PLMI" for plus-minus; ±
|
||||
#define CS_PROM 0x2030 // '' , '' , "PROM" for promille: ‰
|
||||
#define CS_PROTT 0x2031 // '' , '' , "PRO" for pro-, "TT" for ten-thousandth: ‱
|
||||
#define CS_SQRT 0x221A // '' , '' , "SQRT" for square root: √
|
||||
#define CS_UNEQL 0x2260 // '' , '' , "UNEQL" for unequal: ≠
|
||||
|
||||
# ifdef POINT_ON_CHECKBOXES
|
||||
// pointers
|
||||
# define CS_CHECK_H 0x2B9B // '' , '' , "H" for Down, '' : ⮛
|
||||
# define CS_CHECK_B 0x2B98 // '' , '' , "L" for Left, "ARROW" for arrow: ⮘
|
||||
# define CS_CHECK_Y 0x2B9A // '' , '' , "R" for Right, '' : ⮚
|
||||
# define CS_CHECK_N 0x2B99 // '' , '' , "U" for UP, '' : ⮙
|
||||
# else
|
||||
// checkboxes
|
||||
# define CS_CHECK_H 0x1F5F9 // '' , '' , "CHECK" for check mark, "H" for heavy: 🗹
|
||||
# define CS_CHECK_B 0x2610 // '' , '' , '' , "B" for blank: ☐
|
||||
# define CS_CHECK_Y 0x2611 // '' , '' , '' , "Y" for yes: ☑
|
||||
# define CS_CHECK_N 0x2612 // '' , '' , '' , "N" for no: ☒
|
||||
# endif
|
||||
|
||||
// More arrows
|
||||
#define CS_ARR_DN 0x2B07 // '' , '' , "ARR" for arrow, "DN" for down: ⬇
|
||||
#define CS_ARR_LE 0x2B05 // '' , '' , "ARR" for arrow, "LE" for left: ⬅
|
||||
#define CS_ARR_RI 0x27A1 // '' , '' , "ARR" for arrow, "RI" for right: ➡
|
||||
#define CS_ARR_UP 0x2B06 // '' , '' , "ARR" for arrow, "UP" for up: ⬆
|
||||
|
||||
// More checkmarks
|
||||
#define CS_BOTCH 0x2717 // '' , '' , "BOTCH" for botched: ✗
|
||||
#define CS_CHECK 0x2713 // '' , '' , "CHECK" for check mark: ✓
|
||||
|
||||
// circled numbers
|
||||
#define CN_0CIRC 0x24EA // '' , "N" for number, "0" for , "CIRC" for circled: ⓪
|
||||
#define CN_1CIRC 0x2460 // '' , '' , "1" for 1, "CIRC" for circled: ①
|
||||
#define CN_2CIRC 0x2461 // '' , '' , "2" for 2, "CIRC" for circled: ②
|
||||
#define CN_3CIRC 0x2462 // '' , '' , "3" for 3, "CIRC" for circled: ③
|
||||
#define CN_4CIRC 0x2463 // '' , '' , "4" for 4, "CIRC" for circled: ④
|
||||
#define CN_5CIRC 0x2464 // '' , '' , "5" for 5, "CIRC" for circled: ⑤
|
||||
#define CN_6CIRC 0x2465 // '' , '' , "6" for 6, "CIRC" for circled: ⑥
|
||||
#define CN_7CIRC 0x2466 // '' , '' , "7" for 7, "CIRC" for circled: ⑦
|
||||
#define CN_8CIRC 0x2467 // '' , '' , "8" for 8, "CIRC" for circled: ⑧
|
||||
#define CN_9CIRC 0x2468 // '' , '' , "9" for 9, "CIRC" for circled: ⑨
|
||||
#define CN_10CIRC 0x2469 // '' , '' , "10" for 10, "CIRC" for circled: ⑩
|
||||
#define CN_11CIRC 0x246A // '' , '' , "11" for 11, "CIRC" for circled: ⑪
|
||||
#define CN_12CIRC 0x246B // '' , '' , "12" for 12, "CIRC" for circled: ⑫
|
||||
#define CN_13CIRC 0x246C // '' , '' , "13" for 13, "CIRC" for circled: ⑬
|
||||
#define CN_14CIRC 0x246D // '' , '' , "14" for 14, "CIRC" for circled: ⑭
|
||||
#define CN_15CIRC 0x246E // '' , '' , "15" for 15, "CIRC" for circled: ⑮
|
||||
#define CN_16CIRC 0x246F // '' , '' , "16" for 16, "CIRC" for circled: ⑯
|
||||
#define CN_17CIRC 0x2470 // '' , '' , "17" for 17, "CIRC" for circled: ⑰
|
||||
#define CN_18CIRC 0x2471 // '' , '' , "18" for 18, "CIRC" for circled: ⑱
|
||||
#define CN_19CIRC 0x2472 // '' , '' , "19" for 19, "CIRC" for circled: ⑲
|
||||
|
||||
// Box drawings
|
||||
#define CB_C_LEDN 0x2513 // '' , "B" for box drawing, "C" for corner, "LE" for left, "DN" for down: ┓
|
||||
#define CB_C_LEUP 0x251B // '' , '' , "C" for corner, "LE" for left, "UP" for up: ┛
|
||||
#define CB_C_RIDN 0x250F // '' , '' , "C" for corner, "RI" for right, "DN" for down: ┏
|
||||
#define CB_C_RIUP 0x2517 // '' , '' , "C" for corner, "RI" for right, "UP" for up: ┗
|
||||
#define CB_VE 0x2503 // '' , '' , "VE" for verticle: ┃
|
||||
#define CB_VE_BI 0x254B // '' , '' , "VE" for verticle, "BI" for bi (two): ╋
|
||||
#define CB_VE_DOT 0x2507 // '' , '' , "VE" for verticle, "DOT" for dotted: ┇
|
||||
#define CB_VE_LE 0x252B // '' , '' , "VE" for verticle, "LE" for left: ┫
|
||||
#define CB_VE_RI 0x2523 // '' , '' , "VE" for verticle, "RI" for right: ┣
|
||||
// Horizontal lines, can be used with box drawings
|
||||
#define CB_HHORI 0x2501 // '' , '' , "H" for heavy, '' : ━
|
||||
#define CB_HHORID 0x2505 // '' , '' , "H" for heavy, '' , "D" for dashes: ┅
|
||||
#define CB_LHORI 0x2500 // '' , '' , "L" for light, "HORI" for horizontal: ─
|
||||
#define CB_LHORID 0x2504 // '' , '' , "L" for light, '' , "D" for dashes: ┄
|
||||
|
||||
// Signs, unusual
|
||||
#define CS_ALERT 0x26A0 // '' , "S" for symbol, "ALERT" for alert/warning: ⚠
|
||||
#define CS_STARB 0x2605 // '' , '' , "STAR" for star, "B" for big: ★
|
||||
#define CS_STARL 0x66D // '' , '' , "STAR" for star, "L" for little: ٭
|
||||
#define CS_FLEUR 0x2766 // '' , '' , "FLEUR" for fleur (flower): ❦
|
||||
#define CS_HEART 0x2665 // '' , '' , "HEART" for heart: ♥
|
||||
|
|
@ -1,751 +0,0 @@
|
|||
/*
|
||||
* License (GPL):
|
||||
|
||||
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/>.
|
||||
|
||||
* © 2019,2020 by Jos Boersema
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// ------------------------------------- ⬇ --------------------------------------
|
||||
// Configuration:
|
||||
// ------------------------------------- ⬇ --------------------------------------
|
||||
|
||||
// (For the non-coders:
|
||||
// “_Remove_” means to place ‛//’ in front of a line. The rest of the line becomes a comment.
|
||||
// Placing ‛//’ in front of a line, means whatever follows it will be ignored during compilation.
|
||||
// “_Activate_” means to *delete* the two ‛//’ in front. Now the rest of the line *will* be compiled
|
||||
// /* ... */ is another a way to turn “...” into being a comment which is ignored during compilation.
|
||||
// (The documentation here is geared toward people who have no understanding about programming.)
|
||||
|
||||
/*
|
||||
--------------------------------------------------------------------------------------
|
||||
----
|
||||
--
|
||||
-
|
||||
Table of Contents:
|
||||
|
||||
-0- ➡ Compact configuration file ⬅
|
||||
|
||||
-1- ➡ Letters / Numbers & Symbols layouts ⬅
|
||||
• Qwerty
|
||||
• Qwerty with Base arrows
|
||||
• Dvorak
|
||||
• Dvorak descramble mode
|
||||
• Colemak
|
||||
• Workman
|
||||
• Numpad
|
||||
• Hebrew
|
||||
|
||||
-2- ➡ Eviscerations ( ① / ② ) ⬅
|
||||
• Single layout
|
||||
|
||||
-3- ➡ Startup settings ⬅
|
||||
• Alternate Base
|
||||
• Leds on/off at startup.
|
||||
• Speed measuring
|
||||
• Text size counting ⬅
|
||||
|
||||
-4- ➡ How many hardware keys 1st row ⬅
|
||||
|
||||
-5- ⚠ ≠ Minivan ⬅
|
||||
|
||||
-6- ➡ Defining the meaning of the additional hardware keys ⬅
|
||||
• Defining the additional key for 'South paw' (also called 'Command')
|
||||
• Defining 'Arrow' hardware layout additional keys
|
||||
|
||||
-7- ➡ Arrows/Navigation cluster ⬅
|
||||
• Navigation cluster configuration
|
||||
• VI editor arrows
|
||||
|
||||
-8- ➡ Number pad Configuration⬅
|
||||
|
||||
-9- ➡ Speed measuring ⬅
|
||||
|
||||
-10- ➡ Some alternative keys ⬅
|
||||
• Right Alt or hold(_RAR) on Base
|
||||
• GUI left/right
|
||||
• Alternate currency symbol
|
||||
• Check boxes or Pointers
|
||||
• Switch _ACC/_BON ⬅➡ *left* side _NSY/_DRA hold keys
|
||||
• Switch _PAD ⬅➡ _MOV on Left Shift toggle
|
||||
• Switch _FUN ⬅➡ _RAR on Right Shift toggle
|
||||
• “Switch spacebars”: ‛Space-bar’ ⬅➡ “‛Enter’ + ‛layer-hold _MOV’”
|
||||
|
||||
-11- ➡ Eviscerations ( ② / ② ) ⬅
|
||||
• Removing the numbers pad _PAD layer
|
||||
• Removing one or more of the Unicode layers _ACC, _DRA or_BON
|
||||
• Removing groups of characters
|
||||
|
||||
-12- ➡ Leds ⬅
|
||||
-
|
||||
--
|
||||
----
|
||||
--------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/* -0- ➡ Compact configuration file ⬅
|
||||
*
|
||||
* If you _activate_ this, this whole heavily documented configuration block below
|
||||
* gets skipped, and instead a bare bones configuration file with all these same options
|
||||
* gets read. There is no functional difference.
|
||||
*
|
||||
* (You can use the compact configuration if you like that better. It can make communicating
|
||||
* a configuration easier. The fully documented configuration is left in a state of default
|
||||
* when uploaded to QMK, so that it gives the most commonly used layout: Qwerty with Numpad,
|
||||
* basic 44 Minivan keys. The compact version its state is whatever it is.)
|
||||
*/
|
||||
//#define MINIFAN_CONFIG_COMPACT // _Activate_ this, to load the configuration in ./minifan_config_compact.h (note: mini‛f’an).
|
||||
#ifndef MINIFAN_CONFIG_COMPACT // (don't alter this)
|
||||
|
||||
|
||||
/* -1- ➡ Letters / Numbers & Symbols layouts ⬅
|
||||
*
|
||||
* Here you can configure what letters layer (BASE layer), and number&symbols layer you
|
||||
* want. This is a dual layout system, so you can choose a second pair as well. You can
|
||||
* switch between them with a key on the _RAR layer. All the other layers are the same,
|
||||
* regardless of your choice in letter/number&symbol layers.
|
||||
*
|
||||
* The letters layer is the BASE layer, from which you also reach all other layers.
|
||||
* The letters it has is the alphabet in its simplest form: abcdefghijklmnopqrstuvwxyz.
|
||||
* The numbers & symbols layer has what you find on any regular keyboard: 123… !@#… []/…
|
||||
* The numbers & symbols layer is made to fit the Letters layer, due to small differences
|
||||
* between layouts like Qwerty and Dvorak (in this case the symbols ‛-’, ‛/’, ‛?’, and ‛_’).
|
||||
*
|
||||
* Example: A Qwerty letters layer, with a fitting numbers & symbols layer, as ‛Default’.
|
||||
* A Dvorak letters layer, with a fitting numbers & symbols layer, as ‛Alternate’.
|
||||
*
|
||||
* You will be asked to configure one layout as ‛Default’ and another as ‛Alternate’.
|
||||
*
|
||||
* A bases layout may have locally re-defined one or more of the common layers. If you
|
||||
* choose two bases layouts who re-define the same common layer locally, you will need
|
||||
* to choose either one by commenting out the other.
|
||||
*/
|
||||
//
|
||||
// • Qwerty
|
||||
// (a regular Qwerty layout)
|
||||
// _Activate_ one of these two, _remove_ the other.
|
||||
#define BASE_QWERTY__DEF_BASE // _Activate_ if you want Qwerty on the ‛Default’ spot
|
||||
//#define BASE_QWERTY__ALT_BASE // _Activate_ if you want Qwerty on the ‛Alternate’ spot
|
||||
// Note: you still need to set if you have the additional ‛arrow’ hardware key. You
|
||||
// can ignore what it should be defined as, because it will be a plain arrow on Base.
|
||||
//
|
||||
// • Qwerty with Base arrows
|
||||
// (provides direct access to arrows)
|
||||
// _Activate_ one of these two, _remove_ the other.
|
||||
//#define BASE_QWERTY_BASEARROW__DEF_BASE // _Activate_ if you want Qwerty with Base arrows on the ‛Default’ spot
|
||||
//#define BASE_QWERTY_BASEARROW__ALT_BASE // _Activate_ if you want Qwerty with Base arrows on the ‛Alternate’ spot
|
||||
// ➡ ➡ ➡ This Base layer has configuration options at the top of its file. See ./ base_qwerty_basearrow.h
|
||||
//
|
||||
// • Dvorak
|
||||
// (a regular Dvorak layout)
|
||||
// _Activate_ one of these two, _remove_ the other.
|
||||
//#define BASE_DVORAK__DEF_BASE // _Activate_ if you want Dvorak on the ‛Default’ spot
|
||||
//#define BASE_DVORAK__ALT_BASE // _Activate_ if you want Dvorak on the ‛Alternate’ spot
|
||||
//
|
||||
// • Dvorak descramble mode
|
||||
// (Dvorak for a computer already remapping to Dvorak)
|
||||
// This layout is only available on ‛Alternate’, because of the special _HALF_ descramble mode.
|
||||
//#define BASE_DVORAK_DESCRAMBLE__ALT_BASE // _Activate_ if you want Dvorak on the ‛Alternate’ spot
|
||||
//
|
||||
// • Colemak
|
||||
// (a regular Colemak layout)
|
||||
// _Activate_ one of these two, _remove_ the other.
|
||||
//#define BASE_COLEMAK__DEF_BASE // _Activate_ if you want Colemak on the ‛Default’ spot
|
||||
//#define BASE_COLEMAK__ALT_BASE // _Activate_ if you want Colemak on the ‛Alternate’ spot
|
||||
//
|
||||
// • Workman
|
||||
// (a regular Workman layout)
|
||||
// _Activate_ one of these two, _remove_ the other.
|
||||
//#define BASE_WORKMAN__DEF_BASE // _Activate_ if you want Workman on the ‛Default’ spot
|
||||
//#define BASE_WORKMAN__ALT_BASE // _Activate_ if you want Workman on the ‛Alternate’ spot
|
||||
//
|
||||
// • Numpad
|
||||
// (a numerical keypad, one for left hand and one for right hand)
|
||||
// _Activate_ to get Numpad on Alternate. There is no option for Numpad on ‛Default’ base.
|
||||
#define BASE_NUMPAD__ALT_BASE // _Activate_ if you want Numpad on the ‛Alternate’ spot
|
||||
// ➡ ➡ ➡ This Base layer has configuration options at the top of its file. See ./base_numpad.h
|
||||
//
|
||||
// • Hebrew
|
||||
// (a simple Hebrew layout)
|
||||
// _Activate_ one of these two, _remove_ the other.
|
||||
//#define BASE_HEBREW__DEF_BASE // _Activate_ if you want Hebrew on the ‛Default’ spot
|
||||
//#define BASE_HEBREW__ALT_BASE // _Activate_ if you want Hebrew on the ‛Alternate’ spot
|
||||
// ➡ ➡ ➡ This Base layer has configuration options at the top of its file. See ./base_hebrew.h
|
||||
//
|
||||
/* -2- ➡ Eviscerations ( ① / ② ) ⬅
|
||||
*/
|
||||
/* • Single layout
|
||||
*
|
||||
* Removes the ‛Alternate’ base layers, and removes the switch key on _RAR.
|
||||
* ⚠ You have to not define a ‛Alternate’ base layer pair. Define only a ‛Default’ pair.
|
||||
*/
|
||||
//#define MINIFAN_SINGLE_LAYOUT // _Activate_ to only have the ‛Default’ base layers, _remove_ to also have ‛Alternate’.
|
||||
|
||||
|
||||
/* -3- ➡ Startup settings ⬅
|
||||
*/
|
||||
/* • Alternate Base
|
||||
*
|
||||
* You can define which of the two BASE layers is on when powering up the keyboard.
|
||||
*/
|
||||
//#define STARTUP_ALTERNATE // Example: For BASES_QWERTY_DVORAK defined: _remove_ is startup in Qwerty, _active_ is
|
||||
// startup in Dvorak
|
||||
/* • Leds on/off at startup.
|
||||
*/
|
||||
//#define STARTUP_SIDE_LEDS_OFF // _Activate_ to have side leds be off at keyboard startup (when you plug it in / computer powers on).
|
||||
//#define STARTUP_MID_LED_OFF // _Activate_ to have middle led be off at keyboard startup.
|
||||
//
|
||||
/* • Speed measuring
|
||||
*/
|
||||
//#define STARTUP_SPEED // _Activate_ for default speed measuring on, _remove_ to set off at startup.
|
||||
//
|
||||
/* • Text size counting ⬅
|
||||
*/
|
||||
//#define STARTUP_COUNT // _Activate_ for default character/word counting on, _remove_ to set off at startup.
|
||||
|
||||
|
||||
|
||||
/* -4- ➡ How many hardware keys 1st row ⬅
|
||||
*
|
||||
* Define how many keys your keyboard has.
|
||||
*/
|
||||
// Default (12x12x12x8 keys)
|
||||
//'Command' (12x12x12x9 keys) + key on the left
|
||||
//'Arrow' (12x12x12x9 keys) + key on the right
|
||||
//'South paw' + 'Arrow' (12x12x12x10 keys)
|
||||
//#define MORE_KEY__COMMAND // Additional key 1st row on the left. This hardware layout is called 'Command' or 'South paw'.
|
||||
//#define MORE_KEY__ARROW // Additional key 1st row (counting from row with space-bar) on the right, called 'Arrow' layout.
|
||||
//
|
||||
// See below for how to define your additional key(s).
|
||||
|
||||
|
||||
/* -5- ⚠ ≠ Minivan ⬅
|
||||
*
|
||||
* This section is for when you want to flash this keymap unto a board with more
|
||||
* keys than the Minivan has.
|
||||
*
|
||||
* Trans-Minivan keymap: 12x12x12x11, 12x12x12x12, 12x12x12x13 keys
|
||||
* Example board: Planck (12x12x12x12)
|
||||
*
|
||||
* It is assumed that you enabled MORE_KEY__ARROW and
|
||||
* MORE_KEY__COMMAND, to get to 12x12x12x10 keys. With this you
|
||||
* can get to one, two or three more keys on row 1, without manually
|
||||
* editing all layers. You could first edit the definition on layers that you have
|
||||
* a specific meaning for these keys, and let the rest be patched with the definitions
|
||||
* here.
|
||||
*
|
||||
* It can help to inspect the preprocessing with > gcc -E keymap.c | less
|
||||
*
|
||||
* Planck keyboard
|
||||
*
|
||||
* The identifier TRANSMINIVAN_MIDLEFT could help compile the layout on a Planck keyboard,
|
||||
* if it has a two unit large spacebar. You compile without TRANSMINIVAN_LEFTSIDE in that case.
|
||||
* All keys on the left, row 1 (closest to the user) shift one unit to the left, with TRANS_MIDLEFT
|
||||
* inserted on what would be the left key of the two unit spacebar (assuming that is a key).
|
||||
*
|
||||
* Other keyboards formats
|
||||
*
|
||||
* It is always possible to just padd the rows somewhere, if you have even more keys. On the other
|
||||
* hand, to try to cut this layout down to fewer keys than it has at minimum (12x12x12x8), is likely
|
||||
* going to reduce its functionality, and will require some puzzling to keep a well organized BASE
|
||||
* layer, and have “hold key” layer switching work correctly.
|
||||
*
|
||||
* FIXME: not been compiled or tested for any boards.
|
||||
*/
|
||||
//#define TRANSMINIVAN_LAYOUT ....... // Set this to something with the needed amount of keycodes.
|
||||
// Your values are inserted here: [ _LTR ] = LAYOUT_redefined (
|
||||
// ^^^^^^^^^^^^^^^^ (throughout all layers)
|
||||
//#define TRANSMINIVAN_LEFTSIDE // _Activate_ to get yet one more key on the left side row 1
|
||||
#define TRANS_LEFT XXXXXXX // Define what the TRANSMINIVAN_LEFTSIDE key should be, where it is not otherwise defined.
|
||||
// (Ignored if TRANSMINIVAN_LEFTSIDE is _removed_).
|
||||
//
|
||||
//#define TRANSMINIVAN_MIDLEFT // _Activate_ to get yet one more key on the first key from center, row 1.
|
||||
#define TRANS_MIDLEFT XXXXXXX // Define what the TRANSMINIVAN_RIGHTSIDE key should be on all layers at once.
|
||||
// (Ignored if TRANSMINIVAN_MIDLEFT is _removed_).
|
||||
//
|
||||
//#define TRANSMINIVAN_RIGHTSIDE // _Activate_ to get yet one more key on the right side row 1
|
||||
#define TRANS_RIGHT XXXXXXX // Define what the TRANSMINIVAN_RIGHTSIDE key should be, where it is not otherwise defined.
|
||||
// (Ignored if TRANSMINIVAN_RIGHTSIDE is _removed_).
|
||||
|
||||
|
||||
/* -6- ➡ Defining the meaning of the additional hardware keys ⬅
|
||||
*
|
||||
* Some possibilities you might like:
|
||||
*
|
||||
* ① Number-pad and F-keys layers are only on a toggle. If you want them accessible on a hold key, you can use
|
||||
* these additional hardware keys. Make sure to use a transparent key on that location on those layers.
|
||||
*
|
||||
* ② You can use the right side additional key for quick access to an arrow/navigation cluster (see below).
|
||||
*
|
||||
* ③ Other uses, such as a delete key and/or a special interface key your system needs.
|
||||
*/
|
||||
/* • Defining the additional key for 'South paw' (also called 'Command')
|
||||
*
|
||||
* Left side additional key. This is ignored if MORE_KEY__COMMAND is not defined.
|
||||
*/
|
||||
// Configure here what this key is on the BASE layers (excluding Base Numpad compile option).
|
||||
//#define MORE_key1_BASE TG ( _RAR ) // _Activate_ this to get a toggle to layer _RAR. MO(_RAR) does not follow a BASE switch by ‛Other Base’.
|
||||
//#define MORE_key1_BASE KC_DEL // Could be useful if you like to toggle to certain layers and stay there for a while.
|
||||
#define MORE_key1_BASE KC__XGUI // (Default) (Using KC__XGUI makes sure it is the *other* GUI, relative to KC__YGUI.)
|
||||
//
|
||||
// Configure here what this key is on all other layers
|
||||
//#define MORE_key1 KC_DEL // Configure here what this key is on all other layers (and Base Numpad).
|
||||
#define MORE_key1 KC__XGUI // (Default)
|
||||
//
|
||||
//
|
||||
/* • Defining 'Arrow' hardware layout additional keys
|
||||
*
|
||||
* You can create an arrow-cluster with your additional MORE_key2 hardware key on the _MOV layer.
|
||||
* Either way: this new key can toggle to _MOV layer, with the key that on the _MOV layer becomes the down-arrow,
|
||||
* in the middle of an arrow cluster. To do that, uncomment MOREKEY2_ARROW_CLUSTER.
|
||||
* The keys that are by default defined on those keys on _MOV layer, will now be overwritten (they are not typically
|
||||
* that much used there).
|
||||
*
|
||||
* Arrow cluster for 'arrow' layout: _activate_ MOREKEY2_ARROW_CLUSTER and _activate_ #define MORE_key2 _MOV_UP
|
||||
* No arrow cluster for 'arrow' layout: _remove_ MOREKEY2_ARROW_CLUSTER, and set MORE_key2 to whatever you want.
|
||||
*/
|
||||
#define MOREKEY2_ARROW_CLUSTER // Arrow cluster on _MOV layer. This is ignored if MORE_KEY__ARROW is not defined.
|
||||
// This will cost you 'Right Alt' and 'GUI' on the _MOV layer.
|
||||
//#define MOREKEY2_ADD_NAVIGATION // Additional navigation keys around arrow cluster MOREKEY2_ARROW_CLUSTER. Ignored if MOREKEY2_ARROW_CLUSTER is not defined.
|
||||
// Note: this will cause mouse buttons 'BTN4' and 'BTN5' on the _MOV layer to be moved.
|
||||
/*
|
||||
* Define the key you want on the additional key. Leave it to _MOV_UP if you want an arrow cluster, easily
|
||||
* accessed with this key.
|
||||
*
|
||||
* If you want to be able to type all arrow cluster keys with both GUI keys, than you cannot have this additional
|
||||
* arrow cluster around the ‛arrow’ additional hardware key, because it eats away the GUI just to the left of
|
||||
* that additional hardware key.
|
||||
*
|
||||
* For typing both GUIs with the navigation cluster, you also need the left side additional hardware key. In this
|
||||
* case, you can still set the optional hardware key on the right to _MOV_UP, but that is marginally useful
|
||||
* as you already have that on Left Shift.
|
||||
*
|
||||
* When aiming to type all normally available keys on a 100% keyboard with all modifiers including GUIs, you
|
||||
* could use the right hand side optional hardware key (‛arrow’), because it causes the right side GUI to be
|
||||
* available there. (This kind of stuff affects rare or even never used keyboard shortcuts.)
|
||||
*/
|
||||
#define MORE_key2 _MOV_UP // Right side additional key. This is ignored if MORE_KEY__ARROW is not defined.
|
||||
//#define MORE_key2 KC_DEL // More or less a random suggestion. Harmonizes well with “.DEL” on Numbers Pad.
|
||||
// It is convenient to have an uncluttered Delete key on the Base layer.
|
||||
//#define MORE_key2 <...your choice...> // Right side additional key.
|
||||
//
|
||||
|
||||
|
||||
/* -7- ➡ Arrows/Navigation cluster ⬅
|
||||
*/
|
||||
/* • Navigation cluster configuration
|
||||
*
|
||||
* _Activate_ below line to use a "WASD" type layout (on the spot where WASD is in Qwerty).
|
||||
* _Remove_ if you prefer a flat type layout, with arrows in a row, on the right hand.
|
||||
*/
|
||||
#define ARROWS_TRIANGLE // Implies mouse is also similarly in a triangle.
|
||||
/*
|
||||
* • VI editor arrows
|
||||
*
|
||||
* Vi is a famous editor, with its own peculiar text cursor movement arrangement (arrows).
|
||||
* This option modifies the flat arrows layout on the right hand, to be like the “HJKL”
|
||||
* arrows in the editor vi(1). “HJKL” meaning: the 7th to 10th key on the 3rd row.
|
||||
* The arrows on the additional MOREKEY2_ARROW_CLUSTER also get harmonized to be like vi.
|
||||
*/
|
||||
//#define VI_SWITCHERYDOO // You have to _remove_ ARROWS_TRIANGLE, or this gets ignored.
|
||||
|
||||
|
||||
/* -8- ➡ Number pad Configuration⬅
|
||||
*
|
||||
* This concerns the Numbers Pad layer, which is part of the common layers (not the Bse
|
||||
* layer, which also has a Numbers Pad option).
|
||||
*
|
||||
* There are two compile versions for the number pad layer ‛_PAD’, in the common layers.
|
||||
*
|
||||
* _Activate_ the below to have the numbers pad _PAD layer resemble the squared layout of
|
||||
* a numerical keyboard, allowing to type all numbers with the right hand.
|
||||
* _Remove_ the below to have the numbers in this layer follow the layout of the _NSY layer,
|
||||
* with the numbers on a line from left to right on the home row, across both hands.
|
||||
*/
|
||||
//#define NUMPAD_COMMON_SQUARE // _Activate_ to resemble a one handed numerical keyboard.
|
||||
|
||||
|
||||
/* -9- ➡ Speed measuring ⬅
|
||||
*/
|
||||
/*
|
||||
* Led color configuration. You can see the speed you have configured below directly on the keyboard,
|
||||
* after you compiled and flashed it.
|
||||
* Set speed measuring to <off>.
|
||||
* Hold the 'Report' key for one second, then release. The keyboard prints a number, which is the
|
||||
* amount of characters per second for which that color is then being shown. Hold it again for
|
||||
* a second, and it increments. Toggle speed measuring on/off to restart.
|
||||
* You can play with the below settings until you like the result.
|
||||
*
|
||||
* The default values (8, 160 respectively) are starting at blue, avoiding confusion with default
|
||||
* cyan for BASE layer, going to purple and further avoiding confusion with text size counting.
|
||||
* Very fast typers could reach red, and then it goes further to yellow, etc.
|
||||
*/
|
||||
#define SPEED_COUNTDOWN 25 // After how many keypresses to update the effect(s).
|
||||
#define SPEED_HUE_STEP 8 // For each key/sec faster, the hue value of HSV goes this step further.
|
||||
#define SPEED_HUE_START 160 // The starting hue for 0 k/s (0 = 255 = red).
|
||||
/*
|
||||
* Speed report in words-per-minute (wpm) rather than keystrokes-per-second (k/s). wpm = k/s * ⁶⁰/₅ = k/s * 12
|
||||
*/
|
||||
#define WORDS_PER_MINUTE // _Activate_ to get speed report in words-per-minute, _remove_ to get it in keystrokes-per-second (k/s).
|
||||
|
||||
|
||||
/* -10- ➡ Some alternative keys ⬅
|
||||
*/
|
||||
/*
|
||||
* • Right Alt or hold(_RAR) on Base
|
||||
*
|
||||
* _Activate_ below line to get Right-Alt or Alt-Gr (same thing) on Base.
|
||||
* A short tap results in RAlt briefly pressed, plus Right-Arrow.
|
||||
* When pressed with another key, however short, results only in RAlt, and no Right-Arrow.
|
||||
* Held a little longer than tapping it, results in only RAlt being pressed, no Right-Arrow.
|
||||
*
|
||||
* _Remove_ to have a layer hold key to the _RAR layer there, instead of RAlt, together with tapped Right-Arrow.
|
||||
*/
|
||||
//#define BASE_RIGHT_ALT // _Activate_ to get Right-Alt instead of _RAR on Base layer.
|
||||
/*
|
||||
* • GUI left/right
|
||||
*
|
||||
* _Activate_ below line to have LGUI (also called OS or Win key, etc) where RGUI is,
|
||||
* and RGUI where LGUI is.
|
||||
*/
|
||||
//#define SWITCH_GUIS // _Activate_ this if you want LGUI on the BASE layer rather than RGUI, despite that spot being on the right.
|
||||
/*
|
||||
* • Alternate currency symbol
|
||||
*
|
||||
* _Activate_ the below to get a Euro symbol, where ƒ (Dutch Guilder) is on the default map (_DRA layer).
|
||||
*/
|
||||
#define UNICODE_CURRENCY 0x20ac // Hex number, euro symbol €. The unicode hex number for position ƒ in the default keymap.
|
||||
/*
|
||||
* • Check boxes or Pointers
|
||||
*
|
||||
* You can have these symbols (checkboxes): ☐ ☒ ☑ 🗹
|
||||
* or these (pointers): ⮘ ⮙ ⮚ ⮛
|
||||
*/
|
||||
//#define POINT_ON_CHECKBOXES // _Activate_ to get arrows, _remove_ to get checkboxes on _DRA layer.
|
||||
/*
|
||||
* • Switch _ACC/_BON and *left* side _NSY/_DRA hold keys
|
||||
*
|
||||
* If you type a lot of _ACC layer (accented keys), and not much _DRA layer, you might like to
|
||||
* switch the _ACC hold key, and the left side _NSY key, if you find it awkward to reach to the
|
||||
* left with your thumb. These two keys are next to each other. Only the Base layer is affected.
|
||||
*/
|
||||
//#define SWITCH_HOLD_ACC_NSY // _Activate_ to switch the *left* _NSY and _ACC layer hold keys, on Base layer.
|
||||
/*
|
||||
* • Switch _PAD and _MOV on Left Shift toggle
|
||||
*
|
||||
* Recommended if you use _MOV more than _PAD
|
||||
*/
|
||||
//#define SWITCH_LSHIFT_PAD_MOV // _Activate_ to make _MOV layer be on the fast tap, and _PAD on a short hold toggle
|
||||
/*
|
||||
* • Switch _FUN and _RAR on Right Shift toggle
|
||||
*
|
||||
* Recommended if you use _RAR more than _FUN
|
||||
*/
|
||||
//#define SWITCH_RSHIFT_FUN_RAR // _Activate_ to make _RAR layer be on the fast tap, and _FUN on a short hold toggle
|
||||
/*
|
||||
* • “Switch spacebars”: ‛Space-bar’ ⬅➡ “‛Enter’ + ‛layer-hold _MOV’”
|
||||
*
|
||||
* Recommended if you usually type ‛Space-bar’ with your left hand.
|
||||
* These keys also switch on _MOV (movement) layer. Page-Up goes one spot to the left.
|
||||
*/
|
||||
//#define SPACE_LEFT__ENTER_RIGHT // _Activate_ for ‛Space bar’ left, ‛Enter’ and ‛_MOV hold’ right hand.
|
||||
|
||||
|
||||
/* -11- ➡ Eviscerations ( ② / ② ) ⬅
|
||||
*/
|
||||
/* • Removing the numbers pad _PAD layer
|
||||
*
|
||||
* You may have no use for this common layer, if you have a numerical keypad on the Alternate Base already.
|
||||
*
|
||||
* ⚠ Note: ./base_numpad.h can overrides this setting, if compiled with that ‛Base layers’.
|
||||
*/
|
||||
//#define REMOVE_PAD // _Activate_ to strip out the _PAD layer, _remove_ to have the _PAD layer.
|
||||
//
|
||||
/* • Removing one or more of the Unicode layers _ACC, _DRA or_BON
|
||||
*/
|
||||
/* Removes the _ACC layer, optionally redirect its key. This can save some 750 bytes.
|
||||
*/
|
||||
//#define REMOVE_ACC // _Activate_ to strip out the _ACC layer, _remove_ to have the _ACC layer.
|
||||
/* Unless REMOVE_ACC is _active_, the next defines which redirect the _ACC key(s) are ignored. */
|
||||
//#define _ACC_KEY_ALT_LAYER _BON // _Activate_ to make the key(s) that normally goes to _ACC, go to _BON instead.
|
||||
//#define _ACC_KEY_ALT_LAYER _DRA // _Activate_ to make the key(s) that normally goes to _ACC, go to _DRA instead.
|
||||
/*
|
||||
*
|
||||
* Removes the _DRA layer, optionally redirect its key. Also saves some 750 bytes.
|
||||
*/
|
||||
//#define REMOVE_DRA // _Activate_ to strip out the _DRA layer, _remove_ to have the _DRA layer.
|
||||
/* Unless REMOVE_DRA is _active_, the next defines which redirect the _DRA key(s) are ignored. */
|
||||
//#define _DRA_KEY_ALT_LAYER _ACC // _Activate_ to make the key(s) that normally goes to _ACC, go to _ACC instead.
|
||||
//#define _DRA_KEY_ALT_LAYER _BON // _Activate_ to make the key(s) that normally goes to _ACC, go to _BON instead.
|
||||
/*
|
||||
*
|
||||
* Removes the _BON layer, optionally redirect its key. Also saves some 750 bytes.
|
||||
*/
|
||||
//#define REMOVE_BON // _Activate_ to strip out the _BON layer, _remove_ to have the _BON layer.
|
||||
/* Unless REMOVE_BON is _active_, the next defines which redirect the _BON key(s) are ignored. */
|
||||
//#define _BON_KEY_ALT_LAYER _ACC // _Activate_ to make the key(s) that normally goes to _BON, go to _ACC instead.
|
||||
//#define _BON_KEY_ALT_LAYER _DRA // _Activate_ to make the key(s) that normally goes to _BON, go to _DRA instead.
|
||||
/*
|
||||
*
|
||||
* • Removing groups of characters
|
||||
*/
|
||||
/*
|
||||
* The below cut out an amount of symbols on a given layer, to simplify and/or reduce firmware size a little.
|
||||
*/
|
||||
//#define ALL_DRA_BON_EVISCERATIONS // _Activate_ this to _remove_ the below all at once. (Seems to save only ±114 bytes)
|
||||
//
|
||||
#define BOX_DRAWINGS // _Activate_ to get box drawings on _BON. Horizontal lines (━─┄┅) on _DRA are not affected.
|
||||
// Affected on rows 2 and 3: ┣┫┏┗┃┇┛┓
|
||||
// Full, 3rd row, boxdr.: Ctrl ① ⬅ ② ⬇ ③ ➡ ④ ┏ ⑤ ┓ ⑥ ┃ ⑦ ┇ ⑧ ╋ ⑨ ⓪ ∞ —
|
||||
// Full, 2nd row, boxdr.: LSht ‹ › ÷ ☞ ┗ ≠ ┛ ✗ ┣ ✓ ┫ ⚠ « » RSht
|
||||
//
|
||||
// 3rd row, no boxdrawing: Ctrl ① ⬅ ② ⬇ ③ ➡ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⓪ ∞ —
|
||||
// 2nd row, no boxdrawing: LSht ‹ › ÷ ☞ ≠ ✗ ✓ ⚠ « » RSht
|
||||
//
|
||||
#define SUB_SCRIPT_NUMS // _Activate_ to get subscript numbers (₁₂₃…₀) on _DRA.
|
||||
// Affected on row 3: ₁₂₃₄₅₆₇₈₉₀
|
||||
// Thinned out 3rd row: xxx ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁰ xxx
|
||||
// Full 3rd row: xxx ¹₁ ²₂ ³₃ ⁴₄ ⁵₅ ⁶₆ ⁷₇ ⁸₈ ⁹₉ ⁰₀ xxx
|
||||
//
|
||||
#define FULL_DRA_2NDROW // _Activate_ to have symbols on all unshifted + shifted positions on _DRA, 2nd row.
|
||||
// Affected: 「 」 〇 § · 🗹 《 》
|
||||
// Full 2nd row: LSht 「━ 」─ °〇 •§ …· ☐ ☒ ☑ 🗹 ¿¡ 《┄ 》┅ Rsht
|
||||
// Thinned out 2nd row: LSht ━ ─ ° • … ☐ ☑ ☑ ¿¡ ┄ ┅ RSht
|
||||
//
|
||||
#define FULL_DRA_4THROW // _Activate_ to have symbols on all unshifted + shifted positions on _DRA, 4th row.
|
||||
// Affected 4th row: ¢ ƒ ⁽ ₍ ⁾ ₎
|
||||
// Full 4th row: BASE “„ ”≤ £≥ ∅ ¢ ±ƒ ❦ ♥ 🙂🙁 👍👎 ⁽₍ ⁾₎ Bkspc
|
||||
// Thinned out 4th row: BASE “„ ”≤ £≥ ∅ ± ❦ ♥ 🙂🙁 👍👎 Bkspc
|
||||
//
|
||||
#define FULL_BON_4THROW // _Activate_ to have symbols on all unshifted + shifted positions on _BON, 4th row.
|
||||
// Affected 4th row: 🛠 ¤ ∑ ‱ ٭ 😊 ⍨ ⃰ ⁻ ⁺ 🄯 © ⃰ √ ⁻⁺
|
||||
// Full 4th row: BASE ‛🛠 ’⬆ ¤ 🄯 ∑ © ‰‱ ★٭ 😊⍨ × ⃰ √ ⁻⁺ Bkspc
|
||||
// Thinned out 4th row: BASE ‛ ’⬆ ‰ ★ × Bkspc
|
||||
//
|
||||
|
||||
|
||||
/* -12- ➡ Leds ⬅
|
||||
*
|
||||
* Leds off for the Default or Alternative Base Layer.
|
||||
* Implies: no indication on Default Base for: Caps-lock, typing speed,
|
||||
* typing amount done of a limit.
|
||||
* Speed / typing amount indicated by led will be visible by going to another layer.
|
||||
*/
|
||||
//#define LEDS_OFF_BASE_DEF // _Activate_ to make leds dark when in ‛Default Base’ layer.
|
||||
//
|
||||
//#define LEDS_OFF_BASE_ALT // _Activate_ to make leds dark when in ‛Alternative Base’ layer.
|
||||
|
||||
// ------------------------------------- ⬆ --------------------------------------
|
||||
// Below here no more comfortable configuration options.....
|
||||
// There may be configuration options in the layout ./bases_....h file you chose.
|
||||
// ------------------------------------- ⬆ --------------------------------------
|
||||
|
||||
#else // (ignore this)
|
||||
# include "./minifan_config_compact.h"
|
||||
#endif // MINIFAN_CONFIG_COMPACT
|
||||
|
||||
|
||||
// ------------------------------------- ⬇ --------------------------------------
|
||||
// Base layer headers
|
||||
// ------------------------------------- ⬇ --------------------------------------
|
||||
|
||||
// * Numpad *
|
||||
# if defined(BASE_NUMPAD__ALT_BASE)
|
||||
# include "./base_numpad.h" // Numbers pad header
|
||||
# endif
|
||||
// * Qwerty Base Arrow *
|
||||
# if defined(BASE_QWERTY_BASEARROW__DEF_BASE) || defined(BASE_QWERTY_BASEARROW__ALT_BASE)
|
||||
# include "./base_qwerty_basearrow.h" // qwerty base arrow, header
|
||||
# endif
|
||||
// * Hebrew *
|
||||
# if defined(BASE_HEBREW__DEF_BASE) || defined(BASE_HEBREW__ALT_BASE)
|
||||
# include "./base_hebrew.h" // Hebrew header
|
||||
# endif
|
||||
|
||||
// // ⬇ insert your ./base_YOUR_KEYMAP.h #include here:
|
||||
|
||||
// * YOUR KEYMAP *
|
||||
// # if defined(BASE_YOUR_KEYMAP__DEF_BASE) || defined(BASE_YOUR_KEYMAP__ALT_BASE)
|
||||
// # include "./base_YOUR_KEYMAP.h" // Your Keymap header/configuration file.
|
||||
// # endif
|
||||
|
||||
// // ⬆
|
||||
|
||||
// ------------------------------------- ⬆ --------------------------------------
|
||||
// Base layer headers are best #included here, so the preprocessor statements
|
||||
// following the user configuration block can pick up on anything that was set.
|
||||
//
|
||||
// Example: base_numpad.h _activate_ ‛REMOVE_PAD’. Based upon that, the preprocessor
|
||||
// constant ‛_PAD’ is changed into ‛_FUN’ in the below statements.
|
||||
// ------------------------------------- ⬆ --------------------------------------
|
||||
|
||||
|
||||
|
||||
// The below sets some things up based on the above #defines.
|
||||
|
||||
// This is sort of a hack. It re-defines _ALT_BASE and _ALT_NSY to point to the same
|
||||
// layer as _DEF_BASE and _DEF_NSY, because there are quite a few references to the
|
||||
// former and putting #if then around each one complicated the code even more. If needed,
|
||||
// it can be changed later. This option already reduces firmware size, so we should be
|
||||
// well below the maximum.
|
||||
# ifdef MINIFAN_SINGLE_LAYOUT
|
||||
# define _ALT_BASE _DEF_BASE
|
||||
# define _ALT_NSY _DEF_NSY
|
||||
# endif
|
||||
|
||||
// This triggers the compilation of Dvorak descramble mode.
|
||||
# ifdef BASE_DVORAK_DESCRAMBLE__ALT_BASE
|
||||
# define DVORAK_DESCRAMBLE
|
||||
# endif
|
||||
|
||||
// Prevent likely erroneous configuration. If no 'Arrow' hardware layout, then not patching in an arrow cluster.
|
||||
# if !defined(MORE_KEY__ARROW) && defined(MOREKEY2_ARROW_CLUSTER)
|
||||
# undef MOREKEY2_ARROW_CLUSTER
|
||||
# endif
|
||||
|
||||
# if !defined(MORE_KEY__ARROW) && defined(MOREKEY2_ADD_NAVIGATION)
|
||||
# undef MOREKEY2_ADD_NAVIGATION
|
||||
# endif
|
||||
# if !defined(MOREKEY2_ARROW_CLUSTER) && defined(MOREKEY2_ADD_NAVIGATION)
|
||||
# undef MOREKEY2_ADD_NAVIGATION // Only navigation keys, when the are arrows defined.
|
||||
# endif
|
||||
|
||||
// When choosing 'triangle' arrows, then they go left. Not 'triangle' arrows, than right.
|
||||
# ifdef ARROWS_TRIANGLE
|
||||
/* _Activate_ below line to put the arrows on the left, comment out to have arrows right. */
|
||||
# define ARROWS_LEFT // Implies mouse is right
|
||||
# endif
|
||||
|
||||
|
||||
// Set up user GUI choice:
|
||||
# ifndef SWITCH_GUIS
|
||||
# define KC__XGUI KC_LGUI // Name logic is alphabetic order left to right …X (…) …Y in layout definitions..
|
||||
# define KC__YGUI KC_RGUI // .. meaning KC__XGUI is left on the keymap, KC__YGUI is right.
|
||||
# else
|
||||
# define KC__XGUI KC_RGUI
|
||||
# define KC__YGUI KC_LGUI
|
||||
# endif
|
||||
|
||||
// Switch “spacebars”:
|
||||
# ifndef SPACE_LEFT__ENTER_RIGHT // standard
|
||||
# define LEFTCENTER_THUMB LT__MOV__KC_ENT
|
||||
# define RIGHTCENTER_THUMB KC_SPC
|
||||
# else
|
||||
# define LEFTCENTER_THUMB KC_SPC // reversed
|
||||
# define RIGHTCENTER_THUMB LT__MOV__KC_ENT
|
||||
# endif
|
||||
|
||||
// Define the layout macro for the amount of hardware keys.
|
||||
// These for Minivan are defined up in the code tree.
|
||||
# if !defined(MORE_KEY__COMMAND) && !defined(MORE_KEY__ARROW)
|
||||
# define LAYOUT_redefined LAYOUT // Default (8 keys on 1st row)
|
||||
# endif
|
||||
|
||||
# if !defined(MORE_KEY__COMMAND) && defined(MORE_KEY__ARROW)
|
||||
# define LAYOUT_redefined LAYOUT_arrow // Additional key 1st row on the right. 'Arrow'
|
||||
# endif
|
||||
|
||||
# if defined(MORE_KEY__COMMAND) && !defined(MORE_KEY__ARROW)
|
||||
# define LAYOUT_redefined LAYOUT_command // Additional key 1st row on the left. 'Command'
|
||||
# endif
|
||||
|
||||
# if defined(MORE_KEY__COMMAND) && defined(MORE_KEY__ARROW)
|
||||
# define LAYOUT_redefined LAYOUT_arrow_command // Additional keys 1st row both left and right. 'Arrow' + 'Command'
|
||||
# endif
|
||||
|
||||
# ifdef TRANSMINIVAN_LAYOUT
|
||||
# undef LAYOUT_redefined
|
||||
# define LAYOUT_redefined TRANSMINIVAN_LAYOUT
|
||||
# endif
|
||||
|
||||
|
||||
// Process user config setting for speed measuring
|
||||
# ifdef STARTUP_SPEED
|
||||
# define SPEED_INIT_VALUE TRUE
|
||||
# else
|
||||
# define SPEED_INIT_VALUE FALSE
|
||||
# endif
|
||||
// Process user config setting for text size measuring
|
||||
# ifdef STARTUP_COUNT
|
||||
# define COUNT_INIT_VALUE TRUE
|
||||
# else
|
||||
# define COUNT_INIT_VALUE FALSE
|
||||
# endif
|
||||
|
||||
|
||||
// Get all key reductions at once
|
||||
# ifdef ALL_DRA_BON_EVISCERATIONS
|
||||
# ifdef BOX_DRAWINGS
|
||||
# undef BOX_DRAWINGS
|
||||
# endif
|
||||
|
||||
# ifdef SUB_SCRIPT_NUMS
|
||||
# undef SUB_SCRIPT_NUMS
|
||||
# endif
|
||||
|
||||
# ifdef FULL_DRA_2NDROW
|
||||
# undef FULL_DRA_2NDROW
|
||||
# endif
|
||||
|
||||
# ifdef FULL_DRA_4THROW
|
||||
# undef FULL_DRA_4THROW
|
||||
# endif
|
||||
|
||||
# ifdef FULL_BON_4THROW
|
||||
# undef FULL_BON_4THROW
|
||||
# endif
|
||||
# endif
|
||||
|
||||
// This resolves compiling “TO (_BON)” on the _FUN layer.
|
||||
# ifdef REMOVE_BON
|
||||
# undef _BON
|
||||
# ifdef _BON_KEY_ALT_LAYER
|
||||
# define _BON _BON_KEY_ALT_LAYER // To what user wants
|
||||
# else
|
||||
# define _BON _FUN // void behavior
|
||||
# endif
|
||||
# endif
|
||||
|
||||
// This resolves compiling “TO (_PAD)” on the _FUN layer.
|
||||
# ifdef REMOVE_PAD
|
||||
# undef _PAD
|
||||
# define _PAD _FUN // void behavior
|
||||
# endif
|
||||
|
||||
// If the _ACC layer hold key has no function anymore because the layers _ACC and _BON to which it
|
||||
// switches have been removed, and no alternative use been set, that key reverts to being KC_DEL,
|
||||
// and the whole macro CHOLTAP_ACCE it normally activates gets cut.
|
||||
# if defined(REMOVE_ACC) \
|
||||
&& !defined(_ACC_KEY_ALT_LAYER) \
|
||||
&& defined(REMOVE_BON) \
|
||||
&& !defined(_BON_KEY_ALT_LAYER)
|
||||
# define CHOLTAP_ACCE KC_DEL // replaces in the keymap
|
||||
# define CHOLTAP_ACCE_NOP // cuts CHOLTAP_ACCE out of macros
|
||||
# endif
|
||||
|
||||
// Here all Unicode layers _ACC, _DRA and _BON have been removed, and none of their key(s) has
|
||||
// been re-assigned to a useful purpose. That makes that whole system redundant, so it is simplified.
|
||||
# if defined(REMOVE_ACC) \
|
||||
&& !defined(_ACC_KEY_ALT_LAYER) \
|
||||
&& defined(REMOVE_DRA) \
|
||||
&& !defined(_DRA_KEY_ALT_LAYER) \
|
||||
&& defined(REMOVE_BON) \
|
||||
&& !defined(_BON_KEY_ALT_LAYER)
|
||||
# define CHOLTAP_ACCE KC_DEL // replaces in the keymap
|
||||
# define CHOLTAP_ACCE_NOP // cuts CHOLTAP_ACCE out of macros
|
||||
# define DUO_HOLD_BASIC // cuts out the long DUO_HOLD macro, replaces it with a simple 'descramble'-aware hold(_NSY/_DDN)
|
||||
# endif
|
||||
|
|
@ -1,124 +0,0 @@
|
|||
/* Copyright 2020 King Wang Wong
|
||||
*
|
||||
* 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 layer_names {
|
||||
_ML,
|
||||
_FL,
|
||||
_NL,
|
||||
_SL,
|
||||
_RL
|
||||
};
|
||||
|
||||
|
||||
#define SPC_FUN LT(_FL, KC_SPC)
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* 0: Main Layer
|
||||
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────────┐
|
||||
* │ ESC │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │BKSPC │
|
||||
* ├─────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────────┤
|
||||
* │ TAB │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ENTER │
|
||||
* ├──────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬─────┤
|
||||
* │ LSHFT │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │' │
|
||||
* ├────────┬┴─────┴─┬───┴─┬───┴─────┴──┬──┴─────┴─────┴─┬───┴─┬───┴─┬───┴─────┤
|
||||
* │LCTRL │ LGUI │ LALT│SPACE(_NL) │MO(_NL) │MO_SL│ │MO(RL │
|
||||
* └────────┴────────┴─────┴────────────┴────────────────┴─────┴─────┴─────────┘
|
||||
*/
|
||||
[_ML] = LAYOUT(
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, 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_QUOT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, SPC_FUN, MO(_NL), MO(_SL), XXXXXXX, MO(_RL)
|
||||
),
|
||||
|
||||
|
||||
/* 1: Function Layer
|
||||
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────────┐
|
||||
* │ │ │HOME │ UP │END │PGUP │ │ F1 │ F2 │ F3 │ F4 │ │
|
||||
* ├─────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────────┤
|
||||
* │ CAPS │ │LEFT │DOWN │RIGHT│PGDN │ │ F5 │ F6 │ F7 │ F8 │ QUOT │
|
||||
* ├──────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬─────┤
|
||||
* │ │ │ │ DEL │ INS │ │ │ F9 │ F10 │ F11 │ F12 │ │
|
||||
* ├────────┬┴─────┴─┬───┴─┬───┴─────┴──┬──┴─────┴─────┴─┬───┴─┬───┴─┬───┴─────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────────┴────────┴─────┴────────────┴────────────────┴─────┴─────┴─────────┘
|
||||
*/
|
||||
[_FL] = LAYOUT(
|
||||
_______, XXXXXXX, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, _______,
|
||||
KC_CAPS, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_QUOT,
|
||||
_______, XXXXXXX, XXXXXXX, KC_DEL, KC_INS, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
|
||||
|
||||
/* 2: Number Layer
|
||||
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────────┐
|
||||
* │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ │
|
||||
* ├─────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────────┤
|
||||
* │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 8 │ 0 │ │
|
||||
* ├──────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────────┬┴─────┴─┬───┴─┬───┴─────┴──┬──┴─────┴─────┴─┬───┴─┬───┴─┬───┴─────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────────┴────────┴─────┴────────────┴────────────────┴─────┴─────┴─────────┘
|
||||
*/
|
||||
[_NL] = LAYOUT(
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* 3: Symbol Layer
|
||||
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────────┐
|
||||
* │ │ _ │ + │ { │ } │ | │ │ │ │ │ │ │
|
||||
* ├─────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────────┤
|
||||
* │ │ - │ = │ [ │ ] │ \ │ │ DEL │ INS │ │ │ │
|
||||
* ├──────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────────┬┴─────┴─┬───┴─┬───┴─────┴──┬──┴─────┴─────┴─┬───┴─┬───┴─┬───┴─────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────────┴────────┴─────┴────────────┴────────────────┴─────┴─────┴─────────┘
|
||||
*/
|
||||
[_SL] = LAYOUT(
|
||||
_______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, KC_DEL, KC_INS, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/* 4: Reset Layer
|
||||
* ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────────┐
|
||||
* │QK_BOOT│ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├─────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├──────┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────────┬┴─────┴─┬───┴─┬───┴─────┴──┬──┴─────┴─────┴─┬───┴─┬───┴─┬───┴─────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────────┴────────┴─────┴────────────┴────────────────┴─────┴─────┴─────────┘
|
||||
*/
|
||||
[_RL] = LAYOUT(
|
||||
QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
)
|
||||
};
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
# King's KUMO layout
|
||||
|
||||
Currently uses the fewest key layout (three keys on both sides of the bottom row) for the KUMO/minivan
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
// place overrides here
|
||||
#define BACKLIGHT_PIN B7
|
||||
#define BACKLIGHT_LEVELS 5
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Helpful defines
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT
|
||||
(QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
LT(1,KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(1,KC_QUOT),
|
||||
SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SC_RSPC,
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_ENT, KC_SPC, TG(2), LT(3,KC_APP), KC_DEL),
|
||||
|
||||
[1] = LAYOUT
|
||||
(KC_CAPS, KC_PGUP, KC_UP, KC_PGDN, KC_INS, KC_HOME, KC_UNDS, KC_P7, KC_P8, KC_P9, KC_EQL, KC_TRNS,
|
||||
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_END, KC_PMNS, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS,
|
||||
KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_MPRV, KC_MNXT, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_NUM,
|
||||
KC_TRNS, KC_TRNS, KC_MSTP, KC_PENT, KC_P0, KC_PDOT, KC_APP, KC_TRNS),
|
||||
|
||||
[2] = LAYOUT
|
||||
(KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
|
||||
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F11, KC_F12),
|
||||
|
||||
[3] = LAYOUT
|
||||
(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_PIPE,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LPRN, KC_RPRN, KC_TRNS,
|
||||
BL_TOGG, BL_DOWN, BL_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT)
|
||||
};
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
# Minivan
|
||||
|
||||

|
||||
|
||||
# Custom keymap for the minivan with backlight enabled and 5 backlight levels.
|
||||
# Hardware Supported: Minivan
|
||||
# Hardware Availability: [thevankeyboards.com](https://thevankeyboards.com/)
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include "../../config.h"
|
||||
|
||||
// place overrides here
|
||||
|
||||
#endif
|
||||
|
|
@ -1,211 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
#include "backlight.h"
|
||||
#endif
|
||||
|
||||
#ifdef AUDIO_ENABLE
|
||||
#include "audio.h"
|
||||
#endif
|
||||
|
||||
void backlight_toggle(void){
|
||||
};
|
||||
|
||||
enum roadkit_layers {
|
||||
_NUMPAD,
|
||||
_FPH,
|
||||
_FPHNOISY,
|
||||
_ADJUST,
|
||||
_DYN
|
||||
};
|
||||
|
||||
enum roadkit_keycodes {
|
||||
NUMPAD = SAFE_RANGE,
|
||||
FPH_1,
|
||||
FPH_2,
|
||||
FPH_3,
|
||||
FPH_4,
|
||||
FPH_5,
|
||||
FPH_6,
|
||||
FPH_7,
|
||||
FPH_8,
|
||||
FPH_9,
|
||||
FN_0,
|
||||
BACKLIT,
|
||||
MACSLEEP,
|
||||
DYNAMIC_MACRO_RANGE,
|
||||
};
|
||||
|
||||
#include "dynamic_macro.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_NUMPAD] = LAYOUT_numpad_4x4( /* Numpad */
|
||||
KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS,
|
||||
KC_KP_4, KC_KP_5, KC_KP_6,
|
||||
KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER,
|
||||
LT(_ADJUST, KC_KP_0), KC_KP_DOT
|
||||
),
|
||||
[_FPH] = LAYOUT_numpad_4x4( /* Quiet T9 */
|
||||
FPH_7, FPH_8, FPH_9, KC_KP_PLUS,
|
||||
FPH_4, FPH_5, FPH_6,
|
||||
FPH_1, FPH_2, FPH_3, SFT_T(KC_KP_ENTER),
|
||||
LT(_ADJUST, KC_SPACE), KC_KP_DOT
|
||||
),
|
||||
[_FPHNOISY] = LAYOUT_numpad_4x4( /* Noisy T9 */
|
||||
FPH_7, FPH_8, FPH_9, KC_KP_PLUS,
|
||||
FPH_4, FPH_5, FPH_6,
|
||||
FPH_1, FPH_2, FPH_3, SFT_T(KC_KP_ENTER),
|
||||
LT(_ADJUST, KC_SPACE), KC_KP_DOT
|
||||
),
|
||||
[_ADJUST] = LAYOUT_numpad_4x4( /* Adjustments */
|
||||
KC_NUM, TG(_FPHNOISY), TG(_FPH), TG(_NUMPAD),
|
||||
KC_BSPC, BACKLIT, KC_DEL,
|
||||
MACSLEEP, _______, _______, _______,
|
||||
_______, MO(_DYN)
|
||||
),
|
||||
[_DYN] = LAYOUT_numpad_4x4( /* DYNAMIC MACRO */
|
||||
DM_REC1, DM_REC2, _______, DM_RSTP,
|
||||
_______, _______, _______,
|
||||
DM_PLY1, DM_PLY2, _______, _______,
|
||||
_______, _______
|
||||
),
|
||||
};
|
||||
|
||||
void persistant_default_layer_set(uint16_t default_layer) {
|
||||
eeconfig_update_default_layer(default_layer);
|
||||
default_layer_set(default_layer);
|
||||
}
|
||||
|
||||
uint16_t fph_tap_qty = false;
|
||||
uint16_t fph_keycode = 0; // stores which spacebar was used, either raise or lower...
|
||||
|
||||
uint16_t get_render_keycode(uint16_t keycode, uint16_t tap_qty){ // maybe replace shift with "mods"
|
||||
tap_qty--; // reduce by one to match array indexes.
|
||||
switch(keycode){
|
||||
case FPH_2:
|
||||
{uint16_t kc[] = {KC_A, KC_B, KC_C};
|
||||
if(tap_qty % 6 > 2)
|
||||
return LSFT(kc[tap_qty % 3]);
|
||||
return kc[tap_qty % 3];}
|
||||
break;
|
||||
case FPH_3:
|
||||
{uint16_t kc[] = {KC_D, KC_E, KC_F};
|
||||
if(tap_qty % 6 > 2)
|
||||
return LSFT(kc[tap_qty % 3]);
|
||||
return kc[tap_qty % 3];}
|
||||
break;
|
||||
case FPH_4:
|
||||
{uint16_t kc[] = {KC_G, KC_H, KC_I};
|
||||
if(tap_qty % 6 > 2)
|
||||
return LSFT(kc[tap_qty % 3]);
|
||||
return kc[tap_qty % 3];}
|
||||
break;
|
||||
case FPH_5:
|
||||
{uint16_t kc[] = {KC_J, KC_K, KC_L};
|
||||
if(tap_qty % 6 > 2)
|
||||
return LSFT(kc[tap_qty % 3]);
|
||||
return kc[tap_qty % 3];}
|
||||
break;
|
||||
case FPH_6:
|
||||
{uint16_t kc[] = {KC_M, KC_N, KC_O};
|
||||
if(tap_qty % 6 > 2)
|
||||
return LSFT(kc[tap_qty % 3]);
|
||||
return kc[tap_qty % 3];}
|
||||
break;
|
||||
case FPH_7:
|
||||
{uint16_t kc[] = {KC_P, KC_Q, KC_R, KC_S};
|
||||
if(tap_qty % 8 > 2)
|
||||
return LSFT(kc[tap_qty % 4]);
|
||||
return kc[tap_qty % 4];}
|
||||
break;
|
||||
case FPH_8:
|
||||
{uint16_t kc[] = {KC_T, KC_U, KC_V};
|
||||
if(tap_qty % 8 > 2)
|
||||
return LSFT(kc[tap_qty % 4]);
|
||||
return kc[tap_qty % 4];}
|
||||
break;
|
||||
case FPH_9:
|
||||
{uint16_t kc[] = {KC_W, KC_X, KC_Y, KC_Z};
|
||||
if(tap_qty % 8 > 2)
|
||||
return LSFT(kc[tap_qty % 4]);
|
||||
return kc[tap_qty % 4];}
|
||||
break;
|
||||
case FPH_1:
|
||||
{uint16_t kc[] = {KC_COMM, LSFT(KC_SLSH), KC_EXLM, KC_AT, KC_MINS, KC_UNDS, KC_PLUS,
|
||||
KC_SCLN, LSFT(KC_SCLN), KC_QUOT, LSFT(KC_QUOT), KC_TILD,
|
||||
KC_PIPE, KC_BSLS, KC_HASH, LSFT(KC_4), KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR,
|
||||
KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, LSFT(KC_COMM), LSFT(KC_DOT)};
|
||||
return kc[tap_qty % 26];}
|
||||
}
|
||||
return KC_NO;
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!process_record_dynamic_macro(keycode, record)) {
|
||||
return false;
|
||||
}
|
||||
uint8_t layer;
|
||||
layer = get_highest_layer(layer_state);
|
||||
|
||||
switch (keycode) {
|
||||
case FPH_1 ... FPH_9:
|
||||
if(layer == _FPHNOISY){
|
||||
if (record->event.pressed) {
|
||||
if(fph_keycode != keycode) { // key change
|
||||
fph_tap_qty = 0;
|
||||
fph_keycode = keycode;
|
||||
} else { // same key tapped again so erase and increment.
|
||||
register_code(KC_BSPC);
|
||||
unregister_code(KC_BSPC);
|
||||
fph_tap_qty++;
|
||||
}
|
||||
uint16_t render_keycode = get_render_keycode(keycode, fph_tap_qty);
|
||||
// find mods? Apply mods..
|
||||
register_code(render_keycode);
|
||||
unregister_code(render_keycode);
|
||||
} else {
|
||||
// do we need to do anything on key-release?
|
||||
}
|
||||
} else { // not noisy, be demure .
|
||||
if (record->event.pressed) {
|
||||
if(fph_keycode != keycode) { // key change, kill everything.
|
||||
uint16_t render_keycode = get_render_keycode(fph_keycode, fph_tap_qty);
|
||||
// find mods? Apply mods..
|
||||
register_code(render_keycode);
|
||||
unregister_code(render_keycode);
|
||||
fph_keycode = keycode;
|
||||
fph_tap_qty = 0;
|
||||
} else { // same key tapped again so increment counter silently
|
||||
fph_tap_qty++;
|
||||
}
|
||||
} else {
|
||||
// do we need to do anything on key-release?
|
||||
// maybe start a timer on this one?
|
||||
}
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case BACKLIT:
|
||||
if (record->event.pressed) {
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
backlight_step();
|
||||
#endif
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case MACSLEEP:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
register_code(KC_RCTL);
|
||||
register_code(KC_PWR);
|
||||
unregister_code(KC_PWR);
|
||||
unregister_code(KC_RCTL);
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
# Flip Phone layout for Roadkit
|
||||
|
||||
BEWARE, THIS DOES NOT WORK YET.
|
||||
|
||||
Uses the numpad with classic cellular phone style letters assigned to the numbers.
|
||||
|
||||
# LAYERS
|
||||
|
||||
* Numpad - The layer that matches the caps mostly
|
||||
* FPH - Base layer for text
|
||||
* FPHNOISY - Text layer that outputs every character and then backspaces as they're replaced
|
||||
* DYN - dynamic macro layer for recording and playing macros
|
||||
|
||||
## FPH
|
||||
|
||||
Poke the "2" key twice and it makes "B".
|
||||
|
||||
## FPHNOISY
|
||||
|
||||
Poke the "2" key twice and it makes "A"+backspace+"B" so you can see it cycle through.
|
||||
|
||||
## MACROS
|
||||
|
||||
May be able to record macros with the T9 layer because the "KC_*"s are only sent
|
||||
at the end. Trying to do a macro with T9NOISY would probably fill up the buffer
|
||||
in just a few characters.
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_ortho_4x4(
|
||||
KC_TAB, KC_Q, KC_W, KC_E,
|
||||
KC_ESC, KC_A, KC_S, KC_D,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C,
|
||||
KC_F, KC_LALT, KC_LCTL, KC_SPC
|
||||
),
|
||||
};
|
||||
|
|
@ -1,35 +0,0 @@
|
|||

|
||||
|
||||
# Gamepad Layout by @wavebeem
|
||||
|
||||
The concept behind this layout is the left side of a computer keyboard,
|
||||
optimized with essential keys for playing FPS games. It was designed for TheVan
|
||||
RoadKit, but it should work for any 4x4 ortholinear keyboard.
|
||||
|
||||
I play with my pinky on `Shift`, thumb on `Space`, and the rest of my fingers on
|
||||
`W A S D`. I use my thumb for `Control`, `X`, and sometimes `C`. I usually use
|
||||
`Z` with my ring finger. It also helps to angle my fingers more perpendicular to
|
||||
the board in order to allow my thumb to more easily access the `Z X C` row.
|
||||
|
||||
The number keys `1 2 3` are missing for weapon switching, but you can usually
|
||||
switch with the mouse wheel or rebind those to `Z X C` or something else.
|
||||
|
||||
The key `R` for reloading is missing, but I prefer to use my extra mouse buttons
|
||||
for that.
|
||||
|
||||
I don't really use `Alt` for games, but I kept it around for `Alt-Tab` in
|
||||
Windows.
|
||||
|
||||
# Keymap Text Diagram
|
||||
|
||||
```
|
||||
+-------+-------+-------+-------+
|
||||
| Tab | Q | W | E |
|
||||
+-------+-------+-------+-------+
|
||||
| Esc | A | S | D |
|
||||
+-------+-------+-------+-------+
|
||||
| Shift | Z | X | C |
|
||||
+-------+-------+-------+-------+
|
||||
| F | Alt | Ctrl | Space |
|
||||
+-------+-------+-------+-------+
|
||||
```
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
Loading…
Add table
Add a link
Reference in a new issue