summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common_features.mk14
-rw-r--r--docs/_summary.md1
-rw-r--r--docs/config_options.md4
-rw-r--r--docs/custom_quantum_functions.md2
-rw-r--r--docs/feature_debounce_type.md31
-rw-r--r--docs/features.md1
-rw-r--r--docs/getting_started_make_guide.md4
-rw-r--r--docs/hand_wire.md2
-rw-r--r--keyboards/40percentclub/foobar/info.json6
-rw-r--r--keyboards/atreus/keymaps/yttyx/README.md158
-rw-r--r--keyboards/atreus/keymaps/yttyx/config.h12
-rw-r--r--keyboards/atreus/keymaps/yttyx/keymap.c221
-rw-r--r--keyboards/converter/numeric_keypad_IIe/config.h101
-rw-r--r--keyboards/converter/numeric_keypad_IIe/info.json12
-rw-r--r--keyboards/converter/numeric_keypad_IIe/keymaps/default/config.h19
-rw-r--r--keyboards/converter/numeric_keypad_IIe/keymaps/default/keymap.c62
-rw-r--r--keyboards/converter/numeric_keypad_IIe/keymaps/default/readme.md3
-rw-r--r--keyboards/converter/numeric_keypad_IIe/keymaps/newbold/config.h19
-rw-r--r--keyboards/converter/numeric_keypad_IIe/keymaps/newbold/keymap.c68
-rw-r--r--keyboards/converter/numeric_keypad_IIe/keymaps/newbold/readme.md28
-rw-r--r--keyboards/converter/numeric_keypad_IIe/numeric_keypad_IIe.c43
-rw-r--r--keyboards/converter/numeric_keypad_IIe/numeric_keypad_IIe.h30
-rw-r--r--keyboards/converter/numeric_keypad_IIe/readme.md16
-rw-r--r--keyboards/converter/numeric_keypad_IIe/rules.mk76
-rw-r--r--keyboards/converter/usb_usb/custom_matrix.cpp20
-rw-r--r--keyboards/dz60/keymaps/edulpn/README.md10
-rw-r--r--keyboards/dz60/keymaps/edulpn/keymap.c18
-rw-r--r--keyboards/ergodash/rev2/keymaps/default/keymap.c6
-rw-r--r--keyboards/hadron/ver2/keymaps/readme.md1
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/5x6.h54
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/info.json2
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/5x7.h66
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/info.json4
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/6x6.h60
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/info.json2
-rw-r--r--keyboards/handwired/terminus_mini/info.json59
-rw-r--r--keyboards/handwired/terminus_mini/keymaps/default/keymap.c119
-rw-r--r--keyboards/handwired/terminus_mini/readme.md7
-rw-r--r--keyboards/handwired/terminus_mini/terminus_mini.h16
-rw-r--r--keyboards/hecomi/alpha/info.json368
-rw-r--r--keyboards/hs60/v2/keymaps/ansi/readme.md6
-rw-r--r--keyboards/hs60/v2/keymaps/ansi_via/config.h23
-rw-r--r--keyboards/hs60/v2/keymaps/ansi_via/keymap.c60
-rw-r--r--keyboards/hs60/v2/keymaps/ansi_via/readme.md6
-rw-r--r--keyboards/hs60/v2/keymaps/ansi_via/rules.mk66
-rw-r--r--keyboards/hs60/v2/keymaps/default/readme.md4
-rw-r--r--keyboards/hs60/v2/keymaps/default_via/keymap.c60
-rw-r--r--keyboards/hs60/v2/keymaps/default_via/readme.md6
-rw-r--r--keyboards/hs60/v2/keymaps/default_via/rules.mk66
-rw-r--r--keyboards/hs60/v2/keymaps/hhkb/readme.md4
-rw-r--r--keyboards/hs60/v2/keymaps/hhkb_via/config.h34
-rw-r--r--keyboards/hs60/v2/keymaps/hhkb_via/keymap.c60
-rw-r--r--keyboards/hs60/v2/keymaps/hhkb_via/readme.md6
-rw-r--r--keyboards/hs60/v2/keymaps/hhkb_via/rules.mk66
-rw-r--r--keyboards/hs60/v2/keymaps/iso_andys8/rules.mk66
-rw-r--r--keyboards/hs60/v2/keymaps/stanrc85/rules.mk66
-rw-r--r--keyboards/hs60/v2/keymaps/win_osx_dual/rules.mk65
-rw-r--r--keyboards/hs60/v2/rules.mk4
-rw-r--r--keyboards/kbdfans/kbd67/rev1/keymaps/default/keymap.c18
-rw-r--r--keyboards/niu_mini/keymaps/yttyx/keymap.c2
-rw-r--r--keyboards/planck/keymaps/cbbrowne/readme.org (renamed from keyboards/planck/keymaps/cbbrowne/readme.md)63
-rw-r--r--keyboards/planck/keymaps/vxid/config.h1
-rw-r--r--keyboards/planck/keymaps/vxid/keymap.c49
-rw-r--r--keyboards/planck/keymaps/vxid/readme.md13
-rw-r--r--keyboards/westfoxtrot/aanzee/info.json3
-rw-r--r--keyboards/xd75/keymaps/cbbrowne/keymap.c141
-rw-r--r--keyboards/xd75/keymaps/cbbrowne/rules.mk24
-rw-r--r--layouts/community/ortho_4x12/symbolic/README.md23
-rw-r--r--layouts/community/ortho_4x12/symbolic/config.h3
-rw-r--r--layouts/community/ortho_4x12/symbolic/keymap.c138
-rw-r--r--quantum/audio/audio.c2
-rw-r--r--quantum/audio/audio_arm.c2
-rw-r--r--quantum/audio/audio_pwm.c2
-rw-r--r--quantum/debounce/eager_pk.c (renamed from quantum/debounce/debounce_eager_pk.c)0
-rw-r--r--quantum/debounce/readme.md18
-rw-r--r--quantum/debounce/sym_g.c (renamed from quantum/debounce/debounce_sym_g.c)0
-rw-r--r--show_options.mk2
-rw-r--r--users/cbbrowne/cbbrowne.c0
-rw-r--r--users/cbbrowne/cbbrowne.h39
-rw-r--r--users/cbbrowne/rules.mk1
-rw-r--r--users/stanrc85/config.h5
-rw-r--r--users/stanrc85/layer_rgb.c26
-rw-r--r--users/stanrc85/rules.mk5
83 files changed, 2425 insertions, 568 deletions
diff --git a/common_features.mk b/common_features.mk
index f5bef3d5dd..20c38ae82e 100644
--- a/common_features.mk
+++ b/common_features.mk
@@ -298,19 +298,11 @@ ifneq ($(strip $(CUSTOM_MATRIX)), yes)
endif
DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce
-# Debounce Modules. If implemented in matrix.c, don't use these.
+# Debounce Modules. Set DEBOUNCE_TYPE=custom if including one manually.
DEBOUNCE_TYPE?= sym_g
-VALID_DEBOUNCE_TYPES := sym_g eager_pk custom
-ifeq ($(filter $(DEBOUNCE_TYPE),$(VALID_DEBOUNCE_TYPES)),)
- $(error DEBOUNCE_TYPE="$(DEBOUNCE_TYPE)" is not a valid debounce algorithm)
+ifneq ($(strip $(DEBOUNCE_TYPE)), custom)
+ QUANTUM_SRC += $(DEBOUNCE_DIR)/$(strip $(DEBOUNCE_TYPE)).c
endif
-ifeq ($(strip $(DEBOUNCE_TYPE)), sym_g)
- QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_sym_g.c
-else ifeq ($(strip $(DEBOUNCE_TYPE)), eager_pk)
- QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_eager_pk.c
-endif
-
-
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
OPT_DEFS += -DSPLIT_KEYBOARD
diff --git a/docs/_summary.md b/docs/_summary.md
index 09ea9e6e79..35936df00d 100644
--- a/docs/_summary.md
+++ b/docs/_summary.md
@@ -60,6 +60,7 @@
* [Key Lock](feature_key_lock.md)
* [Layouts](feature_layouts.md)
* [Leader Key](feature_leader_key.md)
+ * [LED Matrix](feature_led_matrix.md)
* [Macros](feature_macros.md)
* [Mouse Keys](feature_mouse_keys.md)
* [One Shot Keys](feature_advanced_keycodes.md#one-shot-keys)
diff --git a/docs/config_options.md b/docs/config_options.md
index 8fa6e944f0..336feee8fd 100644
--- a/docs/config_options.md
+++ b/docs/config_options.md
@@ -307,8 +307,8 @@ Use these to enable or disable building certain features. The more you have enab
* Enables split keyboard support (dual MCU like the let's split and bakingpy's boards) and includes all necessary files located at quantum/split_common
* `CUSTOM_MATRIX`
* Allows replacing the standard matrix scanning routine with a custom one.
-* `CUSTOM_DEBOUNCE`
- * Allows replacing the standard key debouncing routine with a custom one.
+* `DEBOUNCE_TYPE`
+ * Allows replacing the standard key debouncing routine with an alternative or custom one.
* `WAIT_FOR_USB`
* Forces the keyboard to wait for a USB connection to be established before it starts up
* `NO_USB_STARTUP_CHECK`
diff --git a/docs/custom_quantum_functions.md b/docs/custom_quantum_functions.md
index cc84e141f9..f291fc2d21 100644
--- a/docs/custom_quantum_functions.md
+++ b/docs/custom_quantum_functions.md
@@ -321,7 +321,7 @@ uint32_t layer_state_set_user(uint32_t state) {
```
### `layer_state_set_*` Function Documentation
-* Keyboard/Revision: `void uint32_t layer_state_set_kb(uint32_t state)`
+* Keyboard/Revision: `uint32_t layer_state_set_kb(uint32_t state)`
* Keymap: `uint32_t layer_state_set_user(uint32_t state)`
The `state` is the bitmask of the active layers, as explained in the [Keymap Overview](keymap.md#keymap-layer-status)
diff --git a/docs/feature_debounce_type.md b/docs/feature_debounce_type.md
index 82b3d7de12..5d4343f08b 100644
--- a/docs/feature_debounce_type.md
+++ b/docs/feature_debounce_type.md
@@ -2,45 +2,38 @@
QMK supports multiple debounce algorithms through its debounce API.
-The underlying debounce algorithm is determined by which matrix.c file you are using.
-
The logic for which debounce method called is below. It checks various defines that you have set in rules.mk
```
+DEBOUNCE_DIR:= $(QUANTUM_DIR)/debounce
DEBOUNCE_TYPE?= sym_g
-VALID_DEBOUNCE_TYPES := sym_g eager_pk custom
-ifeq ($(filter $(DEBOUNCE_TYPE),$(VALID_DEBOUNCE_TYPES)),)
- $(error DEBOUNCE_TYPE="$(DEBOUNCE_TYPE)" is not a valid debounce algorithm)
-endif
-ifeq ($(strip $(DEBOUNCE_TYPE)), sym_g)
- QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_sym_g.c
-else ifeq ($(strip $(DEBOUNCE_TYPE)), eager_pk)
- QUANTUM_SRC += $(DEBOUNCE_DIR)/debounce_eager_pk.c
+ifneq ($(strip $(DEBOUNCE_TYPE)), custom)
+ QUANTUM_SRC += $(DEBOUNCE_DIR)/$(strip $(DEBOUNCE_TYPE)).c
endif
```
# Debounce selection
-| DEBOUNCE_ALGO | Description | What to do |
-| ------------- | --------------------------------------------------- | ----------------------------- |
-| Not defined | You are using the included matrix.c and debounce.c | Nothing. Debounce_sym_g will be compiled, and used if necessary |
-| custom | Use your own debounce.c | ```SRC += debounce.c``` add your own debounce.c and implement necessary functions |
-| sym_g / eager_pk | You are using the included matrix.c and debounce.c | Use an alternative debounce algorithm |
+| DEBOUNCE_TYPE | Description | What else is needed |
+| ------------- | --------------------------------------------------- | ----------------------------- |
+| Not defined | Use the default algorithm, currently sym_g | Nothing |
+| custom | Use your own debounce.c | ```SRC += debounce.c``` add your own debounce.c and implement necessary functions |
+| anything_else | Use another algorithm from quantum/debounce/* | Nothing |
-**Regarding split keyboards**:
+**Regarding split keyboards**:
The debounce code is compatible with split keyboards.
# Use your own debouncing code
* Set ```DEBOUNCE_TYPE = custom ```.
* Add ```SRC += debounce.c```
-* Add your own ```debounce.c```. Look at included ```debounce_sym_g.c```s for sample implementations.
+* Add your own ```debounce.c```. Look at current implementations in ```quantum/debounce``` for examples.
* Debouncing occurs after every raw matrix scan.
* Use num_rows rather than MATRIX_ROWS, so that split keyboards are supported correctly.
# Changing between included debouncing methods
You can either use your own code, by including your own debounce.c, or switch to another included one.
Included debounce methods are:
-* debounce_eager_pk - debouncing per key. On any state change, response is immediate, followed by ```DEBOUNCE_DELAY``` millseconds of no further input for that key
-* debounce_sym_g - debouncing per keyboard. On any state change, a global timer is set. When ```DEBOUNCE_DELAY``` milliseconds of no changes has occured, all input changes are pushed.
+* eager_pk - debouncing per key. On any state change, response is immediate, followed by ```DEBOUNCE_DELAY``` millseconds of no further input for that key
+* sym_g - debouncing per keyboard. On any state change, a global timer is set. When ```DEBOUNCE_DELAY``` milliseconds of no changes has occured, all input changes are pushed.
diff --git a/docs/features.md b/docs/features.md
index 9030500a2b..014d6ef107 100644
--- a/docs/features.md
+++ b/docs/features.md
@@ -17,6 +17,7 @@ QMK has a staggering number of features for building your keyboard. It can take
* [Key Lock](feature_key_lock.md) - Lock a key in the "down" state.
* [Layouts](feature_layouts.md) - Use one keymap with any keyboard that supports your layout.
* [Leader Key](feature_leader_key.md) - Tap the leader key followed by a sequence to trigger custom behavior.
+* [LED Matrix](feature_led_matrix.md) - LED Matrix single color lights for per key lighting (Single Color, not RGB).
* [Macros](feature_macros.md) - Send multiple key presses when pressing only one physical key.
* [Mouse keys](feature_mouse_keys.md) - Control your mouse pointer from your keyboard.
* [One Shot Keys](feature_advanced_keycodes.md#one-shot-keys) - Sticky Keys, lets hit a key rather than holding it.
diff --git a/docs/getting_started_make_guide.md b/docs/getting_started_make_guide.md
index bb7e1e7e3b..75eafd42cc 100644
--- a/docs/getting_started_make_guide.md
+++ b/docs/getting_started_make_guide.md
@@ -143,9 +143,9 @@ As there is no standard split communication driver for ARM-based split keyboards
Lets you replace the default matrix scanning routine with your own code. You will need to provide your own implementations of matrix_init() and matrix_scan().
-`CUSTOM_DEBOUNCE`
+`DEBOUNCE_TYPE`
-Lets you replace the default key debouncing routine with your own code. You will need to provide your own implementation of debounce().
+Lets you replace the default key debouncing routine with an alternative one. If `custom` you will need to provide your own implementation.
## Customizing Makefile Options on a Per-Keymap Basis
diff --git a/docs/hand_wire.md b/docs/hand_wire.md
index 697a508052..d2cba770e2 100644
--- a/docs/hand_wire.md
+++ b/docs/hand_wire.md
@@ -196,7 +196,7 @@ If you're more of a visual learner, or want some additional tips and something m
From here, you should have a working keyboard once you program a firmware. Before we attach the Teensy permanently to the keyboard, let's quickly get some firmware loaded onto the Teensy so we can test each keyswitch.
-To start out, download [the firmware](https://github.com/qmk/qmk_firmware/) - we'll be using my (Jack's) fork of TMK called QMK/Quantum. We'll be doing a lot from the Terminal/command prompt, so get that open, along with a decent text editor like [Sublime Text](http://www.sublimetext.com/).
+To start out, download [the firmware](https://github.com/qmk/qmk_firmware/) - we'll be using my (Jack's) fork of TMK called QMK/Quantum. We'll be doing a lot from the Terminal/command prompt, so get that open, along with a decent text editor like [Sublime Text](http://www.sublimetext.com/) (paid) or [Visual Studio Code](https://code.visualstudio.com) (free).
The first thing we're going to do is create a new project using the script in the root directory of the firmware. In your terminal, run this command with `<project_name>` replaced by the name of your project - it'll need to be different from any other project in the `keyboards/` folder:
diff --git a/keyboards/40percentclub/foobar/info.json b/keyboards/40percentclub/foobar/info.json
index cb7f29b256..6d722ae6ee 100644
--- a/keyboards/40percentclub/foobar/info.json
+++ b/keyboards/40percentclub/foobar/info.json
@@ -2,10 +2,12 @@
"keyboard_name": "foobar",
"url": "",
"maintainer": "qmk",
- "width": 6,
- "height": 2,
+ "width": 10,
+ "height": 3,
"layouts": {
"LAYOUT_macro": {
+ "width": 5,
+ "height": 3,
"key_count": 15,
"layout": [
{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0},
diff --git a/keyboards/atreus/keymaps/yttyx/README.md b/keyboards/atreus/keymaps/yttyx/README.md
index 9ed9d6239b..aac02c6c11 100644
--- a/keyboards/atreus/keymaps/yttyx/README.md
+++ b/keyboards/atreus/keymaps/yttyx/README.md
@@ -1,77 +1,103 @@
# Overview
-A Balance 12 layout for the Atreus keyboard.
+This layout is based on Balance Twelve (mirror variant) by Sasha Viminitz. Please see [this page](https://mathematicalmulticore.wordpress.com/the-keyboard-layout-project/)
+for more information. It's designed for left-handers who use their right hand for the mouse.
-Balance 12 was created by Sasha Viminitz. Please see [this page](https://mathematicalmulticore.wordpress.com/the-keyboard-layout-project/)
-for some background on the design of the layout.
+## To build
-* The variant used here is a mirror of the original for left-handers
-* The central column of punctuation keys has been moved elsewhere
-* Home positions for the left and right forefingers are *T* and *A* respectively
+```
+sudo make atreus:yttyx
+```
-## To build/flash
+## To flash (example)
-> make atreus:yttyx:avrdude
+```
+sudo avrdude -p atmega32u4 -c avr109 -U flash:w:atreus_yttyx.hex -P /dev/ttyACM0
+```
## Layers
### Base:
- .----------------------------------. .------------------------------.
- | P | L | C | D | W | | U | O | Y | K | Q |
- +------+------+------+-----+-------| |------+-----+-----+-----+-----|
- | N | R | S | T | M | | A | E | I | H | V |
- +------+------+------+-----+-------| |------+-----+-----+-----+-----|
- | Z | J | F | G | B | | , | . | ; | X | - |
- +------+------+------+-----+-------+---------+------+-----+-----+-----+-----|
- | Shft | Ctl | Alt | BS | Space | L1 | R1 | Shft | R2 | Win | Ctl | Alt |
- '---------------------------------------------------------------------------'
-
-### L1:
-
- .---------------------------------. .--------------------------------.
- | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
- |------+------+------+----+-------| |------+----+-----+------+-------|
- | Tab | ? | = | - | _ | | ' | " | + | * | Enter |
- |------+------+------+----+-------| |------+----+-----+------+-------|
- | Esc | ! | & | | | | , | . | ; | | - |
- |------+------+------+----+-------+---------+------+----+-----+------+-------|
- | Shft | Ctrl | Alt | Bk | Space | L1 | R1 | Shft | R2 | Sup | Ctrl | Alt |
- '----------------------------------------------------------------------------'
-
-### R1:
-
- .---------------------------------. .-------------------------------.
- | < | > | { | } | @ | | $ | £ | | | R3 |
- +------+------+-----+-----|-------| |------+----+-----+------+------|
- | [ | ] | ( | ) | # | | ' | " | ~ | ` | Caps |
- |------+------+-----+-----+-------| |------+----+-----+------+------|
- | / | \ | ^ | | | % | | , | . | ; | | PScn |
- |------+------+-----+-----+-------+---------+------+----+-----+------+------|
- | Shft | Ctrl | Alt | Del | Space | L1 | R1 | Shft | R2 | Sup | Ctrl | Alt |
- '---------------------------------------------------------------------------'
-
-### R2:
-
- .-----------------------------------. .--------------------.-----------------.
- | F12 | F11 | F10 | F9 | Copy | | Home | Up | End | PgUp | Insert |
- |------+------+------+------+-------| |------+------+------+------+----------|
- | F8 | F7 | F6 | F5 | Paste | | Left | Down | Right| PgDn | Enter |
- |------+------+------+------+-------| |------+------+------+------+----------|
- | F4 | F3 | F2 | F1 | Cut | | ^Tab | | Tab | | |
- |------+------+------+------+-------+---------+------+------+------+------+----------|
- | Shft | Ctrl | Alt | Del | Undo | L1 | R1 | Shft | R2 | Sup | Ctrl | WinRight |
- '------------------------------------------------------------------------------------'
-
-### R3:
-
- .----------------------------. .------------------------.
- | RESET | | | | | | | | | | R3 |
- |-------+----+-----+----+----| |----+----+----+----+----|
- | | | | | | | | | | | |
- |-------+----+-----+----+----| |----+----+----+----+----|
- | | | | | | | | | | | |
- |-------+----+-----+----+----+---------+----+----+----+----+----|
- | | | | | | | | | | | | |
- '---------------------------------------------------------------'
-
+ .--------.-------.-------.-------.--------. .-------.-------.-------.-------.------.
+ | P | L | C | D | W | | U | O | Y | K | Q |
+ |--------+-------+-------+-------+--------| |-------+-------+-------+-------+------|
+ | N | R | S | T | M | | A | E | I | H | V |
+ |--------+-------+-------+-------+--------| |-------+-------+-------+-------+------|
+ | Z Sft | J Ctl | F Alt | G | B | | , | . Alt | ; Ctl | X Sft | Sup |
+ '--------'-------'-------+-------+--------+-----. .-----+-------+-------+-------'-------'------'
+ | BS P1 | Spc P2 | P3 | | | Sft | |
+ '-------'--------'-----' '-----'-------'-------'
+
+### P1: Punctuation (1)
+
+
+ .--------.-------.-------.-------.-------. .------.-------.-------.-------.------.
+ | Esc | | | | RS | | | | / | ^ | £ | ~ |
+ |--------+-------+-------+-------+-------| |------+-------+-------+-------+------|
+ | Tab | | | | | | & | \ | ` | $ | Ent |
+ |--------+-------+-------+-------+-------| |------+-------+-------+-------+------|
+ | Sft | Ctl | Alt | Del | | | % | Alt | Ctl | Sft | Sup |
+ '--------'-------'-------+-------+-------+-----. .-----+------+-------+-------'-------'------'
+ | P1 | | | | | Sft | |
+ '-------'-------'-----' '-----'------'-------'
+
+### P2: Punctuation (2)
+
+ .-------.-------.-------.-------.-------. .-------.-------.-------.-------.------.
+ | Esc | | NC | FV | | | ( | ) | " | ? | |
+ |-------+-------+-------+-------+-------| |-------+-------+-------+-------+------|
+ | Tab | Ctl-X | Ctl-C | Ctl-V | Ctl-Z | | { | } | ' | ! | Ent |
+ |-------+-------+-------+-------+-------| |-------+-------+-------+-------+------|
+ | Sft | Ctl | Alt | Del | Ent | | # | Alt | Ctl | Sft | Sup |
+ '-------'-------'-------+-------+-------+-----. .-----+-------+-------+-------'-------'------'
+ | BS | P2 | | | | Sft | |
+ '-------'-------'-----' '-----'-------'-------'
+
+### P3: Punctuation (3)
+
+ .-------.-------.-------.-------.-------. .------.-------.-------.-------.------.
+ | Esc | | Break | Pscr | ScLk | | < | > | + | _ | = |
+ |-------+-------+-------+-------+-------| |------+-------+-------+-------+------|
+ | Tab | | | Caps | | | [ | ] | * | - | Ent |
+ |-------+-------+-------+-------+-------| |------+-------+-------+-------+------|
+ | Sft | Ctl | Alt | Del | | | @ | Alt | Ctl | Sft | Sup |
+ '-------'-------'-------+-------+-------+-----. .-----+------+-------+-------'-------'------'
+ | BS | | P3 | | | Sft | |
+ '-------'-------'-----' '-----'------'-------'
+
+### Numerals / Cursor control
+
+ .-------.-------.-------.------.-------. .------.-------.-------.------.------.
+ | 1 | 2 | 3 | 4 | 5 | | Home | Up | End | PgUp | |
+ |-------+-------+-------+------+-------| |------+-------+-------+------+------|
+ | 6 | 7 | 8 | 9 | 0 | | Left | Down | Right | PgDn | |
+ |-------+-------+-------+------+-------| |------+-------+-------+------+------|
+ | Sft | Ctl | Alt | Del | . | | Ins | Alt | Ctl | Sft | Sup |
+ '-------'-------'-------+------+-------+-----. .-----+------+-------+-------'------'------'
+ | BS | BA | | | | Sft | |
+ '------'-------'-----' '-----'------'-------'
+
+### FV: Function keys / Cursor control (Vim)
+
+ .-------.------.-------.-----.-------. .------.-------.-----.-------.------.
+ | F1 | F2 | F3 | F4 | F5 | | 0 | K | $ | Ctl-B | |
+ |-------+------+-------+-----+-------| |------+-------+-----+-------+------|
+ | F6 | F7 | F8 | F9 | F10 | | H | J | L | Ctl-F | |
+ |-------+------+-------+-----+-------| |------+-------+-----+-------+------|
+ | Sft | Ctl | Alt | F11 | F12 | | | Alt | Ctl | Sft | Sup |
+ '-------'------'-------+-----+-------+-----. .-----+------+-------+-----'-------'------'
+ | BS | BA | | | | Sft | |
+ '-----'-------'-----' '-----'------'-------'
+
+### RS: Reset
+
+ .-------.------.-------.-----.-------. .------.-------.-----.-------.------.
+ | RESET | | | | | | | | | | |
+ |-------+------+-------+-----+-------| |------+-------+-----+-------+------|
+ | | | | | | | | | | | |
+ |-------+------+-------+-----+-------| |------+-------+-----+-------+------|
+ | | | | | | | | | | | |
+ '-------'------'-------+-----+-------+-----. .-----+------+-------+-----'-------'------'
+ | | BA | | | | | |
+ '-----'-------'-----' '-----'------'-------'
diff --git a/keyboards/atreus/keymaps/yttyx/config.h b/keyboards/atreus/keymaps/yttyx/config.h
index 68e0225e00..b9e113ec0b 100644
--- a/keyboards/atreus/keymaps/yttyx/config.h
+++ b/keyboards/atreus/keymaps/yttyx/config.h
@@ -1,12 +1,4 @@
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#define ONESHOT_TIMEOUT 500 // Time (in ms) before the one shot key is released
-
-// Disable some options to reduce firmware size
-#define NO_PRINT
-#define NO_ACTION_TAPPING
+#pragma once
+#define NO_ACTION_ONESHOT
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/atreus/keymaps/yttyx/keymap.c b/keyboards/atreus/keymaps/yttyx/keymap.c
index 210bfd36ba..dad36cad92 100644
--- a/keyboards/atreus/keymaps/yttyx/keymap.c
+++ b/keyboards/atreus/keymaps/yttyx/keymap.c
@@ -2,115 +2,158 @@
#include QMK_KEYBOARD_H
enum layers {
- BASE, // Balance Twelve
- L1, // (momentary)
- R1, // (momentary)
- R2, // (momentary)
- R3 // (momentary)
+ BA, // Base (Balance Twelve mirror variant)
+ P1, // Punctuation (1)
+ P2, // Punctuation (2)
+ P3, // Punctuation (2)
+ NC, // Numerals / Cursor control
+ FV, // Function keys / Cursor control (Vim)
+ RS // Reset
};
-// Aliases from replicaJunction's atreus layout
-#define KCX_LST LSFT(KC_TAB)
-#define KX_COPY LCTL(KC_C)
-#define KX_CUT LCTL(KC_X)
-#define KX_PAST LCTL(KC_V)
-#define KX_UNDO LCTL(KC_Z)
+// Abbreviations - base
+#define KX_P1_BSPC LT(P1, KC_BSPC)
+#define KX_P2_SPC LT(P2, KC_SPC)
-#define KX_AT LSFT(KC_QUOT)
-#define KX_PIPE LSFT(KC_NUBS)
-#define KX_WINR LSFT(LGUI(KC_RGHT)) // Move window to next monitor (Windows)
+#define KX_SFT_Z MT(MOD_LSFT, KC_Z)
+#define KX_CTL_J MT(MOD_LCTL, KC_J)
+#define KX_ALT_F MT(MOD_LALT, KC_F)
+#define KX_ALT_DOT MT(MOD_LALT, KC_DOT)
+#define KX_CTL_SCLN MT(MOD_LCTL, KC_SCLN)
+#define KX_SFT_X MT(MOD_LSFT, KC_X)
+#define KX_AT LSFT(KC_QUOT)
+#define KX_DQUOT LSFT(KC_2)
+#define KX_PIPE LSFT(KC_NUBS)
+#define KX_TILDA LSFT(KC_NUHS)
+
+
const uint16_t PROGMEM keymaps[][ MATRIX_ROWS ][ MATRIX_COLS ] = {
+ /*
+ .--------.-------.-------.-------.--------. .-------.-------.-------.-------.------.
+ | P | L | C | D | W | | U | O | Y | K | Q |
+ |--------+-------+-------+-------+--------| |-------+-------+-------+-------+------|
+ | N | R | S | T | M | | A | E | I | H | V |
+ |--------+-------+-------+-------+--------| |-------+-------+-------+-------+------|
+ | Z Sft | J Ctl | F Alt | G | B | | , | . Alt | ; Ctl | X Sft | Sup |
+ '--------'-------'-------+-------+--------+-----. .-----+-------+-------+-------'-------'------'
+ | BS P1 | Spc P2 | P3 | | | Sft | |
+ '-------'--------'-----' '-----'-------'-------'
+ */
+ [BA] = LAYOUT(
+ KC_P, KC_L, KC_C, KC_D, KC_W, KC_U, KC_O, KC_Y, KC_K, KC_Q,
+ KC_N, KC_R, KC_S, KC_T, KC_M, KC_A, KC_E, KC_I, KC_H, KC_V,
+ KX_SFT_Z, KX_CTL_J, KX_ALT_F, KC_G, KC_B, KC_COMM, KX_ALT_DOT, KX_CTL_SCLN, KX_SFT_X, KC_LGUI,
+ XXXXXXX, XXXXXXX, XXXXXXX, KX_P1_BSPC, KX_P2_SPC, MO(P3), XXXXXXX, KC_RSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ ),
+
+ /* P1: Punctuation (1)
+ .--------.-------.-------.-------.-------. .------.-------.-------.-------.------.
+ | Esc | | | | RS | | | | / | ^ | £ | ~ |
+ |--------+-------+-------+-------+-------| |------+-------+-------+-------+------|
+ | Tab | | | | | | & | \ | ` | $ | Ent |
+ |--------+-------+-------+-------+-------| |------+-------+-------+-------+------|
+ | Sft | Ctl | Alt | Del | | | % | Alt | Ctl | Sft | Sup |
+ '--------'-------'-------+-------+-------+-----. .-----+------+-------+-------'-------'------'
+ | P1 | | | | | Sft | |
+ '-------'-------'-----' '-----'------'-------'
+ */
+ [P1] = LAYOUT(
+ KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, TO(RS), KX_PIPE, KC_SLSH, KC_CIRC, KC_HASH, KX_TILDA,
+ KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_AMPR, KC_NUBS, KC_GRV, KC_DLR, KC_ENT,
+ KC_LSFT, KC_LCTL, KC_LALT, KC_DEL, XXXXXXX, KC_PERC, KC_LALT, KC_LCTL, KC_LSFT, _______,
+ XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ ),
- /* Balance Twelve mirror variant (left-handed)
- .--------------------------------. .------------------------------.
- | P | L | C | D | W | | U | O | Y | K | Q |
- +------+------+-----+----+-------| |------+----+-----+------+-----|
- | N | R | S | T | M | | A | E | I | H | V |
- +------+------+-----+----+-------| |------+----+-----+------+-----|
- | Z | J | F | G | B | | , | . | ; | X | - |
- +------+------+-----+----+-------+---------+------+----+-----+------+-----|
- | Shft | Ctrl | Alt | Bk | Space | L1 | R1 | Shft | R2 | Win | Ctrl | Alt |
- '-------------------------------------------------------------------------'
+ /* P2: Punctuation (2)
+ .-------.-------.-------.-------.-------. .-------.-------.-------.-------.------.
+ | Esc | | NC | FV | | | ( | ) | " | ? | |
+ |-------+-------+-------+-------+-------| |-------+-------+-------+-------+------|
+ | Tab | Ctl-X | Ctl-C | Ctl-V | Ctl-Z | | { | } | ' | ! | Ent |
+ |-------+-------+-------+-------+-------| |-------+-------+-------+-------+------|
+ | Sft | Ctl | Alt | Del | Ent | | # | Alt | Ctl | Sft | Sup |
+ '-------'-------'-------+-------+-------+-----. .-----+-------+-------+-------'-------'------'
+ | BS | P2 | | | | Sft | |
+ '-------'-------'-----' '-----'-------'-------'
*/
- [BASE] = LAYOUT(
- KC_P, KC_L, KC_C, KC_D, KC_W, KC_U, KC_O, KC_Y, KC_K, KC_Q,
- KC_N, KC_R, KC_S, KC_T, KC_M, KC_A, KC_E, KC_I, KC_H, KC_V,
- KC_Z, KC_J, KC_F, KC_G, KC_B, KC_COMM, KC_DOT, KC_SCLN, KC_X, KC_MINS,
- KC_LSFT, KC_LCTL, KC_LALT, KC_BSPC, KC_SPC, MO(L1), MO(R1), OSM(MOD_LSFT), MO(R2), KC_LWIN, KC_RCTL, KC_RALT
+ [P2] = LAYOUT(
+ KC_ESC, XXXXXXX, TO(NC), TO(FV), XXXXXXX, KC_LPRN, KC_RPRN, KX_DQUOT, KC_QUES, XXXXXXX,
+ KC_TAB, LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), LCTL(KC_Z), KC_LCBR, KC_RCBR, KC_QUOT, KC_EXLM, KC_ENT,
+ KC_LSFT, KC_LCTL, KC_LALT, KC_DEL, KC_ENT, KC_NUHS, KC_LALT, KC_LCTL, KC_LSFT, _______,
+ XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
- /* L1
- .---------------------------------. .--------------------------------.
- | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
- |------+------+------+----+-------| |------+----+-----+------+-------|
- | Tab | ? | = | - | _ | | ' | " | + | * | Enter |
- |------+------+------+----+-------| |------+----+-----+------+-------|
- | Esc | ! | & | | | | , | . | ; | | - |
- |------+------+------+----+-------+---------+------+----+-----+------+-------|
- | Shft | Ctrl | Alt | Bk | Space | L1 | R1 | Shft | R2 | Sup | Ctrl | Alt |
- '----------------------------------------------------------------------------'
+ /* P3: Punctuation (3)
+ .-------.-------.-------.-------.-------. .------.-------.-------.-------.------.
+ | Esc | | Break | Pscr | ScLk | | < | > | + | _ | = |
+ |-------+-------+-------+-------+-------| |------+-------+-------+-------+------|
+ | Tab | | | Caps | | | [ | ] | * | - | Ent |
+ |-------+-------+-------+-------+-------| |------+-------+-------+-------+------|
+ | Sft | Ctl | Alt | Del | | | @ | Alt | Ctl | Sft | Sup |
+ '-------'-------'-------+-------+-------+-----. .-----+------+-------+-------'-------'------'
+ | BS | | P3 | | | Sft | |
+ '-------'-------'-----' '-----'------'-------'
*/
- [L1] = LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- KC_TAB, KC_QUES, KC_EQL, KC_MINS, KC_UNDS, KC_QUOT, LSFT(KC_2), KC_PLUS, KC_ASTR, KC_ENT,
- KC_ESC, KC_EXLM, KC_AMPR, XXXXXXX, XXXXXXX, _______, _______, _______, XXXXXXX, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ [P3] = LAYOUT(
+ KC_ESC, XXXXXXX, KC_BRK, KC_PSCR, KC_SLCK, KC_LABK, KC_RABK, KC_PLUS, KC_UNDS, KC_EQL,
+ KC_TAB, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, KC_LBRC, KC_RBRC, KC_ASTR, KC_MINS, KC_ENT,
+ KC_LSFT, KC_LCTL, KC_LALT, KC_DEL, XXXXXXX, KX_AT, KC_LALT, KC_LCTL, KC_LSFT, _______,
+ XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, XXXXXXX, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
- /* R1
- .---------------------------------. .-------------------------------.
- | < | > | { | } | @ | | $ | £ | | | R3 |
- +------+------+-----+-----|-------| |------+----+-----+------+------|
- | [ | ] | ( | ) | # | | ' | " | ~ | ` | Caps |
- |------+------+-----+-----+-------| |------+----+-----+------+------|
- | / | \ | ^ | | | % | | , | . | ; | | PScn |
- |------+------+-----+-----+-------+---------+------+----+-----+------+------|
- | Shft | Ctrl | Alt | Del | Space | L1 | R1 | Shft | R2 | Sup | Ctrl | Alt |
- '---------------------------------------------------------------------------'
+ /* NC: Numerals / Cursor control
+ .-------.-------.-------.------.-------. .------.-------.-------.------.------.
+ | 1 | 2 | 3 | 4 | 5 | | Home | Up | End | PgUp | |
+ |-------+-------+-------+------+-------| |------+-------+-------+------+------|
+ | 6 | 7 | 8 | 9 | 0 | | Left | Down | Right | PgDn | |
+ |-------+-------+-------+------+-------| |------+-------+-------+------+------|
+ | Sft | Ctl | Alt | Del | . | | Ins | Alt | Ctl | Sft | Sup |
+ '-------'-------'-------+------+-------+-----. .-----+------+-------+-------'------'------'
+ | BS | BA | | | | Sft | |
+ '------'-------'-----' '-----'------'-------'
*/
- [R1] = LAYOUT(
- KC_LABK, KC_RABK, KC_LCBR, KC_RCBR, KX_AT, KC_DLR, KC_HASH, XXXXXXX, XXXXXXX, MO(R3),
- KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_NUHS, KC_QUOT, LSFT(KC_2), LSFT(KC_NUHS), KC_GRV, KC_CAPS,
- KC_SLSH, KC_NUBS, KC_CIRC, KX_PIPE, KC_PERC, _______, _______, _______, XXXXXXX, KC_PSCR,
- _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______
+ [NC] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX,
+ KC_6, KC_7, KC_8, KC_9, KC_0, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX,
+ KC_LSFT, KC_LCTL, KC_LALT, KC_DEL, KC_DOT, KC_INS, KC_LALT, KC_LCTL, KC_LSFT, _______,
+ XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, TO(BA), XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
- /* R2
- .-----------------------------------. .--------------------.-----------------.
- | F12 | F11 | F10 | F9 | Copy | | Home | Up | End | PgUp | Insert |
- |------+------+------+------+-------| |------+------+------+------+----------|
- | F8 | F7 | F6 | F5 | Paste | | Left | Down | Right| PgDn | Enter |
- |------+------+------+------+-------| |------+------+------+------+----------|
- | F4 | F3 | F2 | F1 | Cut | | ^Tab | | Tab | | |
- |------+------+------+------+-------+---------+------+------+------+------+----------|
- | Shft | Ctrl | Alt | Del | Undo | L1 | R1 | Shft | R2 | Sup | Ctrl | WinRight |
- '------------------------------------------------------------------------------------'
+ /* FV: Function keys / Cursor control (Vim)
+ .-------.------.-------.-----.-------. .------.-------.-----.-------.------.
+ | F1 | F2 | F3 | F4 | F5 | | 0 | K | $ | Ctl-B | |
+ |-------+------+-------+-----+-------| |------+-------+-----+-------+------|
+ | F6 | F7 | F8 | F9 | F10 | | H | J | L | Ctl-F | |
+ |-------+------+-------+-----+-------| |------+-------+-----+-------+------|
+ | Sft | Ctl | Alt | F11 | F12 | | | Alt | Ctl | Sft | Sup |
+ '-------'------'-------+-----+-------+-----. .-----+------+-------+-----'-------'------'
+ | BS | BA | | | | Sft | |
+ '-----'-------'-----' '-----'------'-------'
*/
- [R2] = LAYOUT(
- KC_F12, KC_F11, KC_F10, KC_F9, KX_COPY, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_INS,
- KC_F8, KC_F7, KC_F6, KC_F5, KX_PAST, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_ENT,
- KC_F4, KC_F3, KC_F2, KC_F1, KX_CUT, KCX_LST, XXXXXXX, KC_TAB, XXXXXXX, XXXXXXX,
- _______, _______, _______, KC_DEL, KX_UNDO, _______, _______, _______, _______, _______, _______, KX_WINR
+ [FV] = LAYOUT(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_0, KC_K, KC_DLR, LCTL(KC_B), XXXXXXX,
+ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_H, KC_J, KC_L, LCTL(KC_F), XXXXXXX,
+ KC_LSFT, KC_LCTL, KC_LALT, KC_F11, KC_F12, XXXXXXX, KC_LALT, KC_LCTL, KC_LSFT, _______,
+ XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, TO(BA), XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
- /* R3
- .----------------------------. .------------------------.
- | RESET | | | | | | | | | | R3 |
- |-------+----+-----+----+----| |----+----+----+----+----|
- | | | | | | | | | | | |
- |-------+----+-----+----+----| |----+----+----+----+----|
- | | | | | | | | | | | |
- |-------+----+-----+----+----+---------+----+----+----+----+----|
- | | | | | | | | | | | | |
- '---------------------------------------------------------------'
+ /* RS: Reset
+ .-------.------.-------.-----.-------. .------.-------.-----.-------.------.
+ | RESET | | | | | | | | | | |
+ |-------+------+-------+-----+-------| |------+-------+-----+-------+------|
+ | | | | | | | | | | | |
+ |-------+------+-------+-----+-------| |------+-------+-----+-------+------|
+ | | | | | | | | | | | |
+ '-------'------'-------+-----+-------+-----. .-----+------+-------+-----'-------'------'
+ | | BA | | | | | |
+ '-----'-------'-----' '-----'------'-------'
*/
- [R3] = LAYOUT(
- RESET, 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
+ [RS] = LAYOUT(
+ RESET, 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, TO(BA), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
)
};
diff --git a/keyboards/converter/numeric_keypad_IIe/config.h b/keyboards/converter/numeric_keypad_IIe/config.h
new file mode 100644
index 0000000000..8cf0eaa40f
--- /dev/null
+++ b/keyboards/converter/numeric_keypad_IIe/config.h
@@ -0,0 +1,101 @@
+/*
+Copyright 2019 Adam Newbold <adam@neatnik.net>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Apple Inc.
+#define PRODUCT Numeric Keypad IIe
+#define DESCRIPTION "Numeric Keypad IIe, A2M2003"
+
+/*
+
+Pin Mappings
+============
+
+Dsub-15 Connection
+------------------
+
+ Dsub-15 (female)
+ ,-------------------------.
+ \ 08 07 06 05 04 03 02 01 /
+ \ 15 14 13 12 11 10 09 /
+ `---------------------'
+
+Header Pins
+-----------
+ _____________________________________
+| |
+| 11 10 9 8 7 6 5 4 3 2 1 |
+|_____________________________________|
+
+
+Header / Matrix
+---------------
+
+Pin Name Description
+--------------------------------------------------------------
+1,2,5,3,4,6 Y0-Y5 Y-direction key-matrix connections
+7 NC
+9,11,10,8 X4-X7 X-direction key-matrix connections
+
+
+Microcontroller Configuration
+-----------------------------
+
+(Pins are for an Arduino Micro)
+
++-----------------------------------+
+| Dsub-15 | Header | Matrix | Micro |
+|---------+--------+--------+-------|
+| 12 | 11 | X5 | B0 |
+| 11 | 10 | X6 | D3 |
+| 10 | 9 | X4 | B2 |
+| 9 | 8 | X7 | D2 |
+| NC | 7 | NC | -- |
+| 7 | 6 | Y5 | E6 |
+| 6 | 5 | Y2 | D4 |
+| 5 | 4 | Y4 | D7 |
+| 3 | 3 | Y3 | C6 |
+| 2 | 2 | Y1 | D0 |
+| 1 | 1 | Y0 | D1 |
++-----------------------------------+
+
+Note: Dsub-15 pins 4, 8, 13, 14, and 15 are unused
+
+Reference
+---------
+
+https://deskthority.net/wiki/Apple_Numeric_Keypad_IIe
+https://geekhack.org/index.php?topic=78048.0
+http://wiki.apple2.org/index.php?title=Pinouts#Apple_.2F.2Fe_Numeric_Keypad_connector
+
+*/
+
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 6
+#define MATRIX_ROW_PINS { B0, B2, D2, D3 }
+#define MATRIX_COL_PINS { D1, D0, D4, C6, D7, E6 }
+#define UNUSED_PINS
+#define DIODE_DIRECTION COL2ROW
+#define SOFT_SERIAL_PIN D0
+#define DEBOUNCING_DELAY 5
diff --git a/keyboards/converter/numeric_keypad_IIe/info.json b/keyboards/converter/numeric_keypad_IIe/info.json
new file mode 100644
index 0000000000..f1990698ae
--- /dev/null
+++ b/keyboards/converter/numeric_keypad_IIe/info.json
@@ -0,0 +1,12 @@
+{
+ "keyboard_name": "Numeric Keypad IIe",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 7.5,
+ "height": 4,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"7", "x":2, "y":0}, {"label":"8", "x":3, "y":0}, {"label":"9", "x":4, "y":0}, {"label":"(", "x":5.5, "y":0}, {"label":")", "x":6.5, "y":0}, {"label":"\u2190", "x":0, "y":1}, {"label":"4", "x":2, "y":1}, {"label":"5", "x":3, "y":1}, {"label":"6", "x":4, "y":1}, {"label":"\u2212", "x":5.5, "y":1}, {"label":"\u00f7", "x":6.5, "y":1}, {"label":"\u2192", "x":0, "y":2}, {"label":"1", "x":2, "y":2}, {"label":"2", "x":3, "y":2}, {"label":"3", "x":4, "y":2}, {"label":"+", "x":5.5, "y":2}, {"label":"\u00d7", "x":6.5, "y":2}, {"label":"Space", "x":0, "y":3}, {"label":"0", "x":1.5, "y":3, "w":1.5}, {"label":",", "x":3, "y":3}, {"label":".", "x":4, "y":3}, {"label":"Ret", "x":5.5, "y":3}, {"label":"Print", "x":6.5, "y":3}]
+ }
+ }
+}
diff --git a/keyboards/converter/numeric_keypad_IIe/keymaps/default/config.h b/keyboards/converter/numeric_keypad_IIe/keymaps/default/config.h
new file mode 100644
index 0000000000..667668959a
--- /dev/null
+++ b/keyboards/converter/numeric_keypad_IIe/keymaps/default/config.h
@@ -0,0 +1,19 @@
+/* Copyright 2019 Adam Newbold <adam@neatnik.net>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+// place overrides here
diff --git a/keyboards/converter/numeric_keypad_IIe/keymaps/default/keymap.c b/keyboards/converter/numeric_keypad_IIe/keymaps/default/keymap.c
new file mode 100644
index 0000000000..a8f4553556
--- /dev/null
+++ b/keyboards/converter/numeric_keypad_IIe/keymaps/default/keymap.c
@@ -0,0 +1,62 @@
+/* Copyright 2019 Adam Newbold <adam@neatnik.net>
+ *
+ * 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
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+ QMKBEST = SAFE_RANGE,
+ QMKURL
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/*
+ +-------+ +-------+-------+-------+ +-------+-------+
+ | Esc | | 7 | 8 | 9 | | ( | ) |
+ +-------+ +-------+-------+-------+ +-------+-------+
+ | <-- | | 4 | 5 | 6 | | - | / |
+ +-------+ +-------+-------+-------+ +-------+-------+
+ | --> | | 1 | 2 | 3 | | + | * |
+ +-------+ +--+-------+-------+-------+ +-------+-------+
+ | Space | | 0 | , | . | | Ret | Print |
+ +-------+ +----------+-------+-------+ +-------+-------+
+*/
+ [0] = LAYOUT(
+ KC_ESCAPE, KC_KP_7, KC_KP_8, KC_KP_9, KC_LEFT_PAREN, KC_RIGHT_PAREN, \
+ KC_LEFT, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_MINUS, KC_KP_SLASH, \
+ KC_RIGHT, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_PLUS, KC_KP_ASTERISK, \
+ KC_SPACE, KC_KP_0, KC_KP_COMMA, KC_KP_DOT, KC_RETURN, KC_QUESTION \
+ ),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ return true;
+}
+
+void keyboard_post_init_user(void) {
+
+}
+
+void matrix_init_user(void) {
+
+}
+
+void matrix_scan_user(void) {
+
+}
+
+void led_set_user(uint8_t usb_led) {
+
+}
diff --git a/keyboards/converter/numeric_keypad_IIe/keymaps/default/readme.md b/keyboards/converter/numeric_keypad_IIe/keymaps/default/readme.md
new file mode 100644
index 0000000000..c58b09d156
--- /dev/null
+++ b/keyboards/converter/numeric_keypad_IIe/keymaps/default/readme.md
@@ -0,0 +1,3 @@
+# Numeric Keypad //e Default Keymap
+
+All keys perform their default functions displayed on the stock keycaps. Note that the "Print" key presses a question mark (?), which was the default behavior on the Apple //e (with ? the shorthand for the AppleSoft BASIC PRINT command).
diff --git a/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/config.h b/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/config.h
new file mode 100644
index 0000000000..667668959a
--- /dev/null
+++ b/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/config.h
@@ -0,0 +1,19 @@
+/* Copyright 2019 Adam Newbold <adam@neatnik.net>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+// place overrides here
diff --git a/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/keymap.c b/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/keymap.c
new file mode 100644
index 0000000000..e0f04557c6
--- /dev/null
+++ b/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/keymap.c
@@ -0,0 +1,68 @@
+/* Copyright 2019 Adam Newbold <adam@neatnik.net>
+ *
+ * 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
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+ QMKBEST = SAFE_RANGE,
+ QMKURL
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/*
+ +-------+ +-------+-------+-------+ +-------+-------+
+ | Esc | | 7 | 8 | 9 | | ( | ) |
+ +-------+ +-------+-------+-------+ +-------+-------+
+ | <-- | | 4 | 5 | 6 | | - | / |
+ +-------+ +-------+-------+-------+ +-------+-------+
+ | --> | | 1 | 2 | 3 | | + | * |
+ +-------+ +--+-------+-------+-------+ +-------+-------+
+ | Space | | 0 | , | . | | Ret | Print |
+ +-------+ +----------+-------+-------+ +-------+-------+
+*/
+ [0] = LAYOUT(
+ KC__MUTE, KC_KP_7, KC_KP_8, KC_KP_9, KC_LEFT_PAREN, KC_RIGHT_PAREN, \
+ KC__VOLDOWN, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_MINUS, KC_KP_SLASH, \
+ KC__VOLUP, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_PLUS, KC_KP_ASTERISK, \
+ MO(1), KC_KP_0, KC_KP_COMMA, KC_KP_DOT, KC_RETURN, KC_QUESTION \
+ ),
+ [1] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_BRMD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_BRMU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET \
+ ),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ return true;
+}
+
+void keyboard_post_init_user(void) {
+
+}
+
+void matrix_init_user(void) {
+
+}
+
+void matrix_scan_user(void) {
+
+}
+
+void led_set_user(uint8_t usb_led) {
+
+}
diff --git a/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/readme.md b/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/readme.md
new file mode 100644
index 0000000000..0bccfdb6cf
--- /dev/null
+++ b/keyboards/converter/numeric_keypad_IIe/keymaps/newbold/readme.md
@@ -0,0 +1,28 @@
+# @newbold's layout for the Numeric Keypad IIe
+
+Includes the standard layout for all keys except for the left-most column, which is remapped to these keys:
+
+ +-----------------+
+ | Mute |
+ +-----------------+
+ | Volume Down |
+ +-----------------+
+ | Volume Up |
+ +-----------------+
+ | Function |
+ +-----------------+
+
+ With Function held down:
+
+ +-----------------+
+ | Mute |
+ +-----------------+
+ | Brightness Down |
+ +-----------------+
+ | Brightness Up |
+ +-----------------+
+ | Function |
+ +-----------------+
+
+ And also with Function held down, "Print" (the lower right key) will trigger RESET (putting the controller into bootloader mode so it can be flashed).
+ \ No newline at end of file
diff --git a/keyboards/converter/numeric_keypad_IIe/numeric_keypad_IIe.c b/keyboards/converter/numeric_keypad_IIe/numeric_keypad_IIe.c
new file mode 100644
index 0000000000..c29d85d488
--- /dev/null
+++ b/keyboards/converter/numeric_keypad_IIe/numeric_keypad_IIe.c
@@ -0,0 +1,43 @@
+/* Copyright 2019 Adam Newbold <adam@neatnik.net>
+ *
+ * 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 "numeric_keypad_IIe.h"
+
+void matrix_init_kb(void) {
+ // put your keyboard start-up code here
+ // runs once when the firmware starts up
+
+ matrix_init_user();
+}
+
+void matrix_scan_kb(void) {
+ // put your looping keyboard code here
+ // runs every cycle (a lot)
+
+ matrix_scan_user();
+}
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ // put your per-action keyboard code here
+ // runs for every action, just before processing by the firmware
+
+ return process_record_user(keycode, record);
+}
+
+void led_set_kb(uint8_t usb_led) {
+ // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
+
+ led_set_user(usb_led);
+}
diff --git a/keyboards/converter/numeric_keypad_IIe/numeric_keypad_IIe.h b/keyboards/converter/numeric_keypad_IIe/numeric_keypad_IIe.h
new file mode 100644
index 0000000000..8892b5553b
--- /dev/null
+++ b/keyboards/converter/numeric_keypad_IIe/numeric_keypad_IIe.h
@@ -0,0 +1,30 @@
+/* Copyright Adam Newbold <adam@neatnik.net>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+#include "quantum.h"
+
+#define LAYOUT( \
+ K_ESC, K_7, K_8, K_9, K_LEFT_PARENS, K_RIGHT_PARENS, \
+ K_LEFT, K_4, K_5, K_6, K_MINUS, K_DIVIDE, \
+ K_RIGHT, K_1, K_2, K_3, K_PLUS, K_MULTIPLY, \
+ K_SPACE, K_0, K_COMMA, K_DOT, K_RETURN, K_PRINT \
+){ \
+ { K_RIGHT_PARENS, K_ESC, K_4, K_5, K_6, K_7 },\
+ { K_DIVIDE, K_LEFT, K_0, K_1, K_2, K_3 },\
+ { K_PRINT, K_SPACE, K_LEFT_PARENS, K_MINUS, K_RETURN, K_COMMA },\
+ { K_MULTIPLY, K_RIGHT, K_8, K_9, K_DOT, K_PLUS },\
+}
diff --git a/keyboards/converter/numeric_keypad_IIe/readme.md b/keyboards/converter/numeric_keypad_IIe/readme.md
new file mode 100644
index 0000000000..9eba41610a
--- /dev/null
+++ b/keyboards/converter/numeric_keypad_IIe/readme.md
@@ -0,0 +1,16 @@
+# Numeric Keypad IIe
+
+![Numeric Keypad IIe](https://upload.wikimedia.org/wikipedia/commons/3/3b/Apple_Numeric_Keypad_IIe.jpg)
+
+This is a conversion project for the Numeric Keypad IIe, model A2M2003. This was an external keypad that connected to the Apple //e's motherboard (and as such, it lacked any kind of onboard controller).
+
+The reference conversion setup uses the keyboard's DB15 (VGA) fixed cable connected to a DB15 wiring terminal with breakout board ([this one](https://www.amazon.com/gp/product/B07437293Y/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1), specifically) and wired to an [Arduino Micro](https://store.arduino.cc/usa/arduino-micro).
+
+Keyboard Maintainer: [Adam Newbold](https://github.com/newbold)
+Hardware Supported: Internal Numeric Keypad IIe PCB (Apple part 820.0081.c), ATmega32U4 microcontroller
+
+Make example for this keyboard (after setting up your build environment):
+
+ make converter/numeric_keypad_IIe:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/converter/numeric_keypad_IIe/rules.mk b/keyboards/converter/numeric_keypad_IIe/rules.mk
new file mode 100644
index 0000000000..f61a7d4501
--- /dev/null
+++ b/keyboards/converter/numeric_keypad_IIe/rules.mk
@@ -0,0 +1,76 @@
+# MCU name
+MCU = atmega32u4
+
+# Processor frequency.
+# This will define a symbol, F_CPU, in all source code files equal to the
+# processor frequency in Hz. You can then use this symbol in your source code to
+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
+# automatically to create a 32-bit value in your source code.
+#
+# This will be an integer division of F_USB below, as it is sourced by
+# F_USB after it has run through any CPU prescalers. Note that this value
+# does not *change* the processor frequency - it should merely be updated to
+# reflect the processor speed set externally so that the code can use accurate
+# software delays.
+F_CPU = 16000000
+
+#
+# LUFA specific
+#
+# Target architecture (see library "Board Types" documentation).
+ARCH = AVR8
+
+# Input clock frequency.
+# This will define a symbol, F_USB, in all source code files equal to the
+# input clock frequency (before any prescaling is performed) in Hz. This value may
+# differ from F_CPU if prescaling is used on the latter, and is required as the
+# raw input clock is fed directly to the PLL sections of the AVR for high speed
+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
+# at the end, this will be done automatically to create a 32-bit value in your
+# source code.
+#
+# If no clock division is performed on the input clock inside the AVR (via the
+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
+F_USB = $(F_CPU)
+
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# atmega32a bootloadHID
+BOOTLOADER = caterina
+
+# If you don't know the bootloader type, then you can specify the
+# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
+# Teensy halfKay 512
+# Teensy++ halfKay 1024
+# Atmel DFU loader 4096
+# LUFA bootloader 4096
+# USBaspLoader 2048
+# OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
+CONSOLE_ENABLE = yes # Console for debug(+400)
+COMMAND_ENABLE = yes # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = no # Audio output on port C6
+FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
+HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
diff --git a/keyboards/converter/usb_usb/custom_matrix.cpp b/keyboards/converter/usb_usb/custom_matrix.cpp
index fba107c7cb..6f381aabf4 100644
--- a/keyboards/converter/usb_usb/custom_matrix.cpp
+++ b/keyboards/converter/usb_usb/custom_matrix.cpp
@@ -98,6 +98,7 @@ extern "C"
kbd2.SetReportParser(0, (HIDReportParser*)&kbd_parser2);
kbd3.SetReportParser(0, (HIDReportParser*)&kbd_parser3);
kbd4.SetReportParser(0, (HIDReportParser*)&kbd_parser4);
+ matrix_init_quantum();
}
static void or_report(report_keyboard_t report) {
@@ -115,6 +116,24 @@ extern "C"
}
}
+ __attribute__ ((weak))
+ void matrix_init_kb(void) {
+ matrix_init_user();
+ }
+
+ __attribute__ ((weak))
+ void matrix_init_user(void) {
+ }
+
+ __attribute__ ((weak))
+ void matrix_scan_kb(void) {
+ matrix_scan_user();
+ }
+
+ __attribute__ ((weak))
+ void matrix_scan_user(void) {
+ }
+
uint8_t matrix_scan(void) {
static uint16_t last_time_stamp1 = 0;
static uint16_t last_time_stamp2 = 0;
@@ -169,6 +188,7 @@ extern "C"
keyboard_set_leds(host_keyboard_leds());
}
}
+ matrix_scan_quantum();
return 1;
}
diff --git a/keyboards/dz60/keymaps/edulpn/README.md b/keyboards/dz60/keymaps/edulpn/README.md
new file mode 100644
index 0000000000..221be722b1
--- /dev/null
+++ b/keyboards/dz60/keymaps/edulpn/README.md
@@ -0,0 +1,10 @@
+# Edulpn Tsangan Keymap for the DZ60 PCB
+
+## Additional Notes
+Tsangan 60% Keymap for DZ60 + Fn layer.
+
+### Layout
+![Edulpn Tsangan Keymap for the DZ60](https://i.imgur.com/z7HHeH7.png)
+
+## Build
+To build the default keymap, simply run `make dz60:edulpn`.
diff --git a/keyboards/dz60/keymaps/edulpn/keymap.c b/keyboards/dz60/keymaps/edulpn/keymap.c
new file mode 100644
index 0000000000..74d7ca4f21
--- /dev/null
+++ b/keyboards/dz60/keymaps/edulpn/keymap.c
@@ -0,0 +1,18 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_60_tsangan_hhkb(
+ 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,
+ 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_RALT, KC_RGUI, KC_RCTL
+ ),
+ [1] = LAYOUT_60_tsangan_hhkb(
+ 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_TRNS, RESET,
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_DEL,
+ KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_RIGHT, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
diff --git a/keyboards/ergodash/rev2/keymaps/default/keymap.c b/keyboards/ergodash/rev2/keymaps/default/keymap.c
index 399e22f778..b709ab7e98 100644
--- a/keyboards/ergodash/rev2/keymaps/default/keymap.c
+++ b/keyboards/ergodash/rev2/keymaps/default/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MINS, KC_EQL , KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, \
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_DEL , KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_SPC , KC_ENT , KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
- KC_LCTL, KC_LGUI, KC_LALT, EISU, LOWER, KC_SPC ,_______, _______,KC_ENT , RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
+ KC_LCTL, KC_LGUI, KC_LALT, EISU, LOWER, KC_SPC ,KC_SPC, KC_SPC,KC_ENT , RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
),
/* Lower
@@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_UNDS, KC_PLUS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, \
KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL , KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_COLN, KC_DQT , \
KC_LSFT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SPC , KC_ENT , KC_N, KC_M, KC_LT, KC_GT, KC_QUES, KC_RSFT, \
- KC_LCTL, KC_LGUI, KC_LALT, EISU, LOWER, KC_SPC ,_______, _______,KC_ENT , RAISE, KC_HOME, KC_PGDN, KC_PGUP, KC_END \
+ KC_LCTL, KC_LGUI, KC_LALT, EISU, LOWER, KC_SPC ,KC_SPC, KC_SPC,KC_ENT , RAISE, KC_HOME, KC_PGDN, KC_PGUP, KC_END \
),
/* Raise
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_UNDS, KC_PLUS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, \
KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DEL , KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_COLN, KC_DQT , \
KC_LSFT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SPC , KC_ENT , KC_N, KC_M, KC_LT, KC_GT, KC_QUES, KC_RSFT, \
- KC_LCTL, KC_LGUI, KC_LALT, EISU, LOWER, KC_SPC ,_______, _______,KC_ENT , RAISE, KC_HOME, KC_PGDN, KC_PGUP, KC_END \
+ KC_LCTL, KC_LGUI, KC_LALT, EISU, LOWER, KC_SPC ,KC_SPC, KC_SPC,KC_ENT , RAISE, KC_HOME, KC_PGDN, KC_PGUP, KC_END \
),
/* Adjust
diff --git a/keyboards/hadron/ver2/keymaps/readme.md b/keyboards/hadron/ver2/keymaps/readme.md
index 54fb5f6d9e..2f7641d185 100644
--- a/keyboards/hadron/ver2/keymaps/readme.md
+++ b/keyboards/hadron/ver2/keymaps/readme.md
@@ -20,4 +20,3 @@ When adding your keymap to this list, keep it organised alphabetically (select l
# List of Planck keymaps
* **default** default Planck layout
-* **cbbrowne** cbbrowne's Planck layout \ No newline at end of file
diff --git a/keyboards/handwired/dactyl_manuform/5x6/5x6.h b/keyboards/handwired/dactyl_manuform/5x6/5x6.h
index 72045cc291..5292ca0972 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/5x6.h
+++ b/keyboards/handwired/dactyl_manuform/5x6/5x6.h
@@ -6,35 +6,33 @@
#ifdef USE_I2C
#include <stddef.h>
#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
+ #include <avr/io.h>
+ #include <avr/interrupt.h>
#endif
#endif
#define LAYOUT_5x6(\
- L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
- L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
- L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
- L42, L43, R42, R43, \
- L44, L45, R40, R41, \
- L54, L55, R50, R51, \
- L52, L53, R52, R53 \
- ) \
- { \
- { L00, L01, L02, L03, L04, L05 }, \
- { L10, L11, L12, L13, L14, L15 }, \
- { L20, L21, L22, L23, L24, L25 }, \
- { L30, L31, L32, L33, L34, L35 }, \
- { KC_NO, KC_NO, L42, L43, L44, L45 }, \
- { KC_NO, KC_NO, L52, L53, L54, L55 }, \
-\
- { R00, R01, R02, R03, R04, R05 }, \
- { R10, R11, R12, R13, R14, R15 }, \
- { R20, R21, R22, R23, R24, R25 }, \
- { R30, R31, R32, R33, R34, R35 }, \
- { R40, R41, R42, R43, KC_NO, KC_NO },\
- { R50, R51, R52, R53, KC_NO, KC_NO }, \
- }
-
-
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
+ L42, L43, R42, R43, \
+ L44, L45, R40, R41, \
+ L54, L55, R50, R51, \
+ L52, L53, R52, R53 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, L33, L34, L35 }, \
+ { KC_NO, KC_NO, L42, L43, L44, L45 }, \
+ { KC_NO, KC_NO, L52, L53, L54, L55 }, \
+ \
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { R30, R31, R32, R33, R34, R35 }, \
+ { R40, R41, R42, R43, KC_NO, KC_NO }, \
+ { R50, R51, R52, R53, KC_NO, KC_NO } \
+}
diff --git a/keyboards/handwired/dactyl_manuform/5x6/info.json b/keyboards/handwired/dactyl_manuform/5x6/info.json
index d7aa3acee3..14afc704cd 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/info.json
+++ b/keyboards/handwired/dactyl_manuform/5x6/info.json
@@ -5,7 +5,7 @@
"width": 17,
"height": 8,
"layouts": {
- "LAYOUT": {
+ "LAYOUT_5x6": {
"layout": [
{"label":"L00", "x":0, "y":0},
{"label":"L01", "x":1, "y":0},
diff --git a/keyboards/handwired/dactyl_manuform/5x7/5x7.h b/keyboards/handwired/dactyl_manuform/5x7/5x7.h
index 95fd5bb102..88b68b31e6 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/5x7.h
+++ b/keyboards/handwired/dactyl_manuform/5x7/5x7.h
@@ -6,40 +6,40 @@
#ifdef USE_I2C
#include <stddef.h>
#ifdef __AVR__
- #include <avR/io.h>
- #include <avR/inteRRupt.h>
+ #include <avR/io.h>
+ #include <avR/inteRRupt.h>
#endif
#endif
#define LAYOUT_5x7( \
- L11, L12, L13, L14, L15, L16, L17, \
- L21, L22, L23, L24, L25, L26, L27, \
- L31, L32, L33, L34, L35, L36, L37, \
- L41, L42, L43, L44, L45, L46, \
- L51, L52, L53, L54, \
- L55, L56, \
- L65, L66, \
- L63, L64, \
- R11, R12, R13, R14, R15, R16, R17, \
- R21, R22, R23, R24, R25, R26, R27, \
- R31, R32, R33, R34, R35, R36, R37, \
- R42, R43, R44, R45, R46, R47, \
- R54, R55, R56, R57, \
- R52, R53, \
- R62, R63, \
- R64, R65 \
- ) \
- { \
- { L11, L12, L13, L14, L15, L16, L17 }, \
- { L21, L22, L23, L24, L25, L26, L27 }, \
- { L31, L32, L33, L34, L35, L36, L37 }, \
- { L41, L42, L43, L44, L45, L46, KC_NO }, \
- { L51, L52, L53, L54, L55, L56, KC_NO }, \
- { KC_NO, KC_NO, L63, L64, L65, L66, KC_NO }, \
- { R11, R12, R13, R14, R15, R16, R17 }, \
- { R21, R22, R23, R24, R25, R26, R27 }, \
- { R31, R32, R33, R34, R35, R36, R37 }, \
- { KC_NO, R42, R43, R44, R45, R46, R47 }, \
- { KC_NO, R52, R53, R54, R55, R56, R57 }, \
- { KC_NO, R62, R63, R64, R65, KC_NO, KC_NO } \
- }
+ L11, L12, L13, L14, L15, L16, L17, \
+ L21, L22, L23, L24, L25, L26, L27, \
+ L31, L32, L33, L34, L35, L36, L37, \
+ L41, L42, L43, L44, L45, L46, \
+ L51, L52, L53, L54, \
+ L55, L56, \
+ L65, L66, \
+ L63, L64, \
+ R11, R12, R13, R14, R15, R16, R17, \
+ R21, R22, R23, R24, R25, R26, R27, \
+ R31, R32, R33, R34, R35, R36, R37, \
+ R42, R43, R44, R45, R46, R47, \
+ R54, R55, R56, R57, \
+ R52, R53, \
+ R62, R63, \
+ R64, R65 \
+ ) \
+ { \
+ { L11, L12, L13, L14, L15, L16, L17 }, \
+ { L21, L22, L23, L24, L25, L26, L27 }, \
+ { L31, L32, L33, L34, L35, L36, L37 }, \
+ { L41, L42, L43, L44, L45, L46, KC_NO }, \
+ { L51, L52, L53, L54, L55, L56, KC_NO }, \
+ { KC_NO, KC_NO, L63, L64, L65, L66, KC_NO }, \
+ { R11, R12, R13, R14, R15, R16, R17 }, \
+ { R21, R22, R23, R24, R25, R26, R27 }, \
+ { R31, R32, R33, R34, R35, R36, R37 }, \
+ { KC_NO, R42, R43, R44, R45, R46, R47 }, \
+ { KC_NO, R52, R53, R54, R55, R56, R57 }, \
+ { KC_NO, R62, R63, R64, R65, KC_NO, KC_NO } \
+}
diff --git a/keyboards/handwired/dactyl_manuform/5x7/info.json b/keyboards/handwired/dactyl_manuform/5x7/info.json
index b4b2c7b797..33ba1b0e79 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/info.json
+++ b/keyboards/handwired/dactyl_manuform/5x7/info.json
@@ -3,9 +3,9 @@
"url": "",
"maintainer": "qmk",
"width": 17,
- "height": 16,
+ "height": 8,
"layouts": {
- "LAYOUT": {
+ "LAYOUT_5x7": {
"layout": [
{"label":"L11", "x":0, "y":0},
{"label":"L12", "x":1, "y":0},
diff --git a/keyboards/handwired/dactyl_manuform/6x6/6x6.h b/keyboards/handwired/dactyl_manuform/6x6/6x6.h
index c2980b3d31..039e6b40df 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/6x6.h
+++ b/keyboards/handwired/dactyl_manuform/6x6/6x6.h
@@ -7,38 +7,36 @@
#ifdef USE_I2C
#include <stddef.h>
#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
+ #include <avr/io.h>
+ #include <avr/interrupt.h>
#endif
#endif
#define LAYOUT_6x6(\
- L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
- L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
- L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
- L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45, \
- L52, L53, R52, R53, \
- L54, L55, R50, R51, \
- L64, L65, R60, R61, \
- L62, L63, R62, R63 \
- ) \
- { \
- { L00, L01, L02, L03, L04, L05 }, \
- { L10, L11, L12, L13, L14, L15 }, \
- { L20, L21, L22, L23, L24, L25 }, \
- { L30, L31, L32, L33, L34, L35 }, \
- { L40, L41, L42, L43, L44, L45 }, \
- { KC_NO, KC_NO, L52, L53, L54, L55 }, \
- { KC_NO, KC_NO, L62, L63, L64, L65 }, \
-\
- { R00, R01, R02, R03, R04, R05 }, \
- { R10, R11, R12, R13, R14, R15 }, \
- { R20, R21, R22, R23, R24, R25 }, \
- { R30, R31, R32, R33, R34, R35 }, \
- { R40, R41, R42, R43, R44, R45 }, \
- { R50, R51, R52, R53, KC_NO, KC_NO },\
- { R60, R61, R62, R63, KC_NO, KC_NO }, \
- }
-
-
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
+ L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45, \
+ L52, L53, R52, R53, \
+ L54, L55, R50, R51, \
+ L64, L65, R60, R61, \
+ L62, L63, R62, R63 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, L33, L34, L35 }, \
+ { L40, L41, L42, L43, L44, L45 }, \
+ { KC_NO, KC_NO, L52, L53, L54, L55 }, \
+ { KC_NO, KC_NO, L62, L63, L64, L65 }, \
+ \
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { R30, R31, R32, R33, R34, R35 }, \
+ { R40, R41, R42, R43, R44, R45 }, \
+ { R50, R51, R52, R53, KC_NO, KC_NO }, \
+ { R60, R61, R62, R63, KC_NO, KC_NO } \
+}
diff --git a/keyboards/handwired/dactyl_manuform/6x6/info.json b/keyboards/handwired/dactyl_manuform/6x6/info.json
index 2ae91d4694..e617b39a82 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/info.json
+++ b/keyboards/handwired/dactyl_manuform/6x6/info.json
@@ -5,7 +5,7 @@
"width": 17,
"height": 9,
"layouts": {
- "LAYOUT": {
+ "LAYOUT_6x6": {
"layout": [
{"label":"L00", "x":0, "y":0},
{"label":"L01", "x":1, "y":0},
diff --git a/keyboards/handwired/terminus_mini/info.json b/keyboards/handwired/terminus_mini/info.json
new file mode 100644
index 0000000000..9271b413eb
--- /dev/null
+++ b/keyboards/handwired/terminus_mini/info.json
@@ -0,0 +1,59 @@
+{
+ "keyboard_name": "handwired/terminus_mini",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 12,
+ "height": 4,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Tab", "x":0, "y":0},
+ {"label":"Q", "x":1, "y":0},
+ {"label":"W", "x":2, "y":0},
+ {"label":"E", "x":3, "y":0},
+ {"label":"R", "x":4, "y":0},
+ {"label":"T", "x":5, "y":0},
+ {"label":"Y", "x":6, "y":0},
+ {"label":"U", "x":7, "y":0},
+ {"label":"I", "x":8, "y":0},
+ {"label":"O", "x":9, "y":0},
+ {"label":"P", "x":10, "y":0},
+ {"label":"Del", "x":11, "y":0},
+ {"label":"Backspace", "x":0, "y":1},
+ {"label":"A", "x":1, "y":1},
+ {"label":"S", "x":2, "y":1},
+ {"label":"D", "x":3, "y":1},
+ {"label":"F", "x":4, "y":1},
+ {"label":"G", "x":5, "y":1},
+ {"label":"H", "x":6, "y":1},
+ {"label":"J", "x":7, "y":1},
+ {"label":"K", "x":8, "y":1},
+ {"label":"L", "x":9, "y":1},
+ {"label":";", "x":10, "y":1},
+ {"label":"'", "x":11, "y":1},
+ {"label":"Left Shift / (", "x":0, "y":2},
+ {"label":"Z", "x":1, "y":2},
+ {"label":"X", "x":2, "y":2},
+ {"label":"C", "x":3, "y":2},
+ {"label":"V", "x":4, "y":2},
+ {"label":"B", "x":5, "y":2},
+ {"label":"N", "x":6, "y":2},
+ {"label":"M", "x":7, "y":2},
+ {"label":",", "x":8, "y":2},
+ {"label":".", "x":9, "y":2},
+ {"label":"/", "x":10, "y":2},
+ {"label":"Right Shift / )", "x":11, "y":2},
+ {"label":"LCtrl", "x":0, "y":3},
+ {"label":"GUI", "x":1, "y":3},
+ {"label":"Lower", "x":2, "y":3},
+ {"label":"LAlt", "x":3, "y":3},
+ {"label":"Space / Lower", "x":4, "y":3, "w":2},
+ {"label":"Enter / Raise", "x":6, "y":3, "w":2},
+ {"label":"MO(_FUNCTION)", "x":8, "y":3},
+ {"label":"MO(_MOUSE)", "x":9, "y":3},
+ {"label":"App", "x":10, "y":3},
+ {"label":"RCtrl", "x":11, "y":3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
index 8d9cc1b008..276475873a 100644
--- a/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
+++ b/keyboards/handwired/terminus_mini/keymaps/default/keymap.c
@@ -13,12 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "terminus_mini.h"
-#include "action_layer.h"
-#ifdef AUDIO_ENABLE
- #include "audio.h"
-#endif
-#include "eeconfig.h"
+#include QMK_KEYBOARD_H
extern keymap_config_t keymap_config;
@@ -45,20 +40,14 @@ enum terminus_mini_keycodes {
LOWER,
RAISE,
FUNCTION,
- MOUSE
-};
-
-enum custom_macros {
+ MOUSE,
+ // Custom Macros
R_PIPE,
R_POINT
};
#define SPC_LW LT(_LOWER, KC_SPC)
#define ENT_RS LT(_RAISE, KC_ENT)
-#define FNC MO(_FUNCTION)
-#define MSE MO(_MOUSE)
-#define PIPE M(R_PIPE)
-#define POINT M(R_POINT)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Colemak -
@@ -73,10 +62,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `----------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL , \
- KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \
- KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, \
- KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, ENT_RS, FNC, MSE, KC_APP, KC_RCTL \
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, \
+ KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, \
+ KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, \
+ KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, ENT_RS, MO(5), MO(6), KC_APP, KC_RCTL \
),
/* QWERTY -
@@ -91,10 +80,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL , \
- KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
- KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, \
- KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, ENT_RS, FNC, MSE, KC_APP, KC_RCTL \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, \
+ KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
+ KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, \
+ KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, ENT_RS, MO(5), MO(6), KC_APP, KC_RCTL \
),
/* Dvorak
@@ -109,10 +98,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_DVORAK] = LAYOUT(
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL, \
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL, \
KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, \
KC_LSPO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSPC, \
- KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, ENT_RS, FNC, MSE, KC_APP, KC_RCTL \
+ KC_LCTL, KC_LGUI, LOWER, KC_LALT, SPC_LW, ENT_RS, MO(5), MO(6), KC_APP, KC_RCTL \
),
/* Lower
@@ -129,10 +118,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_LOWER] = LAYOUT(
- KC_TAB, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_PSLS, KC_7, KC_8, KC_9, KC_PAST, XXXXXXX, _______, \
- _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_MINS, KC_4, KC_5, KC_6, KC_PPLS, XXXXXXX, _______, \
- _______, _______, _______, _______, _______, KC_EQL, KC_1, KC_2, KC_3, KC_PENT, XXXXXXX, _______, \
- _______, _______, _______, _______, _______, KC_0, KC_DOT, FNC, RAISE, _______ \
+ KC_TAB, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_PSLS, KC_7, KC_8, KC_9, KC_PAST, XXXXXXX, _______, \
+ _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_MINS, KC_4, KC_5, KC_6, KC_PPLS, XXXXXXX, _______, \
+ _______, _______, _______, _______, _______, KC_EQL, KC_1, KC_2, KC_3, KC_PENT, XXXXXXX, _______, \
+ _______, _______, _______, _______, _______, KC_0, KC_DOT, MO(5), RAISE, _______ \
),
/* Raise
@@ -148,10 +137,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_RAISE] = LAYOUT(
- KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_EQL, _______, \
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
- _______, POINT, PIPE, KC_LCBR, KC_LBRC, KC_GRV, KC_BSLS, KC_RBRC, KC_RCBR, KC_DOT, KC_SLSH, _______, \
- _______, _______, XXXXXXX, _______, SPC_LW, ENT_RS, FNC, MSE, _______, _______ \
+ KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_MINS, KC_EQL, _______, \
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
+ _______, R_POINT, R_PIPE, KC_LCBR, KC_LBRC, KC_GRV, KC_BSLS, KC_RBRC, KC_RCBR, KC_DOT, KC_SLSH, _______, \
+ _______, _______, XXXXXXX, _______, SPC_LW, ENT_RS, MO(5), MO(6), _______, _______ \
),
/*Function
@@ -166,11 +155,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
-[_FUNCTION] = LAYOUT(
- _______, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_INS , \
- KC_CAPS, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_PSCR, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, KC_SLCK, \
- _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, XXXXXXX, KC_PAUS \
+[_FUNCTION] = LAYOUT(
+ _______, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_INS, \
+ KC_CAPS, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_PSCR, \
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, KC_SLCK, \
+ _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, XXXXXXX, KC_PAUS \
),
/* MOUSE
@@ -186,10 +175,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_MOUSE] = LAYOUT(
- KC_ESC, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, XXXXXXX, KC_BTN3, KC_BTN4, KC_BTN5, XXXXXXX, XXXXXXX, \
- KC_BSPC, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSPC, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_ACL2, KC_ACL0, XXXXXXX, MSE, XXXXXXX, KC_RCTL \
+ KC_ESC, KC_WH_U, KC_WH_L, KC_MS_U, KC_WH_R, XXXXXXX, XXXXXXX, KC_BTN3, KC_BTN4, KC_BTN5, XXXXXXX, XXXXXXX, \
+ KC_BSPC, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, \
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSPC, \
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_ACL2, KC_ACL0, XXXXXXX, MO(6), XXXXXXX, KC_RCTL \
),
/* Adjust (Lower + Raise)
@@ -205,10 +194,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, RESET, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL, \
- _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
+ _______, _______, _______, _______, _______, RESET, _______, TERM_ON, TERM_OFF, _______, _______, KC_DEL, \
+ _______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
)
};
@@ -218,27 +207,6 @@ void persistant_default_layer_set(uint16_t default_layer) {
default_layer_set(default_layer);
}
-// Macros to send R pointer & dplyr pipe
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
- switch(id) {
- //R Pointer: <-
- case R_POINT:
- if (record->event.pressed) { // pointer
- SEND_STRING("<- ");
-// return MACRO(D(LSFT), T(COMM), U(LSFT), T(MINS), END);
- }
- break;
- //dplyr pipe: %>%
- case R_PIPE:
- if (record->event.pressed) { // dplyr pipe
- SEND_STRING("%>% ");
-// return MACRO(D(LSFT), T(5), T(DOT), T(5), U(LSFT), END);
- }
- break;
- }
- return MACRO_NONE;
-}
-
// Cases to switch default layer to QWERTY, COLEMAK or DVORAK and to access ADJUST layer
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
@@ -253,13 +221,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
set_single_persistent_default_layer(_COLEMAK);
}
return false;
- break;
+ break;
case DVORAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_DVORAK);
}
return false;
- break;
+ break;
case LOWER:
if (record->event.pressed) {
layer_on(_LOWER);
@@ -280,6 +248,21 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
break;
+ // Macros to send R pointer & dplyr pipe
+ //R Pointer: <-
+ case R_POINT:
+ if (record->event.pressed) { // pointer
+ SEND_STRING("<- ");
+ //return MACRO(D(LSFT), T(COMM), U(LSFT), T(MINS), END);
+ }
+ break;
+ //dplyr pipe: %>%
+ case R_PIPE:
+ if (record->event.pressed) { // dplyr pipe
+ SEND_STRING("%>% ");
+ //return MACRO(D(LSFT), T(5), T(DOT), T(5), U(LSFT), END);
+ }
+ break;
}
return true;
}
diff --git a/keyboards/handwired/terminus_mini/readme.md b/keyboards/handwired/terminus_mini/readme.md
index 5f0271bb40..a5fc8eee61 100644
--- a/keyboards/handwired/terminus_mini/readme.md
+++ b/keyboards/handwired/terminus_mini/readme.md
@@ -1,13 +1,12 @@
# terminus_mini handwired
-Custom handwired keyboard.
+Custom handwired keyboard inspired by the UniKeyboard Terminus Mini 2.
Keyboard Maintainer: [James Morgan](https://github.com/mogranjm)
-Hardware Supported: Custom handwired keyboard
-Hardware Availability:
+Hardware Supported: Custom handwired keyboard
Make example for this keyboard (after setting up your build environment):
make handwired/terminus_mini:default
-See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. \ No newline at end of file
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/handwired/terminus_mini/terminus_mini.h b/keyboards/handwired/terminus_mini/terminus_mini.h
index 846c98e2c0..27fb450981 100644
--- a/keyboards/handwired/terminus_mini/terminus_mini.h
+++ b/keyboards/handwired/terminus_mini/terminus_mini.h
@@ -23,16 +23,16 @@
// The first section contains all of the arguments
// The second converts the arguments into a two-dimensional array
#define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
- k30, k31, k32, k33, k35, k37, k38, k39, k3a, k3b \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
+ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
+ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
+ k30, k31, k32, k33, k35, k37, k38, k39, k3a, k3b \
) \
{ \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
- { k30, k31, k32, k33, KC_NO, k35, KC_NO, k37, k38, k39, k3a, k3b } \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
+ { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
+ { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
+ { k30, k31, k32, k33, KC_NO, k35, KC_NO, k37, k38, k39, k3a, k3b } \
}
#define KC_ KC_TRNS
diff --git a/keyboards/hecomi/alpha/info.json b/keyboards/hecomi/alpha/info.json
index 12472acbf1..49c8d4c467 100644
--- a/keyboards/hecomi/alpha/info.json
+++ b/keyboards/hecomi/alpha/info.json
@@ -1,12 +1,364 @@
{
- "keyboard_name": "hecomi/alpha",
- "url": "https://skyhigh-works.hatenablog.com/entry/2019/02/25/221959",
- "maintainer": "takashiski",
- "width": 19.25,
- "height": 6.5,
- "layouts": {
- "LAYOUT": {
- "layout": [{"label":"Esc", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":11.25, "y":1.5}, {"label":"*", "x":12.25, "y":1.5}, {"label":"(", "x":13.25, "y":1.5}, {"label":")", "x":14.25, "y":1.5}, {"label":"_", "x":15.25, "y":1.5}, {"label":"+", "x":16.25, "y":1.5}, {"label":"|", "x":17.25, "y":1.5}, {"label":"~", "x":18.25, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"Y", "x":10.75, "y":2.5}, {"label":"U", "x":11.75, "y":2.5}, {"label":"I", "x":12.75, "y":2.5}, {"label":"O", "x":13.75, "y":2.5}, {"label":"P", "x":14.75, "y":2.5}, {"label":"{", "x":15.75, "y":2.5}, {"label":"}", "x":16.75, "y":2.5}, {"label":"Delete", "x":17.75, "y":2.5, "w":1.5}, {"label":"Control", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":11, "y":3.5}, {"label":"J", "x":12, "y":3.5}, {"label":"K", "x":13, "y":3.5}, {"label":"L", "x":14, "y":3.5}, {"label":":", "x":15, "y":3.5}, {"label":"\"", "x":16, "y":3.5}, {"label":"Return", "x":17, "y":3.5, "w":2.25}, {"label":"Shift", "x":0, "y":4.5, "w":2.25}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"B", "x":10.5, "y":4.5}, {"label":"N", "x":11.5, "y":4.5}, {"label":"M", "x":12.5, "y":4.5}, {"label":"<", "x":13.5, "y":4.5}, {"label":">", "x":14.5, "y":4.5}, {"label":"?", "x":15.5, "y":4.5}, {"label":"Shift", "x":16.5, "y":4.5, "w":1.75}, {"label":"Fn", "x":18.25, "y":4.5}, {"label":"", "x":1.55, "y":5.5}, {"label":"\u25c7", "x":2.55, "y":5.5, "w":1.5}, {"x":4.05, "y":5.5, "w":1.5}, {"x":5.55, "y":5.5, "w":1.5}, {"x":11.3, "y":5.5, "w":1.5}, {"x":12.8, "y":5.5, "w":1.5}, {"label":"\u25c7", "x":14.3, "y":5.5, "w":1.5}, {"label":"", "x":15.8, "y":5.5}]
+ "keyboard_name": "hecomi/alpha",
+ "url": "https://skyhigh-works.hatenablog.com/entry/2019/02/25/221959",
+ "maintainer": "takashiski",
+ "width": 16.25,
+ "height": 5,
+ "key_count": 69,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {
+ "label": "Esc",
+ "x": 0,
+ "y": 0
+ },
+ {
+ "label": "!",
+ "x": 1,
+ "y": 0
+ },
+ {
+ "label": "@",
+ "x": 2,
+ "y": 0
+ },
+ {
+ "label": "#",
+ "x": 3,
+ "y": 0
+ },
+ {
+ "label": "$",
+ "x": 4,
+ "y": 0
+ },
+ {
+ "label": "%",
+ "x": 5,
+ "y": 0
+ },
+ {
+ "label": "^",
+ "x": 6,
+ "y": 0
+ },
+ {
+ "label": "&",
+ "x": 8.25,
+ "y": 0
+ },
+ {
+ "label": "*",
+ "x": 9.25,
+ "y": 0
+ },
+ {
+ "label": "(",
+ "x": 10.25,
+ "y": 0
+ },
+ {
+ "label": ")",
+ "x": 11.25,
+ "y": 0
+ },
+ {
+ "label": "_",
+ "x": 12.25,
+ "y": 0
+ },
+ {
+ "label": "+",
+ "x": 13.25,
+ "y": 0
+ },
+ {
+ "label": "|",
+ "x": 14.25,
+ "y": 0
+ },
+ {
+ "label": "~",
+ "x": 15.25,
+ "y": 0
+ },
+ {
+ "label": "Tab",
+ "x": 0,
+ "y": 1,
+ "w": 1.5
+ },
+ {
+ "label": "Q",
+ "x": 1.5,
+ "y": 1
+ },
+ {
+ "label": "W",
+ "x": 2.5,
+ "y": 1
+ },
+ {
+ "label": "E",
+ "x": 3.5,
+ "y": 1
+ },
+ {
+ "label": "R",
+ "x": 4.5,
+ "y": 1
+ },
+ {
+ "label": "T",
+ "x": 5.5,
+ "y": 1
+ },
+ {
+ "label": "Y",
+ "x": 6.5,
+ "y": 1
+ },
+ {
+ "label": "Y",
+ "x": 7.75,
+ "y": 1
+ },
+ {
+ "label": "U",
+ "x": 8.75,
+ "y": 1
+ },
+ {
+ "label": "I",
+ "x": 9.75,
+ "y": 1
+ },
+ {
+ "label": "O",
+ "x": 10.75,
+ "y": 1
+ },
+ {
+ "label": "P",
+ "x": 11.75,
+ "y": 1
+ },
+ {
+ "label": "{",
+ "x": 12.75,
+ "y": 1
+ },
+ {
+ "label": "}",
+ "x": 13.75,
+ "y": 1
+ },
+ {
+ "label": "Delete",
+ "x": 14.75,
+ "y": 1,
+ "w": 1.5
+ },
+ {
+ "label": "Control",
+ "x": 0,
+ "y": 2,
+ "w": 1.75
+ },
+ {
+ "label": "A",
+ "x": 1.75,
+ "y": 2
+ },
+ {
+ "label": "S",
+ "x": 2.75,
+ "y": 2
+ },
+ {
+ "label": "D",
+ "x": 3.75,
+ "y": 2
+ },
+ {
+ "label": "F",
+ "x": 4.75,
+ "y": 2
+ },
+ {
+ "label": "G",
+ "x": 5.75,
+ "y": 2
+ },
+ {
+ "label": "H",
+ "x": 8,
+ "y": 2
+ },
+ {
+ "label": "J",
+ "x": 9,
+ "y": 2
+ },
+ {
+ "label": "K",
+ "x": 10,
+ "y": 2
+ },
+ {
+ "label": "L",
+ "x": 11,
+ "y": 2
+ },
+ {
+ "label": ":",
+ "x": 12,
+ "y": 2
+ },
+ {
+ "label": "\"",
+ "x": 13,
+ "y": 2
+ },
+ {
+ "label": "Return",
+ "x": 14,
+ "y": 2,
+ "w": 2.25
+ },
+ {
+ "label": "Shift",
+ "x": 0,
+ "y": 3,
+ "w": 2.25
+ },
+ {
+ "label": "Z",
+ "x": 2.25,
+ "y": 3
+ },
+ {
+ "label": "X",
+ "x": 3.25,
+ "y": 3
+ },
+ {
+ "label": "C",
+ "x": 4.25,
+ "y": 3
+ },
+ {
+ "label": "V",
+ "x": 5.25,
+ "y": 3
+ },
+ {
+ "label": "B",
+ "x": 6.25,
+ "y": 3
+ },
+ {
+ "label": "B",
+ "x": 7.5,
+ "y": 3
+ },
+ {
+ "label": "N",
+ "x": 8.5,
+ "y": 3
+ },
+ {
+ "label": "M",
+ "x": 9.5,
+ "y": 3
+ },
+ {
+ "label": "<",
+ "x": 10.5,
+ "y": 3
+ },
+ {
+ "label": ">",
+ "x": 11.5,
+ "y": 3
+ },
+ {
+ "label": "?",
+ "x": 12.5,
+ "y": 3
+ },
+ {
+ "label": "Shift",
+ "x": 13.5,
+ "y": 3,
+ "w": 1.75
+ },
+ {
+ "label": "Fn",
+ "x": 15.25,
+ "y": 3
+ },
+ {
+ "x": 0,
+ "y": 4,
+ "w": 1.5
+ },
+ {
+ "label": "",
+ "x": 1.5,
+ "y": 4
+ },
+ {
+ "label": "GUI",
+ "x": 2.5,
+ "y": 4
+ },
+ {
+ "label": "無変æ›",
+ "x": 3.5,
+ "y": 4
+ },
+ {
+ "label": "tab",
+ "x": 4.5,
+ "y": 4
+ },
+ {
+ "x": 5.5,
+ "y": 4
+ },
+ {
+ "label": "Enter",
+ "x": 7.75,
+ "y": 4
+ },
+ {
+ "label": "BS",
+ "x": 8.75,
+ "y": 4
+ },
+ {
+ "label": "変æ›",
+ "x": 9.75,
+ "y": 4
+ },
+ {
+ "label": "GUI",
+ "x": 10.75,
+ "y": 4
+ },
+ {
+ "label": "Menu",
+ "x": 11.75,
+ "y": 4
+ },
+ {
+ "label": "",
+ "x": 12.75,
+ "y": 4
}
+ ]
}
+ }
}
diff --git a/keyboards/hs60/v2/keymaps/ansi/readme.md b/keyboards/hs60/v2/keymaps/ansi/readme.md
index 650871a5e6..3afd8afb33 100644
--- a/keyboards/hs60/v2/keymaps/ansi/readme.md
+++ b/keyboards/hs60/v2/keymaps/ansi/readme.md
@@ -1,6 +1,6 @@
-The default keymap for ANSI HS60 V2
-===================================
+The default keymap for ANSI HS60 V2. VIA support disabled.
+==========================================================
![Layout image](https://i.imgur.com/m8t5CfE.png)
-Default layer is normal ANSI and Fn layer is used for RGB functions, Volume control and arrow cluster \ No newline at end of file
+Default layer is normal ANSI and Fn layer is used for RGB functions, Volume control and arrow cluster. \ No newline at end of file
diff --git a/keyboards/hs60/v2/keymaps/ansi_via/config.h b/keyboards/hs60/v2/keymaps/ansi_via/config.h
new file mode 100644
index 0000000000..96adaf5688
--- /dev/null
+++ b/keyboards/hs60/v2/keymaps/ansi_via/config.h
@@ -0,0 +1,23 @@
+/*
+Copyright 2018 Yiancar
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#pragma once
+
+/* Include overwrites for specific keymap */
+
+#define HS60_ANSI
+#undef PRODUCT_ID
+#define PRODUCT_ID 0x4854
diff --git a/keyboards/hs60/v2/keymaps/ansi_via/keymap.c b/keyboards/hs60/v2/keymaps/ansi_via/keymap.c
new file mode 100644
index 0000000000..ba649470b4
--- /dev/null
+++ b/keyboards/hs60/v2/keymaps/ansi_via/keymap.c
@@ -0,0 +1,60 @@
+/* Copyright 2018 Yiancar
+ *
+ * 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
+
+//This is the ANSI version of the PCB
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_60_ansi( /* Base */
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,\
+ KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1) , KC_APP, KC_RCTL),
+
+[1] = LAYOUT_60_ansi( /* FN */
+ 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_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS,\
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS,\
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+[2] = LAYOUT_60_ansi( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+[3] = LAYOUT_60_ansi( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+};
+
+void matrix_init_user(void) {
+ //user initialization
+}
+
+void matrix_scan_user(void) {
+ //user matrix
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ return true;
+} \ No newline at end of file
diff --git a/keyboards/hs60/v2/keymaps/ansi_via/readme.md b/keyboards/hs60/v2/keymaps/ansi_via/readme.md
new file mode 100644
index 0000000000..a462da6619
--- /dev/null
+++ b/keyboards/hs60/v2/keymaps/ansi_via/readme.md
@@ -0,0 +1,6 @@
+The default keymap for ANSI HS60 V2. VIA support enabled.
+=========================================================
+
+![Layout image](https://i.imgur.com/m8t5CfE.png)
+
+Default layer is normal ANSI and Fn layer is used for RGB functions, Volume control and arrow cluster \ No newline at end of file
diff --git a/keyboards/hs60/v2/keymaps/ansi_via/rules.mk b/keyboards/hs60/v2/keymaps/ansi_via/rules.mk
new file mode 100644
index 0000000000..a2850a8305
--- /dev/null
+++ b/keyboards/hs60/v2/keymaps/ansi_via/rules.mk
@@ -0,0 +1,66 @@
+# project specific files
+SRC = keyboards/zeal60/zeal60.c \
+ keyboards/zeal60/rgb_backlight.c \
+ drivers/issi/is31fl3733.c \
+ quantum/color.c \
+ drivers/arm/i2c_master.c
+
+## chip/board settings
+# the next two should match the directories in
+# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
+MCU_FAMILY = STM32
+MCU_SERIES = STM32F3xx
+
+# Linker script to use
+# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
+# or <this_dir>/ld/
+MCU_LDSCRIPT = STM32F303xC
+
+# Startup code to use
+# - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
+MCU_STARTUP = stm32f3xx
+
+# Board: it should exist either in <chibios>/os/hal/boards/
+# or <this_dir>/boards
+BOARD = GENERIC_STM32_F303XC
+
+# Cortex version
+MCU = cortex-m4
+
+# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
+ARMV = 7
+
+USE_FPU = yes
+
+# Vector table for application
+# 0x00000000-0x00001000 area is occupied by bootlaoder.*/
+# The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
+# OPT_DEFS = -DCORTEX_VTOR_INIT=0x08005000
+OPT_DEFS =
+
+# Do not put the microcontroller into power saving mode
+# when we get USB suspend event. We want it to keep updating
+# backlight effects.
+OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
+
+# Options to pass to dfu-util when flashing
+DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
+
+# Build Options
+# comment out to disable the options.
+#
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover
+AUDIO_ENABLE = no # Audio output on port C6
+NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
+#SERIAL_LINK_ENABLE = yes
+
+RAW_ENABLE = yes
+DYNAMIC_KEYMAP_ENABLE = yes
+CIE1931_CURVE = yes
diff --git a/keyboards/hs60/v2/keymaps/default/readme.md b/keyboards/hs60/v2/keymaps/default/readme.md
index f0b29900e6..9aa0a3a2b5 100644
--- a/keyboards/hs60/v2/keymaps/default/readme.md
+++ b/keyboards/hs60/v2/keymaps/default/readme.md
@@ -1,5 +1,5 @@
-The default keymap for ISO HS60 V2
-==================================
+The default keymap for ISO HS60 V2. VIA support disabled.
+=========================================================
![Layout image](https://imgur.com/6go4vQV.png)
diff --git a/keyboards/hs60/v2/keymaps/default_via/keymap.c b/keyboards/hs60/v2/keymaps/default_via/keymap.c
new file mode 100644
index 0000000000..c1e575769f
--- /dev/null
+++ b/keyboards/hs60/v2/keymaps/default_via/keymap.c
@@ -0,0 +1,60 @@
+/* Copyright 2018 Yiancar
+ *
+ * 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
+
+//This is the ISO version of the PCB
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_60_iso( /* Base */
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,\
+ KC_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,\
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1) , KC_APP, KC_RCTL),
+
+[1] = LAYOUT_60_iso( /* FN */
+ 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_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET , \
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_TRNS,\
+ KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+[2] = LAYOUT_60_iso( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+[3] = LAYOUT_60_iso( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+};
+
+void matrix_init_user(void) {
+ //user initialization
+}
+
+void matrix_scan_user(void) {
+ //user matrix
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ return true;
+} \ No newline at end of file
diff --git a/keyboards/hs60/v2/keymaps/default_via/readme.md b/keyboards/hs60/v2/keymaps/default_via/readme.md
new file mode 100644
index 0000000000..2a440f708c
--- /dev/null
+++ b/keyboards/hs60/v2/keymaps/default_via/readme.md
@@ -0,0 +1,6 @@
+The default keymap for ISO HS60 V2. VIA support enabled.
+========================================================
+
+![Layout image](https://imgur.com/6go4vQV.png)
+
+Default layer is normal ISO and Fn layer is used for RGB functions, Volume control and arrow cluster \ No newline at end of file
diff --git a/keyboards/hs60/v2/keymaps/default_via/rules.mk b/keyboards/hs60/v2/keymaps/default_via/rules.mk
new file mode 100644
index 0000000000..a2850a8305
--- /dev/null
+++ b/keyboards/hs60/v2/keymaps/default_via/rules.mk
@@ -0,0 +1,66 @@
+# project specific files
+SRC = keyboards/zeal60/zeal60.c \
+ keyboards/zeal60/rgb_backlight.c \
+ drivers/issi/is31fl3733.c \
+ quantum/color.c \
+ drivers/arm/i2c_master.c
+
+## chip/board settings
+# the next two should match the directories in
+# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
+MCU_FAMILY = STM32
+MCU_SERIES = STM32F3xx
+
+# Linker script to use
+# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
+# or <this_dir>/ld/
+MCU_LDSCRIPT = STM32F303xC
+
+# Startup code to use
+# - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
+MCU_STARTUP = stm32f3xx
+
+# Board: it should exist either in <chibios>/os/hal/boards/
+# or <this_dir>/boards
+BOARD = GENERIC_STM32_F303XC
+
+# Cortex version
+MCU = cortex-m4
+
+# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
+ARMV = 7
+
+USE_FPU = yes
+
+# Vector table for application
+# 0x00000000-0x00001000 area is occupied by bootlaoder.*/
+# The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
+# OPT_DEFS = -DCORTEX_VTOR_INIT=0x08005000
+OPT_DEFS =
+
+# Do not put the microcontroller into power saving mode
+# when we get USB suspend event. We want it to keep updating
+# backlight effects.
+OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
+
+# Options to pass to dfu-util when flashing
+DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
+
+# Build Options
+# comment out to disable the options.
+#
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover
+AUDIO_ENABLE = no # Audio output on port C6
+NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
+#SERIAL_LINK_ENABLE = yes
+
+RAW_ENABLE = yes
+DYNAMIC_KEYMAP_ENABLE = yes
+CIE1931_CURVE = yes
diff --git a/keyboards/hs60/v2/keymaps/hhkb/readme.md b/keyboards/hs60/v2/keymaps/hhkb/readme.md
index 69b812c607..5259a584d2 100644
--- a/keyboards/hs60/v2/keymaps/hhkb/readme.md
+++ b/keyboards/hs60/v2/keymaps/hhkb/readme.md
@@ -1,5 +1,5 @@
-The default keymap for HHKB HS60 V2
-===================================
+The default keymap for HHKB HS60 V2. VIA support disabled.
+==========================================================
![Layout image](https://imgur.com/usbrQWL.png)
diff --git a/keyboards/hs60/v2/keymaps/hhkb_via/config.h b/keyboards/hs60/v2/keymaps/hhkb_via/config.h
new file mode 100644
index 0000000000..fc1b6d8f47
--- /dev/null
+++ b/keyboards/hs60/v2/keymaps/hhkb_via/config.h
@@ -0,0 +1,34 @@
+/*
+Copyright 2018 Yiancar
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+#pragma once
+
+/* Include overwrites for specific keymap */
+
+#define HS60_HHKB
+#undef PRODUCT_ID
+#define PRODUCT_ID 0x4855
+
+#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_0
+#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_1
+#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_2
+#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_3
+#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_4
+#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0000000000000001
+#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0000000000000001
+#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0011000000000001
+#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0011000000000001
+#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b0011100000000111
diff --git a/keyboards/hs60/v2/keymaps/hhkb_via/keymap.c b/keyboards/hs60/v2/keymaps/hhkb_via/keymap.c
new file mode 100644
index 0000000000..9641eedb49
--- /dev/null
+++ b/keyboards/hs60/v2/keymaps/hhkb_via/keymap.c
@@ -0,0 +1,60 @@
+/* Copyright 2018 Yiancar
+ *
+ * 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
+
+//This is the HHKB version of the PCB
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_60_hhkb( /* 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_GRV, KC_BSLS,\
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,\
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),\
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ),
+
+[1] = LAYOUT_60_hhkb( /* FN */
+ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,\
+ KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, BR_DEC, BR_INC, ES_DEC, ES_INC, KC_UP, KC_TRNS, KC_DEL, \
+ KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, \
+ KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
+
+[2] = LAYOUT_60_hhkb( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
+
+[3] = LAYOUT_60_hhkb( /* Empty for dynamic keymaps */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
+};
+
+void matrix_init_user(void) {
+ //user initialization
+}
+
+void matrix_scan_user(void) {
+ //user matrix
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ return true;
+} \ No newline at end of file
diff --git a/keyboards/hs60/v2/keymaps/hhkb_via/readme.md b/keyboards/hs60/v2/keymaps/hhkb_via/readme.md
new file mode 100644
index 0000000000..ea9803cc0b
--- /dev/null
+++ b/keyboards/hs60/v2/keymaps/hhkb_via/readme.md
@@ -0,0 +1,6 @@
+The default keymap for HHKB HS60 V2. VIA support enabled.
+=========================================================
+
+![Layout image](https://imgur.com/usbrQWL.png)
+
+Default layer is normal HHKB with 7U space. Fn layer is used for RGB functions, Volume control and arrow cluster \ No newline at end of file
diff --git a/keyboards/hs60/v2/keymaps/hhkb_via/rules.mk b/keyboards/hs60/v2/keymaps/hhkb_via/rules.mk
new file mode 100644
index 0000000000..a2850a8305
--- /dev/null
+++ b/keyboards/hs60/v2/keymaps/hhkb_via/rules.mk
@@ -0,0 +1,66 @@
+# project specific files
+SRC = keyboards/zeal60/zeal60.c \
+ keyboards/zeal60/rgb_backlight.c \
+ drivers/issi/is31fl3733.c \
+ quantum/color.c \
+ drivers/arm/i2c_master.c
+
+## chip/board settings
+# the next two should match the directories in
+# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
+MCU_FAMILY = STM32
+MCU_SERIES = STM32F3xx
+
+# Linker script to use
+# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
+# or <this_dir>/ld/
+MCU_LDSCRIPT = STM32F303xC
+
+# Startup code to use
+# - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
+MCU_STARTUP = stm32f3xx
+
+# Board: it should exist either in <chibios>/os/hal/boards/
+# or <this_dir>/boards
+BOARD = GENERIC_STM32_F303XC
+
+# Cortex version
+MCU = cortex-m4
+
+# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
+ARMV = 7
+
+USE_FPU = yes
+
+# Vector table for application
+# 0x00000000-0x00001000 area is occupied by bootlaoder.*/
+# The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
+# OPT_DEFS = -DCORTEX_VTOR_INIT=0x08005000
+OPT_DEFS =
+
+# Do not put the microcontroller into power saving mode
+# when we get USB suspend event. We want it to keep updating
+# backlight effects.
+OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
+
+# Options to pass to dfu-util when flashing
+DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
+
+# Build Options
+# comment out to disable the options.
+#
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover
+AUDIO_ENABLE = no # Audio output on port C6
+NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
+#SERIAL_LINK_ENABLE = yes
+
+RAW_ENABLE = yes
+DYNAMIC_KEYMAP_ENABLE = yes
+CIE1931_CURVE = yes
diff --git a/keyboards/hs60/v2/keymaps/iso_andys8/rules.mk b/keyboards/hs60/v2/keymaps/iso_andys8/rules.mk
new file mode 100644
index 0000000000..a2850a8305
--- /dev/null
+++ b/keyboards/hs60/v2/keymaps/iso_andys8/rules.mk
@@ -0,0 +1,66 @@
+# project specific files
+SRC = keyboards/zeal60/zeal60.c \
+ keyboards/zeal60/rgb_backlight.c \
+ drivers/issi/is31fl3733.c \
+ quantum/color.c \
+ drivers/arm/i2c_master.c
+
+## chip/board settings
+# the next two should match the directories in
+# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
+MCU_FAMILY = STM32
+MCU_SERIES = STM32F3xx
+
+# Linker script to use
+# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
+# or <this_dir>/ld/
+MCU_LDSCRIPT = STM32F303xC
+
+# Startup code to use
+# - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
+MCU_STARTUP = stm32f3xx
+
+# Board: it should exist either in <chibios>/os/hal/boards/
+# or <this_dir>/boards
+BOARD = GENERIC_STM32_F303XC
+
+# Cortex version
+MCU = cortex-m4
+
+# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
+ARMV = 7
+
+USE_FPU = yes
+
+# Vector table for application
+# 0x00000000-0x00001000 area is occupied by bootlaoder.*/
+# The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
+# OPT_DEFS = -DCORTEX_VTOR_INIT=0x08005000
+OPT_DEFS =
+
+# Do not put the microcontroller into power saving mode
+# when we get USB suspend event. We want it to keep updating
+# backlight effects.
+OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
+
+# Options to pass to dfu-util when flashing
+DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
+
+# Build Options
+# comment out to disable the options.
+#
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover
+AUDIO_ENABLE = no # Audio output on port C6
+NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
+#SERIAL_LINK_ENABLE = yes
+
+RAW_ENABLE = yes
+DYNAMIC_KEYMAP_ENABLE = yes
+CIE1931_CURVE = yes
diff --git a/keyboards/hs60/v2/keymaps/stanrc85/rules.mk b/keyboards/hs60/v2/keymaps/stanrc85/rules.mk
new file mode 100644
index 0000000000..a2850a8305
--- /dev/null
+++ b/keyboards/hs60/v2/keymaps/stanrc85/rules.mk
@@ -0,0 +1,66 @@
+# project specific files
+SRC = keyboards/zeal60/zeal60.c \
+ keyboards/zeal60/rgb_backlight.c \
+ drivers/issi/is31fl3733.c \
+ quantum/color.c \
+ drivers/arm/i2c_master.c
+
+## chip/board settings
+# the next two should match the directories in
+# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
+MCU_FAMILY = STM32
+MCU_SERIES = STM32F3xx
+
+# Linker script to use
+# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
+# or <this_dir>/ld/
+MCU_LDSCRIPT = STM32F303xC
+
+# Startup code to use
+# - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
+MCU_STARTUP = stm32f3xx
+
+# Board: it should exist either in <chibios>/os/hal/boards/
+# or <this_dir>/boards
+BOARD = GENERIC_STM32_F303XC
+
+# Cortex version
+MCU = cortex-m4
+
+# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
+ARMV = 7
+
+USE_FPU = yes
+
+# Vector table for application
+# 0x00000000-0x00001000 area is occupied by bootlaoder.*/
+# The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
+# OPT_DEFS = -DCORTEX_VTOR_INIT=0x08005000
+OPT_DEFS =
+
+# Do not put the microcontroller into power saving mode
+# when we get USB suspend event. We want it to keep updating
+# backlight effects.
+OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
+
+# Options to pass to dfu-util when flashing
+DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
+
+# Build Options
+# comment out to disable the options.
+#
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover
+AUDIO_ENABLE = no # Audio output on port C6
+NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
+#SERIAL_LINK_ENABLE = yes
+
+RAW_ENABLE = yes
+DYNAMIC_KEYMAP_ENABLE = yes
+CIE1931_CURVE = yes
diff --git a/keyboards/hs60/v2/keymaps/win_osx_dual/rules.mk b/keyboards/hs60/v2/keymaps/win_osx_dual/rules.mk
index cca15190a5..c89d909695 100644
--- a/keyboards/hs60/v2/keymaps/win_osx_dual/rules.mk
+++ b/keyboards/hs60/v2/keymaps/win_osx_dual/rules.mk
@@ -1 +1,66 @@
+# project specific files
+SRC = keyboards/zeal60/zeal60.c \
+ keyboards/zeal60/rgb_backlight.c \
+ drivers/issi/is31fl3733.c \
+ quantum/color.c \
+ drivers/arm/i2c_master.c
+
+## chip/board settings
+# the next two should match the directories in
+# <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)
+MCU_FAMILY = STM32
+MCU_SERIES = STM32F3xx
+
+# Linker script to use
+# it should exist either in <chibios>/os/common/ports/ARMCMx/compilers/GCC/ld/
+# or <this_dir>/ld/
+MCU_LDSCRIPT = STM32F303xC
+
+# Startup code to use
+# - it should exist in <chibios>/os/common/startup/ARMCMx/compilers/GCC/mk/
+MCU_STARTUP = stm32f3xx
+
+# Board: it should exist either in <chibios>/os/hal/boards/
+# or <this_dir>/boards
+BOARD = GENERIC_STM32_F303XC
+
+# Cortex version
+MCU = cortex-m4
+
+# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
+ARMV = 7
+
+USE_FPU = yes
+
+# Vector table for application
+# 0x00000000-0x00001000 area is occupied by bootlaoder.*/
+# The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
+# OPT_DEFS = -DCORTEX_VTOR_INIT=0x08005000
+OPT_DEFS =
+
+# Do not put the microcontroller into power saving mode
+# when we get USB suspend event. We want it to keep updating
+# backlight effects.
+OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
+
+# Options to pass to dfu-util when flashing
+DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
+
+# Build Options
+# comment out to disable the options.
+#
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+NKRO_ENABLE = yes # USB Nkey Rollover
+AUDIO_ENABLE = no # Audio output on port C6
+NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
+#SERIAL_LINK_ENABLE = yes
+
+RAW_ENABLE = yes
+DYNAMIC_KEYMAP_ENABLE = yes
+CIE1931_CURVE = yes
diff --git a/keyboards/hs60/v2/rules.mk b/keyboards/hs60/v2/rules.mk
index a2850a8305..5659d28c9f 100644
--- a/keyboards/hs60/v2/rules.mk
+++ b/keyboards/hs60/v2/rules.mk
@@ -61,6 +61,6 @@ AUDIO_ENABLE = no # Audio output on port C6
NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
#SERIAL_LINK_ENABLE = yes
-RAW_ENABLE = yes
-DYNAMIC_KEYMAP_ENABLE = yes
+RAW_ENABLE = no
+DYNAMIC_KEYMAP_ENABLE = no
CIE1931_CURVE = yes
diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/default/keymap.c b/keyboards/kbdfans/kbd67/rev1/keymaps/default/keymap.c
index 89fa9a534d..13a8a420d2 100644
--- a/keyboards/kbdfans/kbd67/rev1/keymaps/default/keymap.c
+++ b/keyboards/kbdfans/kbd67/rev1/keymaps/default/keymap.c
@@ -24,13 +24,13 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap (Base Layer) Default Layer
* ,----------------------------------------------------------------.
- * |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |~ ` |
+ * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Home|
* |----------------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |Del |
+ * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp|
* |----------------------------------------------------------------|
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return |PgUp|
+ * |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn|
* |----------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|PgDn|
+ * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|End |
* |----------------------------------------------------------------|
* |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
* `----------------------------------------------------------------'
@@ -44,15 +44,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap Fn Layer
* ,----------------------------------------------------------------.
- * | | F1|F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del |Ins |
+ * |~ `|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|Del |Ins |
* |----------------------------------------------------------------|
- * | | |Up | | | | | | | | | | | |Hme |
+ * |Caps | |Up | | | | | |PSc|SLk|Pau|Up | | | |
* |----------------------------------------------------------------|
- * | |<- |Dn | ->| | | | | | | | | |End |
+ * | |Lef|Dow|Rig| | | | |Hom|PUp|Lef|Rig| | |
* |----------------------------------------------------------------|
- * | | | |Bl-|BL |BL+| |VU-|VU+|MUT| | McL|MsU|McR |
+ * | | | | | | | | |End|PDn|Dow| |PUp| |
* |----------------------------------------------------------------|
- * | | | | | | | |MsL|MsD|MsR |
+ * | | | | | | | |Hom|PDn|End |
* `----------------------------------------------------------------'
*/
[1] = LAYOUT_65_ansi(
diff --git a/keyboards/niu_mini/keymaps/yttyx/keymap.c b/keyboards/niu_mini/keymaps/yttyx/keymap.c
index 6a9398dff9..e299a53b48 100644
--- a/keyboards/niu_mini/keymaps/yttyx/keymap.c
+++ b/keyboards/niu_mini/keymaps/yttyx/keymap.c
@@ -2,7 +2,7 @@
#include QMK_KEYBOARD_H
enum layers {
- BA, // Base (Balance Twelve mirror varian)
+ BA, // Base (Balance Twelve mirror variant)
P1, // Punctuation (1)
P2, // Punctuation (2)
P3, // Punctuation (2)
diff --git a/keyboards/planck/keymaps/cbbrowne/readme.md b/keyboards/planck/keymaps/cbbrowne/readme.org
index e55b130eff..2b10058584 100644
--- a/keyboards/planck/keymaps/cbbrowne/readme.md
+++ b/keyboards/planck/keymaps/cbbrowne/readme.org
@@ -1,20 +1,18 @@
-cbbrowne custom keyboard
-==============================
+* cbbrowne custom keyboard
-Due to cbbrowne@acm.org
-Christopher Browne
+ Due to cbbrowne@acm.org
+ Christopher Browne
-This was originally based on the default keyboard map, but I have been
-doing sundry experimentation:
+ This was originally based on the default keyboard map, but I have
+ been doing sundry experimentation:
-1. Useful Experiments
-----------------------------------------
+** Useful Experiments
- * It made sense to mess around some with keyboard maps.
+ - It made sense to mess around some with keyboard maps.
- I added a keypad, originally based on keymaps/numpad.c, but
mighty substantially revised, as that one seems to be rotated 90
degrees from usual conventions for number pads
- * The keypad layer also includes some sample "hacks" of cool things,
+ - The keypad layer also includes some sample "hacks" of cool things,
all using actions attached in using the function action_get_macro()
- Key [1][2] aka "q" types out my name, cbbrowne, as a fun example
of a key generating a bunch of keystrokes. The keystroke is
@@ -24,7 +22,7 @@ doing sundry experimentation:
- Key [2][2] aka "a" uses a random number generator to select a digit 0-9 at random
- Key [3][2] aka "z" uses a random number generator to select a letter a-z at random
- Key [1][3] aka "e" spits out the keymap version number
- * Trying out sgoodwin's "hold Enter down to get Shift"
+ - Trying out sgoodwin's "hold Enter down to get Shift"
- Liking this Quite Well Enough...
- Applied this to both Shift and Quote
- It seems likely that Alt should get a right-hand-side, akin to this...
@@ -33,11 +31,11 @@ doing sundry experimentation:
- Emacs likes this!!! :-)
- I'm suspicious that I'll want to shift ROT_LED another location over,
so some modifier can replace the OS/KC_LGUI key
- * I have added an alternate ADJUST layer that is activated via update_tri_layer()
+ - I have added an alternate ADJUST layer that is activated via update_tri_layer()
- e.g. - LOWER+RAISE simultaneously
- This seems entirely more useful for handling my "special keys"
like the random numbers, user name, and such, than the keypad layer
- * The _ADJUST layer provides a good place to have RESET
+ - The _ADJUST layer provides a good place to have RESET
- But this isn't strictly enough; I want RESET somewhat accessible from
main layer lest an error hide that layer
- I never use the OS/KC_LGUI key (that's Command on MacOS, Windows
@@ -45,8 +43,7 @@ doing sundry experimentation:
some sort
-2. Some code structure ideas
----------------------------------------------------
+** Some code structure ideas
Each layer is given a name to aid in readability, which is then
used in the keymap matrix below. The underscores do not denote
@@ -65,57 +62,55 @@ doing sundry experimentation:
to care (beyond "start at 0", and arguably even that's not needed)
about their values.
-3. Things I did not like about the default mapping
----------------------------------------------------------
+** Things I did not like about the default mapping
- * I found control too hard to get to. I use it more than Tab, so
+
+ - I found control too hard to get to. I use it more than Tab, so
switched it there.
- * Having dash on [lower-j] is a bit nonintuitive, but may be OK
- * I switched ESC/TAB/M(0) around
- * I'm suspicious that I want to shift M(0) from [4][1] to [4][2],
+ - Having dash on [lower-j] is a bit nonintuitive, but may be OK
+ - I switched ESC/TAB/M(0) around
+ - I'm suspicious that I want to shift M(0) from [4][1] to [4][2],
and shift ESC off the first column so KC_LCTL and KC_LALT can
be on the first column.
- * I needed to swap ' and ENTER
+ - I needed to swap ' and ENTER
-4. Unuseful experiments
----------------------------------------------------------
+** Unuseful experiments
I have tried some things out that didn't turn out particularly well.
I'll note some of these for posterity, hopefully helpful in not doing
unwise things again...
- * I tried added Workman alongside Dvorak and Colemak
+ - I tried added Workman alongside Dvorak and Colemak
- Boy, oh boy, these don't help!!!
- I have done 30 years of learning of Emacs key mappings, and
these alternative keyboards massively mess me up
- * Space Cadet Shift; switching L_SHIFT to KC_LSP0, so that when I
+ - Space Cadet Shift; switching L_SHIFT to KC_LSP0, so that when I
just hit SHIFT, I get a left parens. In principle, this is great
for Lisping.
- Unfortunately, there are times when mouse interfaces use SHIFT
to allow selecting multiple items, and this really interferes
with that
-5. TODO
----------------------------------------------------------
+** TODO
- * I use tmux quite a lot; the mollat keymap seems to have some
+ - I use tmux quite a lot; the mollat keymap seems to have some
interesting helpers. It might be interesting to add a "tmux
layer," or to have a few keys in a layer oriented towards that
- Keys for...
- Picking windows 0 thru 8
- next/prev/new window
- * The mollat tmux layer also suggests some thoughts about Emacs
+ - The mollat tmux layer also suggests some thoughts about Emacs
helpers.
- * I do not presently have anything that handles X11 screen
+ - I do not presently have anything that handles X11 screen
switching, as with Control-Alt-various
- * I ought to probably look into KC_LEAD, to have some key combos
+ - I ought to probably look into KC_LEAD, to have some key combos
that do not need to be concurrent
- * The jeebak keymap seems to have some neat ideas:
+ - The jeebak keymap seems to have some neat ideas:
- Number layer which is aggressive about having numbers in several places
- TouchCursor layer seems interesting
- It sets up a layer with cursor keys on the home keys
- * The jeremy-dev keymap has some very interesting concepts
+ - The jeremy-dev keymap has some very interesting concepts
- Shift hands outwards; the special keys go in the center
- Symbol layer has some compound keys for C operators like /=, *=, -=, +=, ...
- This is likely what I'll use for my XD75re, and maybe I'll fork a
diff --git a/keyboards/planck/keymaps/vxid/config.h b/keyboards/planck/keymaps/vxid/config.h
new file mode 100644
index 0000000000..6f70f09bee
--- /dev/null
+++ b/keyboards/planck/keymaps/vxid/config.h
@@ -0,0 +1 @@
+#pragma once
diff --git a/keyboards/planck/keymaps/vxid/keymap.c b/keyboards/planck/keymaps/vxid/keymap.c
new file mode 100644
index 0000000000..51d1daa70a
--- /dev/null
+++ b/keyboards/planck/keymaps/vxid/keymap.c
@@ -0,0 +1,49 @@
+#include QMK_KEYBOARD_H
+
+extern keymap_config_t keymap_config;
+
+enum planck_layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_QWERTY] = LAYOUT_planck_grid(
+ 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_BSLS,
+ KC_LCTL, KC_LGUI, KC_LALT, LOWER, RAISE, KC_MINS, KC_SPC, KC_EQL, KC_LBRC, KC_RBRC, KC_QUOT, KC_GRV
+),
+
+[_LOWER] = LAYOUT_planck_grid(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______,
+ _______, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+
+[_RAISE] = LAYOUT_planck_grid(
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+
+[_ADJUST] = LAYOUT_planck_grid(
+ RESET, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+)
+
+};
+
+uint32_t layer_state_set_user(uint32_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
diff --git a/keyboards/planck/keymaps/vxid/readme.md b/keyboards/planck/keymaps/vxid/readme.md
new file mode 100644
index 0000000000..9e0ae33423
--- /dev/null
+++ b/keyboards/planck/keymaps/vxid/readme.md
@@ -0,0 +1,13 @@
+# vxid planck layout
+
+## Layout
+
+This planck layout aims at proviging most symbols on the base layer while remaining usable.
+The minus and space keys become alt and gui modifiers when pressed.
+Arrow keys are located on hjkl on the lower layer.
+
+## Building
+
+```
+ make planck/rev6:vxid:dfu-util
+```
diff --git a/keyboards/westfoxtrot/aanzee/info.json b/keyboards/westfoxtrot/aanzee/info.json
index d6734d620b..96d0c1c36c 100644
--- a/keyboards/westfoxtrot/aanzee/info.json
+++ b/keyboards/westfoxtrot/aanzee/info.json
@@ -12,7 +12,6 @@
"LAYOUT_iso": {
"key_count": 68,
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Home", "x":15, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"x":13.75, "y":1, "w":1.25, "h":2}, {"label":"PgUp", "x":15, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"x":12.75, "y":2}, {"label":"PgDn", "x":15, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"label":"\u2191", "x":14, "y":3}, {"label":"Fn", "x":15, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13, "y":4}, {"label":"\u2193", "x":14, "y":4}, {"label":"\u2192", "x":15, "y":4}]
- },
+ }
}
}
-}
diff --git a/keyboards/xd75/keymaps/cbbrowne/keymap.c b/keyboards/xd75/keymaps/cbbrowne/keymap.c
index 1bebf2d11f..b20cafabc9 100644
--- a/keyboards/xd75/keymaps/cbbrowne/keymap.c
+++ b/keyboards/xd75/keymaps/cbbrowne/keymap.c
@@ -1,4 +1,4 @@
-/* Copyright 2017 REPLACE_WITH_YOUR_NAME
+/* Copyright 2017 Christopher B Browne
*
* 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
@@ -62,12 +62,7 @@ enum macro_id {
#define FUNCTION MO(_FUNCTION)
#define MRAISE MO(_RAISE)
#define MLOWER MO(_LOWER)
-#define ALTBSP ALT_T(KC_BSPC)
-
-/* More modifiers for QCENT2... */
-#define PALT MT(KC_RALT, KC_P)
-#define SCTL MT(KC_RCTL, KC_SCLN)
-#define SSHF MT(KC_RSFT, KC_SLSH)
+#define ALTPLUS ALT_T(KC_PLUS)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -84,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
-
+
/* layout for centred keypad + qwerty...
|ESC| 1 | 2 | 3 | 4 | 5 | ? | ? | ? | ? | 6 | 7 | 8 | 9 | 0 |
@@ -94,40 +89,35 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|ALT|LED| | | | | | | | | | | | | |
-
-
keys needing to be assigned:
-11 - KC_TAB - tab
-52 - ROT_LED - rotate LED
+51 - KC_TAB - tab
+ - ROT_LED - rotate LED
15 - KC_LALT - Left ALT
- - KC_LGUI - this is the windows/command key, which I think I do not use...
- - M_LOWER - switch to LOWER layer
- - KC_SPC - space
- - M_UPPER - switch to UPPER layer, maybe unneeded for 15x5
- - KC_LEFT - famous arrows
- - KC_DOWN - famous arrows
- - KC_UP - famous arrows
- - KC_RIGHT - famous arrows
- - KC_ENT - enter
+53,55 - M_RAISE - switch to RAISE layer
+5b - M_LOWER - switch to LOWER layer
+56,59,5a - KC_SPC - space
+5c - KC_LEFT - famous arrows
+5d - KC_DOWN - famous arrows
+5e - KC_UP - famous arrows
+5f - KC_RIGHT - famous arrows
+3f - KC_ENT - enter
- KC_GRV - leftwards quote
- - KC_QUOT - rightwards quote
- - KC_BSPC - backspace
- - KC_ESC
+4f - KC_QUOT - rightwards quote
+1f - KC_BSPC - backspace
+11 - KC_ESC
+19 - KC_GRV - ` - raised
+19 - KC_TILD - ~ - lowered
-Missing still...
- KC_LBRC and KC_LCBR
- KC_RBRC and KC_RCBR
+ */
- */
+[_QWERTY] = LAYOUT_ortho_5x15( /* QWERTY, with keypad in the centre */
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC ,
+ KC_LALT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_7, KC_8, KC_EQL, KC_Y, KC_U, KC_I, KC_O, KC_P, ALTPLUS ,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC,KC_MINS, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CTLENTER ,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP, KC_EQL, KC_BSLS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFTQUOTE ,
+ KC_TAB, FUNCTION, MRAISE, FUNCTION, MRAISE, KC_SPC,KC_PGDN, KC_MINS, KC_SPC, KC_SPC, MLOWER, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+),
- [_QWERTY] = { /* QWERTY, with keypad in the centre */
- { KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL, KC_MINS, RESET, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC },
- { KC_LALT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_7, KC_8, KC_EQL, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_PLUS },
- { KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_4, KC_5, KC_MINS, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CTLENTER },
- { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_1, KC_2, KC_BSLS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFTQUOTE },
- { KC_TAB, FUNCTION, MRAISE, FUNCTION, MRAISE, KC_SPC, KC_0, KC_MINS, KC_SPC, KC_SPC, MLOWER, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT }
- },
-
/* LOWER
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . |
@@ -142,13 +132,13 @@ Missing still...
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
- [_LOWER] = { /* LOWERED */
- { ___T___, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 },
- { ___T___, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_INS },
- { ___T___, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, _______ },
- { _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, ___T___, ___T___, _______ },
- { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
- },
+[_LOWER] = LAYOUT_ortho_5x15( /* LOWERED */
+ ___T___, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_TILD, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 ,
+ ___T___, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_INS ,
+ ___T___, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE ,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, ___T___, ___T___, _______ ,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
/* RAISED
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
@@ -164,13 +154,13 @@ Missing still...
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
- [_RAISE] = { /* RAISED */
- { KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___ },
- { KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, _______, _______, KC_7, KC_8, KC_9, KC_0, _______, _______, KC_INS },
- { KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, ___T___, ___T___ },
- { KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, ___T___, ___T___, _______, _______ },
- { _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
- },
+[_RAISE] = LAYOUT_ortho_5x15 ( /* RAISED */
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, MVERSION, _______, KC_GRV, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___ ,
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, USERNAME, _______, KC_7, KC_8, KC_LCBR, KC_RCBR, _______, _______, KC_INS ,
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, RANDDIG, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, ___T___, ___T___ ,
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RANDALP, _______, _______, _______, _______, ___T___, ___T___, _______, _______ ,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
/* FUNCTION
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
@@ -178,21 +168,21 @@ Missing still...
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | SCR LK | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 | PAUSE | PR SCR |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
- * | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT | VOL+ | VOL- | PLAY | | XXXXXX . | WHEEL+ |
+ * | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT | VOL+ | VOL- | PLAY | | XXXXXX | | WHEEL+ |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
- * | RGB TG | RGB MD | RGB HI | RGB HD | RGB SI | RGB SD | RGB VI | RGB VD | BL TOG | BL INC | BL DEC | XXXXXX . | MOUS Un | WHEEL- |
+ * | RGB TG | RGB MD | RGB HI | RGB HD | RGB SI | RGB SD | RGB VI | RGB VD | BL TOG | BL INC | BL DEC | XXXXXX | | MOUS U | WHEEL- |
* |--------+--------+--------+--------+--------+-- 2u -----------+--------+--------+--------+--------+-----------------+--------+--------|
* | RESET | | QWERTY | COLEMK | DVORAK | XXXXXX . MS BT1 | | | | | | MOUS L | MOUS D | MOUS R |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
- [_FUNCTION] = { /* FUNCTION */
- { KC_NLCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___ },
- { KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR },
- { KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U },
- { RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_TOGG, BL_INC, BL_DEC, ___T___, ___T___, KC_MS_U, KC_WH_D },
- { RESET , _______, DF(_QWERTY), DF(_QWERTY), DF(_QWERTY), KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R },
- },
+[_FUNCTION] = LAYOUT_ortho_5x15( /* FUNCTION */
+ KC_NLCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RESET, RESET,
+ KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR ,
+ KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U ,
+ RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_TOGG, BL_INC, BL_DEC, ___T___, ___T___, KC_MS_U, KC_WH_D ,
+ RESET , _______, DF(_QWERTY), DF(_QWERTY), DF(_QWERTY), KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
+ )
};
/* This bit of logic seeds a wee linear congruential random number generator */
@@ -223,8 +213,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
break;
case M_VERSION:
if (record->event.pressed) {
- SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP "@");
- // SEND_STRING(QMK_VERSION "@" QMK_BUILDDATE);
+ SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP);
}
break;
case M_RANDDIGIT:
@@ -289,3 +278,33 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}
return MACRO_NONE;
};
+
+void matrix_init_user(void) {
+ rgblight_enable();
+ rgblight_mode(1);
+ rgblight_sethsv(325,255,255);
+}
+
+uint32_t layer_state_set_user(uint32_t state) {
+ switch(biton32(state)) {
+ case _QWERTY:
+ rgblight_sethsv_white();
+ break;
+ case _LOWER:
+ rgblight_sethsv_blue();
+ break;
+ case _RAISE:
+ rgblight_sethsv_green();
+ break;
+ case _ADJUST:
+ rgblight_sethsv_orange();
+ break;
+ case _FUNCTION:
+ rgblight_sethsv_red();
+ break;
+ default:
+ rgblight_sethsv(325,255,255);
+ break;
+ }
+ return state;
+}
diff --git a/keyboards/xd75/keymaps/cbbrowne/rules.mk b/keyboards/xd75/keymaps/cbbrowne/rules.mk
new file mode 100644
index 0000000000..0968298a0a
--- /dev/null
+++ b/keyboards/xd75/keymaps/cbbrowne/rules.mk
@@ -0,0 +1,24 @@
+# Build Options
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = no # Mouse keys(+4700)
+EXTRAKEY_ENABLE = no # 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 = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
+API_SYSEX_ENABLE = no # Enable SYSEX API (+5390)
+
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+ifndef QUANTUM_DIR
+ include ../../../../Makefile
+endif
diff --git a/layouts/community/ortho_4x12/symbolic/README.md b/layouts/community/ortho_4x12/symbolic/README.md
index 37fbcd56a4..2c69d5160e 100644
--- a/layouts/community/ortho_4x12/symbolic/README.md
+++ b/layouts/community/ortho_4x12/symbolic/README.md
@@ -1,26 +1,24 @@
-# Symbolic ortho 4x12 layout
+# Symbolic ortho 4x12 layout
## Features
### QWERTY based
-![QWERTY layout](https://gist.githubusercontent.com/leico/cb50ecd12eb8ad906a69678f265cd52c/raw/4597497ecd00790312f1a3928b2e2c5cf17a6ac1/QWERTY.png)
-
+![QWERTY layout](https://gist.githubusercontent.com/leico/5bf4d9ff94f2068c5333739f7f1f88b4/raw/2af7fed6f282b6ac278e79433d15887f6b91ba3a/QWERTY.png)
+
* Default keymap
* QWERTY layout
* Hold and tap
- * `Shift` and `Space`
* `Left Ctrl` and `Tab`
* Symmetric Modifiers
* `Shift`
* `Raise Layer`
* `Lower Layer`
* `GUI`
- * `Reset`
### symbol charactor layer
-![Raise layout](https://gist.githubusercontent.com/leico/cb50ecd12eb8ad906a69678f265cd52c/raw/4597497ecd00790312f1a3928b2e2c5cf17a6ac1/Raise.png)
+![Raise layout](https://gist.githubusercontent.com/leico/5bf4d9ff94f2068c5333739f7f1f88b4/raw/2af7fed6f282b6ac278e79433d15887f6b91ba3a/Raise.png)
* Raise Layer
* assigned symbolic(punctuation) characters
@@ -37,23 +35,31 @@
### numbers and allows layer
-![Lower layout](https://gist.githubusercontent.com/leico/cb50ecd12eb8ad906a69678f265cd52c/raw/4597497ecd00790312f1a3928b2e2c5cf17a6ac1/Lower.png)
+![Lower layout](https://gist.githubusercontent.com/leico/5bf4d9ff94f2068c5333739f7f1f88b4/raw/2af7fed6f282b6ac278e79433d15887f6b91ba3a/Lower.png)
* Lower Layer
* entrust vim style arrows
* also numkeys
* additional, computer volume keys
* transparent all modifiers
+* **changed 2018/09/04**
+ * assign keys
+ * Home
+ * Page Down
+ * Page Up
+ * End
+ * Print Screen
### Numpads and F key layer
-![Neutral layout](https://gist.githubusercontent.com/leico/cb50ecd12eb8ad906a69678f265cd52c/raw/4597497ecd00790312f1a3928b2e2c5cf17a6ac1/Neutral.png)
+![Neutral layout](https://gist.githubusercontent.com/leico/5bf4d9ff94f2068c5333739f7f1f88b4/raw/2af7fed6f282b6ac278e79433d15887f6b91ba3a/Neutral.png)
* visibled when Raise and Lower layer visibled
* F keys assigned left hand side
* Numpads assigned right hand side
* for that reason, override `RGUI` key
* transparent mostly modifiers
+* visibled `Reset` key on both hands
### Goals
@@ -63,7 +69,6 @@
* simple, minimal, easy learn
* as soon as possible, don't disable any shortcuts
-
### suggestions or find issues
[post issues for my fork](https://github.com/leico/qmk_firmware/issues)
diff --git a/layouts/community/ortho_4x12/symbolic/config.h b/layouts/community/ortho_4x12/symbolic/config.h
index c29b077062..3f88b4cc17 100644
--- a/layouts/community/ortho_4x12/symbolic/config.h
+++ b/layouts/community/ortho_4x12/symbolic/config.h
@@ -20,8 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-// hold & tapping delay setting
-#define TAPPING_TERM 100
+
/* Use I2C or Serial, not both */
diff --git a/layouts/community/ortho_4x12/symbolic/keymap.c b/layouts/community/ortho_4x12/symbolic/keymap.c
index 1e5494d96e..c292373711 100644
--- a/layouts/community/ortho_4x12/symbolic/keymap.c
+++ b/layouts/community/ortho_4x12/symbolic/keymap.c
@@ -19,6 +19,7 @@ enum custom_keycodes {
R_RAISE
};
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
@@ -30,17 +31,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Tab | A | S | D | F | G || H | J | K | L | ; |Enter |
* |------+------+------+------+------+------++------+------+------+------+------+------|
* | | | | | | || | | | | | |
- * | | Z | X | C | V | B || N | M | , | . | ! | |
+ * |Shift | Z | X | C | V | B || N | M | , | . | ! |Shift |
* |------+------+------+------+------+------++------+------+------+------+------+------|
- * | | | | | |LSFT_T||RSFT_T| | | | | |
- * |Reset | Alt | GUI |LLower|LRaise|Space ||Space |RRaise|RLower| GUI | Del |Reset |
+ * | | | | | | || | | | | | |
+ * |LRaise| Alt | GUI | |LLower|Space ||Space |RLower| | GUI | Del |RRaise|
* `------------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_ortho_4x12( \
- 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_ENT, \
- XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_EXLM, XXXXXXX, \
- RESET, KC_LALT, KC_LGUI, L_LOWER, L_RAISE, LSFT_T( KC_SPC ), RSFT_T( KC_SPC ), R_RAISE, R_LOWER, KC_RGUI, KC_DEL, RESET \
+ 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_ENT, \
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_EXLM, KC_RSFT, \
+ L_RAISE, KC_LALT, KC_LGUI, XXXXXXX, L_LOWER, KC_SPC, KC_SPC, R_LOWER, XXXXXXX, KC_RGUI, KC_DEL, R_RAISE \
),
/* Raise
@@ -52,16 +53,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Tab | ~ | | | ( | ) | * || / | < | > | ' | : |Enter |
* |------+------+------+------+------+------++------+------+------+------+------+------|
* | | | | | | || | | | | | |
- * | | ` | ^ | @ | $ | + || - | = | _ | " | ? | |
+ * |Shift | ` | ^ | @ | $ | + || - | = | _ | " | ? |Shift |
* |------+------+------+------+------+------++------+------+------+------+------+------|
- * | | | | | |LSFT_T||RSFT_T| | | | | |
- * |Reset | Alt | GUI |LLower|LRaise|Space ||Space |RRaise|RLower| GUI | Del |Reset |
+ * | | | | | | || | | | | | |
+ * |LRaise| Alt | GUI | |LLower|Space ||Space |RLower| | GUI | Del |RRaise|
* `------------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_4x12( \
_______, XXXXXXX, KC_AMPR, KC_LCBR, KC_RCBR, KC_PERC, KC_BSLS, KC_LBRC, KC_RBRC, KC_HASH, XXXXXXX, _______, \
- _______, KC_TILD, KC_PIPE, KC_LPRN, KC_RPRN, KC_ASTR, KC_SLSH, KC_LABK, KC_RABK, KC_QUOT, KC_COLN, _______, \
- _______, KC_GRV, KC_CIRC, KC_AT, KC_DLR, KC_PLUS, KC_MINS, KC_EQL, KC_UNDS, KC_DQUO, KC_QUES, _______, \
+ _______, KC_TILD, KC_PIPE, KC_LPRN, KC_RPRN, KC_ASTR, KC_SLSH, KC_LABK, KC_RABK, KC_DQUO, KC_COLN, _______, \
+ _______, KC_GRV, KC_CIRC, KC_AT, KC_DLR, KC_PLUS, KC_MINS, KC_EQL, KC_UNDS, KC_QUOT, KC_QUES, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
/* Lower
@@ -73,16 +74,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Tab | |VolDn |VolUp | Mute | || Left | Down | Up |Right | |Enter |
* |------+------+------+------+------+------++------+------+------+------+------+------|
* | | | | | | || | | | | | |
- * | | | | | | || | | | | | |
+ * |Shift | | | | | PrSc || Home | PgDn | PgUp | End | |Shift |
* |------+------+------+------+------+------++------+------+------+------+------+------|
- * | | | | | |LSFT_T||RSFT_T| | | | | |
- * |Reset | Alt | GUI |LLower|LRaise|Space ||Space |RRaise|RLower| GUI | Del |Reset |
+ * | | | | | | || | | | | | |
+ * |LRaise| Alt | GUI | |LLower|Space ||Space |RLower| | GUI | Del |RRaise|
* `------------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho_4x12( \
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
_______, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, _______, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, \
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_HOME, KC_PGDN, KC_PGUP, KC_END, XXXXXXX, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
@@ -95,55 +96,113 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Tab | F5 | F6 | F7 | F8 | || * | / | 4 | 5 | 6 |Enter |
* |------+------+------+------+------+------++------+------+------+------+------+------|
* | | | | | | || | | | | | |
- * | | F9 | F10 | F11 | F12 | || . | , | 7 | 8 | 9 | |
+ * |Shift | F9 | F10 | F11 | F12 | || . | , | 7 | 8 | 9 |Shift |
* |------+------+------+------+------+------++------+------+------+------+------+------|
- * | | | | | |LSFT_T||RSFT_T| | | | | |
- * |Reset | Alt | GUI |LLower|LRaise|Space ||Space |RRaise|RLower| 0 | Del |Reset |
+ * | | | | | | || | | | | | |
+ * |LRaise| Alt | GUI |Reset |LLower|Space ||Space |RLower|Reset | 0 | Del |RRaise|
* `------------------------------------------------------------------------------------'
*/
[_NEUTRAL] = LAYOUT_ortho_4x12( \
_______, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, KC_PPLS, KC_PMNS, KC_P1, KC_P2, KC_P3, _______, \
_______, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, KC_PAST, KC_PSLS, KC_P4, KC_P5, KC_P6, _______, \
_______, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_PDOT, KC_COMM, KC_P7, KC_P8, KC_P9, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P0, _______, _______ \
+ _______, _______, _______, RESET, _______, _______, _______, _______, RESET, KC_P0, _______, _______ \
)
};
-void DualKeyPressed ( bool brother_state, uint8_t target ){
- if( brother_state ) return;
+/**** Raise Layer functions *****/
+
+ /* RaisePressed function */
+ /* called RaiseSwitch */
+void RaisePressed ( keyevent_t *event, bool brother_state ){
+
+ if( brother_state ) { return; }
+
+ layer_on( _RAISE );
+ update_tri_layer( _LOWER, _RAISE, _NEUTRAL );
+ return;
+
+}
+
+
+ /* RaiseReleased function */
+ /* called RaiseSwitch */
+void RaiseReleased ( bool brother_state ){
+
+ if( brother_state ) { return; }
- layer_on( target );
+ layer_off( _RAISE );
+ update_tri_layer( _LOWER, _RAISE, _NEUTRAL );
return;
}
-void DualKeyReleased ( bool brother_state, uint8_t target1 ){
- if( brother_state ) return ;
+ /* RaiseSwitch function */
+ /* called process_record_user */
+bool RaiseSwitch ( keyrecord_t *record, bool *key_state, bool brother ){
+
+ if( record -> event.pressed ) {
+ *key_state = true;
+ RaisePressed( &(record -> event), brother );
+ } else {
+ *key_state = false;
+ RaiseReleased( brother );
+ }
+ return false;
+
+}
+
+
- layer_off( target1 );
+
+
+
+/**** Lower layer functions ****/
+
+ /* LowerPressed function */
+ /* call from LowerSwitch */
+void LowerPressed ( bool brother_state ){
+
+ if( brother_state ) { return; }
+
+ layer_on( _LOWER );
+ update_tri_layer(_LOWER, _RAISE, _NEUTRAL );
+ return;
+}
+
+ /* LowerReleased function */
+ /* call from LowerSwitch */
+void LowerReleased ( bool brother_state ){
+
+ if( brother_state ) { return; }
+
+ layer_off( _LOWER );
+ update_tri_layer(_LOWER, _RAISE, _NEUTRAL );
return ;
}
-bool LayerSwitch ( keyrecord_t *record, bool *key_state, bool brother, uint8_t layer ){
+ /* LowerSwitch function */
+ /* call from process_record_user */
+bool LowerSwitch ( keyrecord_t *record, bool *key_state, bool brother ){
if ( record -> event.pressed ) {
*key_state = true;
- DualKeyPressed( brother, layer );
- }
- else {
+ LowerPressed( brother );
+ } else {
*key_state = false;
- DualKeyReleased( brother, layer );
+ LowerReleased( brother );
}
- update_tri_layer(_LOWER, _RAISE, _NEUTRAL );
return false;
-
}
+
+
+/**** process_record_user ****/
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
static bool l_lower = false;
@@ -155,11 +214,16 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
- case L_LOWER : return LayerSwitch( record, &l_lower, r_lower, _LOWER ); break;
- case R_LOWER : return LayerSwitch( record, &r_lower, l_lower, _LOWER ); break;
- case L_RAISE : return LayerSwitch( record, &l_raise, r_raise, _RAISE ); break;
- case R_RAISE : return LayerSwitch( record, &r_raise, l_raise, _RAISE ); break;
+ case L_LOWER : return LowerSwitch( record, &l_lower, r_lower ); break;
+ case R_LOWER : return LowerSwitch( record, &r_lower, l_lower ); break;
+ case L_RAISE : return RaiseSwitch( record, &l_raise, r_raise ); break;
+ case R_RAISE : return RaiseSwitch( record, &r_raise, l_raise ); break;
+
+ default: break;
}
return true;
}
+
+
+
diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c
index 6d6833ec11..3da164c736 100644
--- a/quantum/audio/audio.c
+++ b/quantum/audio/audio.c
@@ -141,7 +141,7 @@ uint16_t notes_count;
bool notes_repeat;
bool note_resting = false;
-uint8_t current_note = 0;
+uint16_t current_note = 0;
uint8_t rest_counter = 0;
#ifdef VIBRATO_ENABLE
diff --git a/quantum/audio/audio_arm.c b/quantum/audio/audio_arm.c
index a3a4039570..6760015ef4 100644
--- a/quantum/audio/audio_arm.c
+++ b/quantum/audio/audio_arm.c
@@ -54,7 +54,7 @@ uint16_t notes_count;
bool notes_repeat;
bool note_resting = false;
-uint8_t current_note = 0;
+uint16_t current_note = 0;
uint8_t rest_counter = 0;
#ifdef VIBRATO_ENABLE
diff --git a/quantum/audio/audio_pwm.c b/quantum/audio/audio_pwm.c
index ded86edeea..ed67136099 100644
--- a/quantum/audio/audio_pwm.c
+++ b/quantum/audio/audio_pwm.c
@@ -94,7 +94,7 @@ bool notes_repeat;
float notes_rest;
bool note_resting = false;
-uint8_t current_note = 0;
+uint16_t current_note = 0;
uint8_t rest_counter = 0;
#ifdef VIBRATO_ENABLE
diff --git a/quantum/debounce/debounce_eager_pk.c b/quantum/debounce/eager_pk.c
index b8ad09cee3..b8ad09cee3 100644
--- a/quantum/debounce/debounce_eager_pk.c
+++ b/quantum/debounce/eager_pk.c
diff --git a/quantum/debounce/readme.md b/quantum/debounce/readme.md
index 1a77d44df5..5b318d845e 100644
--- a/quantum/debounce/readme.md
+++ b/quantum/debounce/readme.md
@@ -6,10 +6,10 @@ Here are a few ideas
* Per key - one timer per key
* Per row - one timer per row
-2) Eager vs symmetric vs assymetric
+2) Eager vs symmetric vs asymmetric
* Eager - any key change is reported immediately. All further inputs for DEBOUNCE ms are ignored.
* Symmetric - wait for no changes for DEBOUNCE ms before reporting change
- * Assymetric - wait for different times depending on key-down/key-up. E.g. Eager key-down, DEBOUNCE ms key up.
+ * Asymmetric - wait for different times depending on key-down/key-up. E.g. Eager key-down, DEBOUNCE ms key up.
3) Timestamp vs cycles
* old old old code waits n cycles, decreasing count by one each matrix_scan
@@ -19,10 +19,10 @@ Here are a few ideas
The default algorithm is symmetric and global.
Here are a few that could be implemented:
-debounce_sym_g.c
-debounce_sym_pk.c
-debounce_sym_pr.c
-debounce_sym_pr_cycles.c //currently used in ergo-dox
-debounce_eager_g.c
-debounce_eager_pk.c
-debounce_eager_pr.c //could be used in ergo-dox!
+sym_g.c
+sym_pk.c
+sym_pr.c
+sym_pr_cycles.c //currently used in ergo-dox
+eager_g.c
+eager_pk.c
+eager_pr.c //could be used in ergo-dox!
diff --git a/quantum/debounce/debounce_sym_g.c b/quantum/debounce/sym_g.c
index c8ab34e1a0..c8ab34e1a0 100644
--- a/quantum/debounce/debounce_sym_g.c
+++ b/quantum/debounce/sym_g.c
diff --git a/show_options.mk b/show_options.mk
index e72dd75cfa..c72059118f 100644
--- a/show_options.mk
+++ b/show_options.mk
@@ -7,7 +7,7 @@ BUILD_OPTION_NAMES = \
NKRO_ENABLE \
TERMINAL_ENABLE \
CUSTOM_MATRIX \
- CUSTOM_DEBOUNCE \
+ DEBOUNCE_TYPE \
SPLIT_KEYBOARD \
DYNAMIC_KEYMAP_ENABLE \
USB_HID_ENABLE
diff --git a/users/cbbrowne/cbbrowne.c b/users/cbbrowne/cbbrowne.c
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/users/cbbrowne/cbbrowne.c
diff --git a/users/cbbrowne/cbbrowne.h b/users/cbbrowne/cbbrowne.h
new file mode 100644
index 0000000000..301636c053
--- /dev/null
+++ b/users/cbbrowne/cbbrowne.h
@@ -0,0 +1,39 @@
+#ifndef USERSPACE
+#define USERSPACE
+
+#ifdef BACKLIGHT_ENABLE
+#include "backlight.h"
+#endif
+#include "quantum.h"
+#include "config.h"
+
+#ifndef CONFIG_USER_H
+#define CONFIG_USER_H
+
+#ifndef NO_DEBUG
+#define NO_DEBUG
+#endif
+#ifndef NO_PRINT
+#define NO_PRINT
+#endif
+
+/* cbbrowne user configuration */
+
+#define randadd 53
+#define randmul 181
+#define randmod 167
+
+/* Filler to make layering a bit clearer *
+ * borrowed from basic keymap */
+
+#define _______ KC_TRNS
+#define _____ KC_NO
+
+#define LEADER_TIMEOUT 300
+#ifndef LIGHT_CONFIG_H
+#define BACKLIGHT_BREATHING
+#endif
+
+#endif
+
+#endif
diff --git a/users/cbbrowne/rules.mk b/users/cbbrowne/rules.mk
new file mode 100644
index 0000000000..497638cdb3
--- /dev/null
+++ b/users/cbbrowne/rules.mk
@@ -0,0 +1 @@
+SRC += cbbrowne.c
diff --git a/users/stanrc85/config.h b/users/stanrc85/config.h
index 904a7f524e..14284435be 100644
--- a/users/stanrc85/config.h
+++ b/users/stanrc85/config.h
@@ -2,3 +2,8 @@
#define TAPPING_TERM 200
#define RETRO_TAPPING
+
+#ifdef RGBLIGHT_ENABLE
+ #define RGBLIGHT_LIMIT_VAL 175
+ #define RGBLIGHT_SLEEP
+#endif
diff --git a/users/stanrc85/layer_rgb.c b/users/stanrc85/layer_rgb.c
new file mode 100644
index 0000000000..ac5d181224
--- /dev/null
+++ b/users/stanrc85/layer_rgb.c
@@ -0,0 +1,26 @@
+#include "stanrc85.h"
+
+void matrix_init_user(void) {
+ rgblight_setrgb(0xFF, 0x00, 0x00);
+};
+
+uint32_t layer_state_set_user(uint32_t state) {
+ switch (biton32(state)) {
+ case 0:
+ rgblight_setrgb (0xFF, 0x00, 0x00);
+ break;
+ case 1:
+ rgblight_setrgb (0x00, 0xFF, 0x00);
+ break;
+ case 2:
+ rgblight_setrgb (0x00, 0x00, 0xFF);
+ break;
+ case 3:
+ rgblight_setrgb (0xFF, 0xFF, 0xFF);
+ break;
+ default: // for any other layers, or the default layer
+ rgblight_setrgb (0xFF, 0x00, 0x00);
+ break;
+ }
+ return state;
+}
diff --git a/users/stanrc85/rules.mk b/users/stanrc85/rules.mk
index 19ad624758..c94dca0b7c 100644
--- a/users/stanrc85/rules.mk
+++ b/users/stanrc85/rules.mk
@@ -7,3 +7,8 @@ MOUSEKEY_ENABLE = no
AUDIO_ENABLE = no
CONSOLE_ENABLE = no
NKRO_ENABLE = no
+
+ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
+ # Include my fancy rgb functions source here
+ SRC += layer_rgb.c
+endif