diff options
author | Nick Choi <nikchi@users.noreply.github.com> | 2017-05-30 20:17:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-30 20:17:48 +0200 |
commit | 2c9f846608cbf91ce936071372634194745994d0 (patch) | |
tree | 7fc260baa3bca7ba748117e07fca8aaa186943dd /keyboards | |
parent | 5393bc6f4eee3d3cb83997e5b03d8e5a5cea85d8 (diff) | |
parent | cb791cf6cdbcd9fd1291f36f6b1a6840753db97f (diff) | |
download | qmk_firmware-2c9f846608cbf91ce936071372634194745994d0.tar.gz qmk_firmware-2c9f846608cbf91ce936071372634194745994d0.tar.xz |
Merge pull request #2 from qmk/master
pull in new qmk changes
Diffstat (limited to 'keyboards')
-rw-r--r-- | keyboards/clueboard/keymaps/jokrik/keymap.c | 86 | ||||
-rw-r--r-- | keyboards/clueboard/keymaps/jokrik/readme.md | 11 | ||||
-rw-r--r-- | keyboards/ergodox/config.h | 4 | ||||
-rw-r--r-- | keyboards/ergodox/ez/config.h | 2 | ||||
-rw-r--r-- | keyboards/handwired/trackpoint/Makefile | 3 | ||||
-rw-r--r-- | keyboards/handwired/trackpoint/README.md | 10 | ||||
-rw-r--r-- | keyboards/handwired/trackpoint/config.h | 75 | ||||
-rw-r--r-- | keyboards/handwired/trackpoint/keymaps/default/keymap.c | 7 | ||||
-rw-r--r-- | keyboards/handwired/trackpoint/rules.mk | 25 | ||||
-rw-r--r-- | keyboards/handwired/trackpoint/trackpoint.c | 5 | ||||
-rw-r--r-- | keyboards/handwired/trackpoint/trackpoint.h | 13 | ||||
-rw-r--r-- | keyboards/handwired/trackpoint/wiring.png | bin | 0 -> 7217 bytes | |||
-rw-r--r-- | keyboards/planck/keymaps/johannes/Makefile | 25 | ||||
-rw-r--r-- | keyboards/planck/keymaps/johannes/keymap.c | 99 | ||||
-rw-r--r-- | keyboards/planck/keymaps/johannes/planck-layout.png | bin | 0 -> 19661 bytes | |||
-rw-r--r-- | keyboards/planck/keymaps/johannes/readme.md | 6 |
16 files changed, 369 insertions, 2 deletions
diff --git a/keyboards/clueboard/keymaps/jokrik/keymap.c b/keyboards/clueboard/keymaps/jokrik/keymap.c new file mode 100644 index 000000000..acde4d9e1 --- /dev/null +++ b/keyboards/clueboard/keymaps/jokrik/keymap.c @@ -0,0 +1,86 @@ +#include "clueboard.h" + +// Helpful defines +#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT)) +#define _______ KC_TRNS + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +#define _BL 0 +#define _FL 1 +#define _CL 2 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: Base Layer (Default Layer) + */ +[_BL] = KEYMAP( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_PSCR, \ + 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_PAUS, \ + 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_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_RO, KC_RSFT, KC_UP, \ + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC,KC_SPC, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + + /* Keymap _FL: Function Layer + */ +[_FL] = KEYMAP( + 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_INS, KC_DEL, BL_STEP, \ + _______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, _______, \ + _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \ + _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, \ + _______, _______, _______, _______, _______,_______, _______, _______, MO(_FL), _______, KC_HOME, KC_PGDN, KC_END), + + /* Keymap _CL: Control layer + */ +[_CL] = KEYMAP( + _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \ + _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \ + _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \ + MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_SAI, \ + _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, MO(_FL), _______, RGB_HUD, RGB_SAD, RGB_HUI), +}; + +/* This is a list of user defined functions. F(N) corresponds to item N + of this list. + */ +const uint16_t PROGMEM fn_actions[] = { + [0] = ACTION_FUNCTION(0), // Calls action_function() +}; + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { + static uint8_t mods_pressed; + static bool mod_flag; + + switch (id) { + case 0: + /* Handle the combined Grave/Esc key + */ + mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed + + if (record->event.pressed) { + /* The key is being pressed. + */ + if (mods_pressed) { + mod_flag = true; + add_key(KC_GRV); + send_keyboard_report(); + } else { + add_key(KC_ESC); + send_keyboard_report(); + } + } else { + /* The key is being released. + */ + if (mod_flag) { + mod_flag = false; + del_key(KC_GRV); + send_keyboard_report(); + } else { + del_key(KC_ESC); + send_keyboard_report(); + } + } + break; + } +} diff --git a/keyboards/clueboard/keymaps/jokrik/readme.md b/keyboards/clueboard/keymaps/jokrik/readme.md new file mode 100644 index 000000000..cc5eeba96 --- /dev/null +++ b/keyboards/clueboard/keymaps/jokrik/readme.md @@ -0,0 +1,11 @@ +``` + ___ _____ _ _ _ __ __ _ __ +|__ \ / ____| | | | | | / / / /(_) / / + ||) | | | | |_ _ ___| |__ ___ __ _ _ __ __| | / /_ / /_ / / + |/ / | | | | | | |/ _ \ '_ \ / _ \ / _` | '__/ _` | | '_ \| '_ \ / / + |_| | |____| | |_| | __/ |_) | (_) | (_| | | | (_| | | (_) | (_) / / _ + (_) \_____|_|\__,_|\___|_.__/ \___/ \__,_|_| \__,_| \___/ \___/_/ (_) +``` + +# Jokrik's Clueboard Layout + diff --git a/keyboards/ergodox/config.h b/keyboards/ergodox/config.h index 994a8c643..2091999bb 100644 --- a/keyboards/ergodox/config.h +++ b/keyboards/ergodox/config.h @@ -3,8 +3,8 @@ #define MOUSEKEY_INTERVAL 20 #define MOUSEKEY_DELAY 0 -#define MOUSEKEY_TIME_TO_MAX 5 -#define MOUSEKEY_MAX_SPEED 2 +#define MOUSEKEY_TIME_TO_MAX 60 +#define MOUSEKEY_MAX_SPEED 7 #define MOUSEKEY_WHEEL_DELAY 0 #define TAPPING_TOGGLE 1 diff --git a/keyboards/ergodox/ez/config.h b/keyboards/ergodox/ez/config.h index aa17c3e8d..cc8aa3d40 100644 --- a/keyboards/ergodox/ez/config.h +++ b/keyboards/ergodox/ez/config.h @@ -60,6 +60,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* Set 0 if debouncing isn't needed */ #define DEBOUNCE 15 +#define PREVENT_STUCK_MODIFIERS + #define USB_MAX_POWER_CONSUMPTION 500 /* diff --git a/keyboards/handwired/trackpoint/Makefile b/keyboards/handwired/trackpoint/Makefile new file mode 100644 index 000000000..191c6bb66 --- /dev/null +++ b/keyboards/handwired/trackpoint/Makefile @@ -0,0 +1,3 @@ +ifndef MAKEFILE_INCLUDED + include ../../../Makefile +endif
\ No newline at end of file diff --git a/keyboards/handwired/trackpoint/README.md b/keyboards/handwired/trackpoint/README.md new file mode 100644 index 000000000..a22fca295 --- /dev/null +++ b/keyboards/handwired/trackpoint/README.md @@ -0,0 +1,10 @@ +# IBM Trackpoint demonstration + +This is just a simple demo to show how to integrate IBM Trackpoint in QMK. + +Wiring used in the demonstration: +![Wiring example](./wiring.png) + +Some documentation: +* [How to wire IBM Trackpoint](https://github.com/alonswartz/trackpoint) +* [QMK documentation](https://docs.qmk.fm/) diff --git a/keyboards/handwired/trackpoint/config.h b/keyboards/handwired/trackpoint/config.h new file mode 100644 index 000000000..7558c03bf --- /dev/null +++ b/keyboards/handwired/trackpoint/config.h @@ -0,0 +1,75 @@ +#ifndef CONFIG_H + #define CONFIG_H + + #include "config_common.h" + + #define VENDOR_ID 0x1234 + #define PRODUCT_ID 0x5678 + #define DEVICE_VER 0x0001 + #define MANUFACTURER QMK + #define PRODUCT TRACKPOINT-DEMO + #define DESCRIPTION Simple demonstration for IBM Trackpoint integration + + #define MATRIX_ROWS 1 + #define MATRIX_COLS 3 + + #ifdef PS2_USE_USART + #define PS2_CLOCK_PORT PORTD + #define PS2_CLOCK_PIN PIND + #define PS2_CLOCK_DDR DDRD + #define PS2_CLOCK_BIT 5 + #define PS2_DATA_PORT PORTD + #define PS2_DATA_PIN PIND + #define PS2_DATA_DDR DDRD + #define PS2_DATA_BIT 2 + + /* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */ + /* set DDR of CLOCK as input to be slave */ + #define PS2_USART_INIT() do { \ + PS2_CLOCK_DDR &= ~(1<<PS2_CLOCK_BIT); \ + PS2_DATA_DDR &= ~(1<<PS2_DATA_BIT); \ + UCSR1C = ((1 << UMSEL10) | \ + (3 << UPM10) | \ + (0 << USBS1) | \ + (3 << UCSZ10) | \ + (0 << UCPOL1)); \ + UCSR1A = 0; \ + UBRR1H = 0; \ + UBRR1L = 0; \ + } while (0) + #define PS2_USART_RX_INT_ON() do { \ + UCSR1B = ((1 << RXCIE1) | \ + (1 << RXEN1)); \ + } while (0) + #define PS2_USART_RX_POLL_ON() do { \ + UCSR1B = (1 << RXEN1); \ + } while (0) + #define PS2_USART_OFF() do { \ + UCSR1C = 0; \ + UCSR1B &= ~((1 << RXEN1) | \ + (1 << TXEN1)); \ + } while (0) + #define PS2_USART_RX_READY (UCSR1A & (1<<RXC1)) + #define PS2_USART_RX_DATA UDR1 + #define PS2_USART_ERROR (UCSR1A & ((1<<FE1) | (1<<DOR1) | (1<<UPE1))) + #define PS2_USART_RX_VECT USART1_RX_vect + #endif + + #define MATRIX_COL_PINS { F1, F4, F5 } + #define MATRIX_ROW_PINS { F0 } + #define UNUSED_PINS + + /* COL2ROW or ROW2COL */ + #define DIODE_DIRECTION COL2ROW + + #define DEBOUNCING_DELAY 5 + + #define LOCKING_SUPPORT_ENABLE + #define LOCKING_RESYNC_ENABLE + + /* key combination for command */ + #define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ + ) + +#endif diff --git a/keyboards/handwired/trackpoint/keymaps/default/keymap.c b/keyboards/handwired/trackpoint/keymaps/default/keymap.c new file mode 100644 index 000000000..22e46d98a --- /dev/null +++ b/keyboards/handwired/trackpoint/keymaps/default/keymap.c @@ -0,0 +1,7 @@ +#include "trackpoint.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = KEYMAP( + KC_BTN1, KC_BTN3, KC_BTN2 \ + ) +}; diff --git a/keyboards/handwired/trackpoint/rules.mk b/keyboards/handwired/trackpoint/rules.mk new file mode 100644 index 000000000..0609dd304 --- /dev/null +++ b/keyboards/handwired/trackpoint/rules.mk @@ -0,0 +1,25 @@ +MCU = atmega32u4 +F_CPU = 16000000 +ARCH = AVR8 +F_USB = $(F_CPU) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT +OPT_DEFS += -DBOOTLOADER_SIZE=512 +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 +SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend +NKRO_ENABLE ?= no # USB Nkey Rollover +BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default +MIDI_ENABLE ?= no # MIDI controls +UNICODE_ENABLE ?= no # Unicode +BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID +AUDIO_ENABLE ?= no # Audio output on port C6 + +PS2_MOUSE_ENABLE ?= yes +PS2_USE_USART ?= yes + +ifndef QUANTUM_DIR + include ../../Makefile +endif diff --git a/keyboards/handwired/trackpoint/trackpoint.c b/keyboards/handwired/trackpoint/trackpoint.c new file mode 100644 index 000000000..124995a64 --- /dev/null +++ b/keyboards/handwired/trackpoint/trackpoint.c @@ -0,0 +1,5 @@ +#include "trackpoint.h" + +void matrix_init_kb(void) { + +} diff --git a/keyboards/handwired/trackpoint/trackpoint.h b/keyboards/handwired/trackpoint/trackpoint.h new file mode 100644 index 000000000..b5d73d7db --- /dev/null +++ b/keyboards/handwired/trackpoint/trackpoint.h @@ -0,0 +1,13 @@ +#ifndef TRACKPOINT_H +#define TRACKPOINT_H + +#include "quantum.h" + +#define KEYMAP( \ + k00, k01, k02 \ +) \ +{ \ + { k00, k01, k02} \ +} + +#endif diff --git a/keyboards/handwired/trackpoint/wiring.png b/keyboards/handwired/trackpoint/wiring.png Binary files differnew file mode 100644 index 000000000..45806e007 --- /dev/null +++ b/keyboards/handwired/trackpoint/wiring.png diff --git a/keyboards/planck/keymaps/johannes/Makefile b/keyboards/planck/keymaps/johannes/Makefile new file mode 100644 index 000000000..0c0632da0 --- /dev/null +++ b/keyboards/planck/keymaps/johannes/Makefile @@ -0,0 +1,25 @@ + + +# 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 = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. + +# 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
\ No newline at end of file diff --git a/keyboards/planck/keymaps/johannes/keymap.c b/keyboards/planck/keymaps/johannes/keymap.c new file mode 100644 index 000000000..a3376518b --- /dev/null +++ b/keyboards/planck/keymaps/johannes/keymap.c @@ -0,0 +1,99 @@ +#include "planck.h" + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +// Fillers to make layering more clear +#define _______ KC_TRNS +#define XXXXXXX KC_NO +#define QWERTY 0 +#define LOWER 1 +#define RAISE 2 +#define FUNCTION 3 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | ' | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | Ctrl | Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | alt |play/p| super|shift | Space|Raise | lower| alt | altgr| |fn | + * `-----------------------------------------------------------------------------------' + */ +[QWERTY] = { + {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC}, + {KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT}, + {KC_LCTRL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, + {_______, KC_LALT, LT(FUNCTION, KC_MPLY), KC_LGUI, KC_LSHIFT, KC_SPC, MO(RAISE), MO(LOWER), KC_LALT, KC_RALT, XXXXXXX, MO(FUNCTION)} +}, + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | { | } | + | | | Å | Ä | Ö | _ | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | | | | | | \ | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[LOWER] = { + {KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC}, + {_______, _______, KC_LCBR, KC_RCBR, KC_PLUS, _______, _______, RALT(KC_W), RALT(KC_Q), RALT(KC_P), KC_UNDS, _______}, + {_______, _______, _______, _______, _______, _______, _______,_______, _______,_______, KC_BSLS, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} +}, + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | [ | ] | = | | left| down| up | right| - | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[RAISE] = { + {KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL}, + {_______, _______, KC_LBRC, KC_RBRC, KC_EQL, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_MINS, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PIPE, _______}, + {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______} +}, + +/* Fn + * ,-----------------------------------------------------------------------------------. + * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 ' + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | | prev | vol.d| vo.up| next | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | | mute | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | CAPS | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[FUNCTION] = { + {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_MEDIA_PREV_TRACK, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_MEDIA_NEXT_TRACK, _______, _______}, + {_______, _______, _______, _______, _______, _______, _______, KC_AUDIO_MUTE, _______, _______, _______, _______}, + {_______, _______, _______, _______, KC_CAPS, _______, _______, _______, _______, _______, _______, _______} +}, + +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + return MACRO_NONE; +}; diff --git a/keyboards/planck/keymaps/johannes/planck-layout.png b/keyboards/planck/keymaps/johannes/planck-layout.png Binary files differnew file mode 100644 index 000000000..e863b802c --- /dev/null +++ b/keyboards/planck/keymaps/johannes/planck-layout.png diff --git a/keyboards/planck/keymaps/johannes/readme.md b/keyboards/planck/keymaps/johannes/readme.md new file mode 100644 index 000000000..bbb7accf8 --- /dev/null +++ b/keyboards/planck/keymaps/johannes/readme.md @@ -0,0 +1,6 @@ +# Planck layout for Swedish programmer +I.e. easy access to special keys and åäö. + +![layout](planck-layout.png) + +[KBLE link](http://www.keyboard-layout-editor.com/#/gists/dc01cc2225899308a05ba3ef0031548b) |