From d2ff66a985b938e87fffe55c1d9f1dc55e356f91 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Wed, 23 Aug 2017 22:29:07 -0400 Subject: 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 --- .../keymaps/norwegian_programmer_osx_pc/keymap.c | 180 --------------------- .../keymaps/norwegian_programmer_osx_pc/readme.md | 30 ---- 2 files changed, 210 deletions(-) delete mode 100644 keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/keymap.c delete mode 100644 keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/readme.md (limited to 'keyboards/ergodox/keymaps/norwegian_programmer_osx_pc') diff --git a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/keymap.c b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/keymap.c deleted file mode 100644 index 1d505f8e38..0000000000 --- a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/keymap.c +++ /dev/null @@ -1,180 +0,0 @@ -#include "ergodox.h" -#include "debug.h" -#include "action_layer.h" -#include "keymap_norwegian.h" - -#define BASE 0 // default layer -#define BASE_MAC 1 // default layer mac -#define NUMB_FUNC 2 // numbers and function keys - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* Keymap 0: Basic layer PC - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | * | [ | ] | { | } | ~ |Mac/PC| | ^ | $ | ( | ) | < | > | @ | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | + | Q | W | E | R | T | " | | ' | Y | U | I | O | P | Å | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | / | A | S | D | F | G |------| |------| H | J | K | L | Ø | Æ | - * |--------+------+------+------+------+------| ; | | = |------+------+------+------+------+--------| - * | - | Z | X | C | V | B | | | | N | M | RIGHT| DOWN | UP | _ | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * |Alt/esc| ! | ? | : | TAB | | LEFT | _ | & | | |Num/fn| - * `----------------------------------' `----------------------------------' - * ,-------------. ,--------------. - * | # | ` | |Insert| % | - * ,------|------|------| |------+-------+------. - * | | | ´ | | Del | | | - * | Shift|Ctrl/.|------| |------| Enter |Space | - * | | |GUI/, | | Bspc | | | - * `--------------------' `---------------------' - */ -[BASE] = KEYMAP( - // left hand - KC_PAST, NO_LBRC, NO_RBRC, NO_LCBR, NO_RCBR, KC_FN2, TG(1), - KC_PPLS, KC_Q, KC_W, KC_E, KC_R, KC_T, NO_QUO2, - KC_PSLS, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_PMNS, KC_Z, KC_X, KC_C, KC_V, KC_B, NO_SCLN, - ALT_T(KC_ESC), KC_EXLM , NO_QUES, NO_COLN, KC_TAB, - KC_HASH, KC_FN7, - KC_FN6, - KC_FN1,CTL_T(KC_DOT),GUI_T(KC_COMMA), - // right hand - KC_FN5, NO_DLR, NO_LPRN, NO_RPRN ,KC_FN3, KC_FN4,NO_AT, - NO_APOS, KC_Y, KC_U, KC_I, KC_O, KC_P, NO_AA , - KC_H, KC_J, KC_K, KC_L, NO_OSLH, NO_AE, - NO_EQL, KC_N, KC_M, KC_RIGHT, KC_DOWN, KC_UP, NO_BSLS, - KC_LEFT, NO_UNDS, NO_AMPR, NO_PIPE, OSL(2), - KC_INSERT, KC_PERC, - KC_DELT, - KC_BSPC,KC_ENT,KC_SPC - ), -/* Keymap 1: Basic layer MACS (Same as pc, except for cmd/ctrl, which are swapped) - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | \ | | | { | } | | | | | $ | | | < | > | @ | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * |--------+------+------+------+------+------| | | ' |------+------+------+------+------+--------| - * | | | | | | |------| |------| | | | | | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | | | | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | |,/Ctrl| | | | ` | |Num/fn| - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | ` | | | | - * ,------|------|------| |------+------+------. - * | | | ´ | | | | | - * | |GUI/. |------| |------| | | - * | | |crtl/,| | | | | - * `--------------------' `--------------------' - */ -[BASE_MAC] = KEYMAP( - KC_TRNS, KC_TRNS,KC_TRNS, NO_LCBR_MAC,NO_RCBR_MAC, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, NO_GRV_MAC, - KC_FN10, - KC_TRNS,GUI_T(KC_DOT) , CTL_T(KC_COMMA), - // right hand - KC_TRNS, NO_DLR_MAC, KC_TRNS,KC_TRNS,KC_FN8, KC_FN9,NO_AT_MAC, - NO_APOS_MAC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NO_BSLS_MAC, - KC_TRNS, KC_TRNS, KC_TRNS, NO_PIPE_MAC, OSL(2), - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -), - -/* Keymap 2: Number ++´ánd Fn layer - * - * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | F9 | F10 | F11 | F12 | | - * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | 8 | 7 | 6 | 5 | 9 | | | | | F5 | F6 | F7 | F8 | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | 4 | 3 | 2 | 1 | 0 |------| |------| | F1 | F2 | F3 | F4 | | - * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | | | | | | | | | | | END | PGDWN| PGUP | | - * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | HOME | | | | | - * `----------------------------------' `----------------------------------' - * ,-------------. ,-------------. - * | | | | | | - * ,------|------|------| |------+------+------. - * | | | | | | | | - * | | |------| |------| | | - * | | | | | | | | - * `--------------------' `--------------------' - */ -[NUMB_FUNC] = KEYMAP( - NO_ASTR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - NO_PLUS, KC_8, KC_7,KC_6,KC_5, KC_9 , KC_TRNS, - NO_SLSH , KC_4 , KC_3 , KC_2 , KC_1 , KC_0, - NO_MINS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - // right hand - KC_TRNS, KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, - KC_TRNS, KC_TRNS, KC_F5, KC_F6 , KC_F7, KC_F8, KC_TRNS, - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, - KC_TRNS, KC_HOME, KC_TRNS, KC_END, KC_PGDN, KC_PGUP, KC_TRNS, - KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS -) -}; - -enum macro_id { - TILDE_NO, LESS_NO, GRTR_NO, CIRC_NO, ACUT_NO, GRV_NO, LESS_NO_MAC, GRTR_NO_MAC, ACUT_NO_MAC -}; - -const uint16_t PROGMEM fn_actions[] = { - [1] = ACTION_MODS_ONESHOT(MOD_LSFT), // Sticky shift light. Tap for the next keypress to be shifted. Hold for regular shift. - [2] = ACTION_MACRO(TILDE_NO), // Completed ~ character(pc and mac), no space needed. - [3] = ACTION_MACRO(LESS_NO), // < completed on keypress down, to avoid shifting the next character if it is not released first. - [4] = ACTION_MACRO(GRTR_NO), // > completed on keypress down, to avoid shifting the next character if it is not released first. - [5] = ACTION_MACRO(CIRC_NO), // Completed ^ character, no space needed. - [6] = ACTION_MACRO(ACUT_NO), // Completed ´ character, no space needed. - [7] = ACTION_MACRO(GRV_NO), // Completed ` character, no space needed. - [8] = ACTION_MACRO(LESS_NO_MAC), // < completed on keypress down, to avoid same button problem when typing <> quickly - [9] = ACTION_MACRO(GRTR_NO_MAC), // > completed on keypress down, to avoid same button problem when typing <> quickly - [10] = ACTION_MACRO(ACUT_NO_MAC), // Completed ´ character, no space needed -}; - - - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - keyevent_t event = record->event; - - switch (id) { - case TILDE_NO: - return (event.pressed ? MACRO( D(RALT), T(RBRC), U(RALT), T(SPC), END ) : MACRO_NONE); - case LESS_NO: - return (event.pressed ? MACRO( T(NUBS), END ) : MACRO_NONE); - case GRTR_NO: - return (event.pressed ? MACRO( D(LSFT), T(NUBS), U(LSFT), END ) : MACRO_NONE); - case CIRC_NO: - return (event.pressed ? MACRO( D(LSFT), T(RBRC), U(LSFT), T(SPC), END ) : MACRO_NONE); - case ACUT_NO: - return (event.pressed ? MACRO( D(RALT), T(EQL), U(RALT), T(SPC), END ) : MACRO_NONE); - case GRV_NO: - return (event.pressed ? MACRO( D(LSFT), T(EQL), T(SPC), U(LSFT), END ) : MACRO_NONE); - case LESS_NO_MAC: - return (event.pressed ? MACRO( T(GRV), END ) : MACRO_NONE); - case GRTR_NO_MAC: - return (event.pressed ? MACRO( D(LSFT), T(GRV), U(LSFT), END ) : MACRO_NONE); - case ACUT_NO_MAC: - return (event.pressed ? MACRO( T(EQL), T(SPC), END ) : MACRO_NONE); - } - return MACRO_NONE; -}; diff --git a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/readme.md b/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/readme.md deleted file mode 100644 index 444f2e9207..0000000000 --- a/keyboards/ergodox/keymaps/norwegian_programmer_osx_pc/readme.md +++ /dev/null @@ -1,30 +0,0 @@ -# Norwegian setup with osx/pc toggle - -## Motivation -I wanted a Norwegian setup that worked in a similar way on both my Mac and PC. I also wanted the keyboard to translate from a standard Norwegian keyboard OS setup. - -## Overview -The setup is created to be programmer friendly. -- Most of the symbols used in code can be activated without using layers or shift key. -- You can reach the IDE/OS shortcut activators(Ctrl, Win/Cmd, Alt, Shift) with the thumb or the wrist. -- Navigation is prioritized, arrows below the home row. - -## PC/Mac toggle -The default setup is for Norwegian keyboard setting(on a PC(Windows or Linux) or Mac. Use the Mac/PC toggle button to switch between OSX and PC setup. The settings will be reverted to PC setup each time you restart/connect the keyboard. - -## Layers -Since symbols are prioritized in this setup, numbers and function keys are on a new layer. The easiest way to use the layer switch(and also the alt key), is to push your hand right below the little finger, on the key. You will then have all your fingers free to type numbers or press function keys. - -## Tap-shift -Tap for the next character to be shifted, hold down for regular shift. - -## Comma dot and escape -Comma, dot and escape share buttons with modifier keys. Tap to access these keys, hold down to use the keys as modifier keys. - -## Numpad symbols -+-/* are implemented with the numpad keycodes. The benefit is that they will work better with shortcuts in certain programs. For some reason, the default setting in the osx terminal is to not accept numpad characters for '/' and '-'. For a solution, see https://discussions.apple.com/thread/6613968?start=0&tstart=0. -If you really need the norwegian symbols in a program, you can access them using the number toggle button. - -## Layout - -![keyboard-layout](https://i.imgur.com/Qz3E9po.png) -- cgit v1.2.3