summaryrefslogtreecommitdiffstats
path: root/layouts/community/ergodox/romanzolotarev-norman-qwerty-osx
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2017-08-24 04:29:07 +0200
committerGitHub <noreply@github.com>2017-08-24 04:29:07 +0200
commitd2ff66a985b938e87fffe55c1d9f1dc55e356f91 (patch)
tree561b3e203033849573a17f5ac6248077ab687676 /layouts/community/ergodox/romanzolotarev-norman-qwerty-osx
parent7260fc3eef98fb7b0e2ed24d3d0d14cf2e613000 (diff)
downloadqmk_firmware-d2ff66a985b938e87fffe55c1d9f1dc55e356f91.tar.gz
qmk_firmware-d2ff66a985b938e87fffe55c1d9f1dc55e356f91.tar.xz
Creates a layouts/ folder for keymaps shared between keyboards (#1609)
* include variables and .h files as pp directives * start layout compilation * split ergodoxes up * don't compile all layouts for everything * might seg fault * reset layouts variable * actually reset layouts * include rules.mk instead * remove includes from rules.mk * update variable setting * load visualizer from path * adds some more examples * adds more layouts * more boards added * more boards added * adds documentation for layouts * use lowercase names for LAYOUT_ * add layout.json files for each layout * add community folder, default keymaps for layouts * touch-up default layouts * touch-up layouts, some keyboard rules.mk * update documentation for layouts * fix up serial/i2c switches
Diffstat (limited to 'layouts/community/ergodox/romanzolotarev-norman-qwerty-osx')
-rw-r--r--layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/keymap.c74
-rw-r--r--layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/readme.md34
2 files changed, 108 insertions, 0 deletions
diff --git a/layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/keymap.c b/layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/keymap.c
new file mode 100644
index 000000000..d0b7520c3
--- /dev/null
+++ b/layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/keymap.c
@@ -0,0 +1,74 @@
+#include QMK_KEYBOARD_H
+#include "debug.h"
+#include "action_layer.h"
+
+#define BASE 0
+#define QWRT 1
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [BASE] = LAYOUT_ergodox(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F5,
+ KC_TAB, KC_Q, KC_W, KC_D, KC_F, KC_K, KC_BSLS,
+ KC_LCTL, KC_A, KC_S, KC_E, KC_T, KC_G,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC,
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_LGUI,
+ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_VOLD, KC_MUTE,
+ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_VOLU,
+ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_BSPC, CTL_T(KC_ESC), KC_LALT,
+ //
+ /*-*/ KC_F6, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL,
+ /*-*/ TG(QWRT), KC_J, KC_U, KC_R, KC_L, KC_SCLN, KC_MINS,
+ /*-*/ /*-*/ KC_Y, KC_N, KC_I, KC_O, KC_H, KC_ENT,
+ /*-*/ KC_RBRC, KC_P, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ /*-*/ /*-*/ /*-*/ KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
+ KC_MPLY, KC_MNXT,
+ KC_MPRV,
+ KC_RALT, KC_QUOT, KC_SPC
+ ),
+ [QWRT] = LAYOUT_ergodox(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_E, KC_R, KC_T, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_D, KC_F, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS,
+ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS,
+ /*-*/ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS,
+ //
+ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ /*-*/ KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS,
+ /*-*/ /*-*/ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_TRNS,
+ /*-*/ KC_TRNS, KC_N, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ /*-*/ /*-*/ /*-*/ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS,
+ KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
+
+const uint16_t PROGMEM fn_actions[] = {
+};
+
+const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
+ return MACRO_NONE;
+};
+
+// Runs just one time when the keyboard initializes.
+void matrix_init_user(void) {
+};
+
+// Runs constantly in the background, in a loop.
+void matrix_scan_user(void) {
+ uint8_t layer = biton32(layer_state);
+ ergodox_board_led_off();
+ ergodox_right_led_1_off();
+ ergodox_right_led_2_off();
+ ergodox_right_led_3_off();
+ switch (layer) {
+ case QWRT:
+ ergodox_right_led_1_on();
+ break;
+ default:
+ break;
+ }
+};
diff --git a/layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/readme.md b/layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/readme.md
new file mode 100644
index 000000000..41859f1ad
--- /dev/null
+++ b/layouts/community/ergodox/romanzolotarev-norman-qwerty-osx/readme.md
@@ -0,0 +1,34 @@
+# Roman's Layout
+
+There are two layers:
+
+- **BASE** is [Norman layout](https://normanlayout.info/).
+- **QWRT** is QWERTY.
+
+[![keyboard-layout](https://i.imgur.com/jfKBznw.png)](http://www.keyboard-layout-editor.com/#/gists/3b236f450da474dc506a5a80390c3cc7)
+
+## Switching
+
+- Tap `QWRT` to toggle **QWRT**.
+
+## LEDs
+
+- Red: QWRT is on.
+
+## Functional Keys
+
+- Tap `F1` to mute microphone via [Shush](http://mizage.com/shush/).
+- Tap `F2` to copy screenshot to the clipboard.
+- Hold `SHIFT` and tap `F2` to save screenshot as a file.
+- Tap `F3`, `F4`, `F5`, `F6` to resize a window via [Divvy](http://mizage.com/divvy/).
+
+## CTRL/ESC
+
+Both CTRL and ESC are frequently used in Vim.
+
+- Tap `CTRL/ESC` to send `ESC`.
+- Hold `CTRL/ESC` to use as `CTRL`.
+
+## Activate N-rollover
+
+- Hold left `SHIFT` and right `SHIRT` and then tap `N`.