From d3f3da5112c241e1203bd91ae16cc7b0aa075c0c Mon Sep 17 00:00:00 2001 From: Torben Hoffmann Date: Fri, 10 May 2019 07:12:11 +0200 Subject: Norman layout for the minidox keyboard (#5747) * Norman layout with Lower and Raise layers working * Add keymap_extra def for Norman layout * Re-org'ed the modifiers as explained in the Readme * Corrected colour legend for KLE that the Readme links to * Use #pragma once in header file * Use pragma once and move user config to config.h * Move definitions to the right file and correct link in Readme * Move def of NM_COLN to the logical place in header file * Add sendstring_norman.h for when the laptop layout is not QWERTY * Update quantum/keymap_extras/sendstring_norman.h Co-Authored-By: lehoff --- quantum/keymap_extras/keymap_norman.h | 54 +++++++++++++++++++++++++++++++ quantum/keymap_extras/sendstring_norman.h | 39 ++++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 quantum/keymap_extras/keymap_norman.h create mode 100644 quantum/keymap_extras/sendstring_norman.h (limited to 'quantum/keymap_extras') diff --git a/quantum/keymap_extras/keymap_norman.h b/quantum/keymap_extras/keymap_norman.h new file mode 100644 index 0000000000..995b1b8a02 --- /dev/null +++ b/quantum/keymap_extras/keymap_norman.h @@ -0,0 +1,54 @@ + +/* Copyright 2019 Torben Hoffmann + * + * 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 . + */ +#pragma once + +#include "keymap.h" +// For software implementation of norman +#define NM_Q KC_Q +#define NM_W KC_W +#define NM_D KC_E +#define NM_F KC_R +#define NM_K KC_T +#define NM_J KC_Y +#define NM_U KC_U +#define NM_R KC_I +#define NM_L KC_O +#define NM_SCLN KC_P +#define NM_COLN LSFT(NM_SCLN) + +#define NM_A KC_A +#define NM_S KC_S +#define NM_E KC_D +#define NM_T KC_F +#define NM_G KC_G +#define NM_Y KC_H +#define NM_N KC_J +#define NM_I KC_K +#define NM_O KC_L +#define NM_H KC_SCLN + +#define NM_Z KC_Z +#define NM_X KC_X +#define NM_C KC_C +#define NM_V KC_V +#define NM_B KC_B +#define NM_P KC_N +#define NM_M KC_M +#define NM_COMM KC_COMM +#define NM_DOT KC_DOT +#define NM_SLSH KC_SLSH + diff --git a/quantum/keymap_extras/sendstring_norman.h b/quantum/keymap_extras/sendstring_norman.h new file mode 100644 index 0000000000..57d450ca85 --- /dev/null +++ b/quantum/keymap_extras/sendstring_norman.h @@ -0,0 +1,39 @@ +/* Copyright 2019 Torben Hoffmann + * + * 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 . + */ +/* Sendstring definitions for the Colemak layout */ +#pragma once + +#include "keymap_norman.h" + +const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = { + 0, 0, 0, 0, 0, 0, 0, 0, + KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, KC_ESC, 0, 0, 0, 0, + KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT, + KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH, + KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, + KC_8, KC_9, NM_SCLN, NM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH, + KC_2, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G, + NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O, + NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W, + NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS, + KC_GRV, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G, + NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O, + NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W, + NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL +}; + -- cgit v1.2.3