From c670240503b0af720f0fb729dfa1d07a993e63e7 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 18 Mar 2020 11:09:12 +1100 Subject: Update UK keymap and sendstring LUT (#8458) --- quantum/keymap_extras/keymap_uk.h | 339 +++++++++++++++++++--------------- quantum/keymap_extras/sendstring_uk.h | 4 +- 2 files changed, 196 insertions(+), 147 deletions(-) (limited to 'quantum/keymap_extras') diff --git a/quantum/keymap_extras/keymap_uk.h b/quantum/keymap_extras/keymap_uk.h index d4329e547d..589fb4ea18 100644 --- a/quantum/keymap_extras/keymap_uk.h +++ b/quantum/keymap_extras/keymap_uk.h @@ -13,165 +13,214 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -#ifndef KEYMAP_UK_H -#define KEYMAP_UK_H -#include "keymap.h" - -// Normal characters -#define UK_HASH KC_NUHS -#define UK_BSLS KC_NUBS - -// Shifted characters -#define UK_NOT LSFT(KC_GRV) -#define UK_DQUO LSFT(KC_2) -#define UK_PND LSFT(KC_3) -#define UK_AT LSFT(KC_QUOT) -#define UK_TILD LSFT(KC_NUHS) -#define UK_PIPE LSFT(KC_NUBS) +#pragma once -// Alt Gr-ed characters -#define UK_BRKP ALGR(KC_GRV) -#define UK_EURO ALGR(KC_4) -#define UK_EACT ALGR(KC_E) -#define UK_UACT ALGR(KC_U) -#define UK_IACT ALGR(KC_I) -#define UK_OACT ALGR(KC_O) -#define UK_AACT ALGR(KC_A) - -// Duplicate US keyboard so that we don't have to use it -#define UK_A KC_A -#define UK_B KC_B -#define UK_C KC_C -#define UK_D KC_D -#define UK_E KC_E -#define UK_F KC_F -#define UK_G KC_G -#define UK_H KC_H -#define UK_I KC_I -#define UK_J KC_J -#define UK_K KC_K -#define UK_L KC_L -#define UK_M KC_M -#define UK_N KC_N -#define UK_O KC_O -#define UK_P KC_P -#define UK_Q KC_Q -#define UK_R KC_R -#define UK_S KC_S -#define UK_T KC_T -#define UK_U KC_U -#define UK_V KC_V -#define UK_W KC_W -#define UK_X KC_X -#define UK_Y KC_Y -#define UK_Z KC_Z +#include "keymap.h" -#define UK_1 KC_1 -#define UK_2 KC_2 -#define UK_3 KC_3 -#define UK_4 KC_4 -#define UK_5 KC_5 -#define UK_6 KC_6 -#define UK_7 KC_7 -#define UK_8 KC_8 -#define UK_9 KC_9 -#define UK_0 KC_0 +// clang-format off -#define UK_F1 KC_F1 -#define UK_F2 KC_F2 -#define UK_F3 KC_F3 -#define UK_F4 KC_F4 -#define UK_F5 KC_F5 -#define UK_F6 KC_F6 -#define UK_F7 KC_F7 -#define UK_F8 KC_F8 -#define UK_F9 KC_F9 -#define UK_F10 KC_F10 -#define UK_F11 KC_F11 -#define UK_F12 KC_F12 -#define UK_F13 KC_F13 -#define UK_F14 KC_F14 -#define UK_F15 KC_F15 -#define UK_F16 KC_F16 -#define UK_F17 KC_F17 -#define UK_F18 KC_F18 -#define UK_F19 KC_F19 -#define UK_F20 KC_F20 -#define UK_F21 KC_F21 -#define UK_F22 KC_F22 -#define UK_F23 KC_F23 -#define UK_F24 KC_F24 +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │       │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │     │ 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 │ , │ . │ / │          │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │    │    │    │                        │    │    │    │    │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define UK_GRV KC_GRV // ` +#define UK_1 KC_1 // 1 +#define UK_2 KC_2 // 2 +#define UK_3 KC_3 // 3 +#define UK_4 KC_4 // 4 +#define UK_5 KC_5 // 5 +#define UK_6 KC_6 // 6 +#define UK_7 KC_7 // 7 +#define UK_8 KC_8 // 8 +#define UK_9 KC_9 // 9 +#define UK_0 KC_0 // 0 +#define UK_MINS KC_MINS // - +#define UK_EQL KC_EQL // = +// Row 2 +#define UK_Q KC_Q // Q +#define UK_W KC_W // W +#define UK_E KC_E // E +#define UK_R KC_R // R +#define UK_T KC_T // T +#define UK_Y KC_Y // Y +#define UK_U KC_U // U +#define UK_I KC_I // I +#define UK_O KC_O // O +#define UK_P KC_P // P +#define UK_LBRC KC_LBRC // [ +#define UK_RBRC KC_RBRC // ] +// Row 3 +#define UK_A KC_A // A +#define UK_S KC_S // S +#define UK_D KC_D // D +#define UK_F KC_F // F +#define UK_G KC_G // G +#define UK_H KC_H // H +#define UK_J KC_J // J +#define UK_K KC_K // K +#define UK_L KC_L // L +#define UK_SCLN KC_SCLN // ; +#define UK_QUOT KC_QUOT // ' +#define UK_HASH KC_NUHS // # +// Row 4 +#define UK_BSLS KC_NUBS // (backslash) +#define UK_Z KC_Z // Z +#define UK_X KC_X // X +#define UK_C KC_C // C +#define UK_V KC_V // V +#define UK_B KC_B // B +#define UK_N KC_N // N +#define UK_M KC_M // M +#define UK_COMM KC_COMM // , +#define UK_DOT KC_DOT // . +#define UK_SLSH KC_SLSH // / -#define UK_SCLN KC_SCLN -#define UK_COMM KC_COMM -#define UK_DOT KC_DOT -#define UK_SLSH KC_SLSH -#define UK_EXLM KC_EXLM -#define UK_UNDS KC_UNDS -#define UK_MINS KC_MINS -#define UK_LCBR KC_LCBR -#define UK_RCBR KC_RCBR -#define UK_DLR KC_DLR -#define UK_PERC KC_PERC -#define UK_PLUS KC_PLUS -#define UK_EQL KC_EQL -#define UK_LPRN KC_LPRN -#define UK_RPRN KC_RPRN -#define UK_CIRC KC_CIRC -#define UK_AMPR KC_AMPR -#define UK_LABK KC_LABK -#define UK_LBRC KC_LBRC -#define UK_RBRC KC_RBRC -#define UK_RABK KC_RABK -#define UK_GRV KC_GRV -#define UK_ASTR KC_ASTR -#define UK_QUOT KC_QUOT +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ¬ │ ! │ " │ £ │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │       │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │     │   │   │   │   │   │   │   │   │   │   │ { │ } │     │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │ + * │      │   │   │   │   │   │   │   │   │   │ : │ @ │ ~ │    │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │    │ | │   │   │   │   │   │   │   │ < │ > │ ? │          │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │    │    │    │                        │    │    │    │    │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define UK_NOT S(UK_GRV) // ¬ +#define UK_EXLM S(UK_1) // ! +#define UK_DQUO S(UK_2) // " +#define UK_PND S(UK_3) // £ +#define UK_DLR S(UK_4) // $ +#define UK_PERC S(UK_5) // % +#define UK_CIRC S(UK_6) // ^ +#define UK_AMPR S(UK_7) // & +#define UK_ASTR S(UK_8) // * +#define UK_LPRN S(UK_9) // ( +#define UK_RPRN S(UK_0) // ) +#define UK_UNDS S(UK_MINS) // _ +#define UK_PLUS S(UK_EQL) // + +// Row 2 +#define UK_LCBR S(UK_LBRC) // { +#define UK_RCBR S(UK_RBRC) // } +// Row 3 +#define UK_COLN S(UK_SCLN) // : +#define UK_AT S(UK_QUOT) // @ +#define UK_TILD S(UK_HASH) // ~ +// Row 4 +#define UK_PIPE S(UK_BSLS) // | +#define UK_LABK S(UK_COMM) // < +#define UK_RABK S(UK_DOT) // > +#define UK_QUES S(UK_SLSH) // ? -#define UK_P1 KC_P1 -#define UK_P2 KC_P2 -#define UK_P3 KC_P3 -#define UK_P4 KC_P4 -#define UK_P5 KC_P5 -#define UK_P6 KC_P6 -#define UK_P7 KC_P7 -#define UK_P8 KC_P8 -#define UK_P9 KC_P9 -#define UK_P0 KC_P0 -#define UK_PDOT KC_PDOT -#define UK_PCMM KC_PCMM -#define UK_PSLS KC_PSLS -#define UK_PAST KC_PAST -#define UK_PMNS KC_PMNS -#define UK_PPLS KC_PPLS -#define UK_PEQL KC_PEQL -#define UK_PENT KC_PENT +/* AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ¦ │   │   │   │ € │   │   │   │   │   │   │   │   │       │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │     │   │   │ É │   │   │   │ Ú │ Í │ Ó │   │   │   │     │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │ + * │      │ Á │   │   │   │   │   │   │   │   │   │   │   │    │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │    │   │   │   │   │   │   │   │   │   │   │   │          │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │    │    │    │                        │    │    │    │    │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define UK_BRKP ALGR(UK_GRV) // ¦ +#define UK_EURO ALGR(UK_4) // € +// Row 2 +#define UK_EACU ALGR(KC_E) // É +#define UK_UACU ALGR(KC_U) // Ú +#define UK_IACU ALGR(KC_I) // Í +#define UK_OACU ALGR(KC_O) // Ó +// Row 3 +#define UK_AACU ALGR(KC_A) // Á -#define UK_TAB KC_TAB -#define UK_ENT KC_ENT +// DEPRECATED +#define UK_ESC KC_ESC +#define UK_F1 KC_F1 +#define UK_F2 KC_F2 +#define UK_F3 KC_F3 +#define UK_F4 KC_F4 +#define UK_F5 KC_F5 +#define UK_F6 KC_F6 +#define UK_F7 KC_F7 +#define UK_F8 KC_F8 +#define UK_F9 KC_F9 +#define UK_F10 KC_F10 +#define UK_F11 KC_F11 +#define UK_F12 KC_F12 +#define UK_PSCR KC_PSCR +#define UK_SLCK KC_SLCK +#define UK_PAUS KC_PAUS +#define UK_BSPC KC_BSPC +#define UK_TAB KC_TAB +#define UK_ENT KC_ENT #define UK_LSFT KC_LSFT +#define UK_RSFT KC_RSFT #define UK_LCTL KC_LCTL -#define UK_LALT KC_LALT #define UK_LGUI KC_LGUI -#define UK_SPC KC_SPC -#define UK_DEL KC_DEL -#define UK_BSPC KC_BSPC -#define UK_RSFT KC_RSFT -#define UK_RCTL KC_RCTL +#define UK_LALT KC_LALT +#define UK_SPC KC_SPC #define UK_RALT KC_RALT #define UK_RGUI KC_RGUI -#define UK_ESC KC_ESC -#define UK_PSCR KC_PSCR -#define UK_SLCK KC_SLCK -#define UK_PAUS KC_PAUS -#define UK_INS KC_INS +#define UK_RCTL KC_RCTL +#define UK_INS KC_INS +#define UK_DEL KC_DEL #define UK_HOME KC_HOME +#define UK_END KC_END #define UK_PGUP KC_PGUP -#define UK_END KC_END #define UK_PGDN KC_PGDN +#define UK_UP KC_UP #define UK_LEFT KC_LEFT -#define UK_RGHT KC_RGHT -#define UK_UP KC_UP #define UK_DOWN KC_DOWN - -#endif +#define UK_RGHT KC_RGHT +#define UK_PSLS KC_PSLS +#define UK_PAST KC_PAST +#define UK_PMNS KC_PMNS +#define UK_PPLS KC_PPLS +#define UK_PENT KC_PENT +#define UK_P1 KC_P1 +#define UK_P2 KC_P2 +#define UK_P3 KC_P3 +#define UK_P4 KC_P4 +#define UK_P5 KC_P5 +#define UK_P6 KC_P6 +#define UK_P7 KC_P7 +#define UK_P8 KC_P8 +#define UK_P9 KC_P9 +#define UK_P0 KC_P0 +#define UK_PDOT KC_PDOT +#define UK_PEQL KC_PEQL +#define UK_PCMM KC_PCMM +#define UK_F13 KC_F13 +#define UK_F14 KC_F14 +#define UK_F15 KC_F15 +#define UK_F16 KC_F16 +#define UK_F17 KC_F17 +#define UK_F18 KC_F18 +#define UK_F19 KC_F19 +#define UK_F20 KC_F20 +#define UK_F21 KC_F21 +#define UK_F22 KC_F22 +#define UK_F23 KC_F23 +#define UK_F24 KC_F24 +#define UK_EACT UK_EACU +#define UK_UACT UK_UACU +#define UK_IACT UK_IACU +#define UK_OACT UK_OACU +#define UK_AACT UK_OACU diff --git a/quantum/keymap_extras/sendstring_uk.h b/quantum/keymap_extras/sendstring_uk.h index 733c5f8600..bbd30769b0 100644 --- a/quantum/keymap_extras/sendstring_uk.h +++ b/quantum/keymap_extras/sendstring_uk.h @@ -40,7 +40,7 @@ const uint8_t ascii_to_shift_lut[16] PROGMEM = { KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), - KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0), + KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) }; const uint8_t ascii_to_keycode_lut[128] PROGMEM = { @@ -54,7 +54,7 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = { XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, // ! " # $ % & ' - UK_SPC, UK_1, UK_2, UK_HASH, UK_4, UK_5, UK_7, UK_QUOT, + KC_SPC, UK_1, UK_2, UK_HASH, UK_4, UK_5, UK_7, UK_QUOT, // ( ) * + , - . / UK_9, UK_0, UK_8, UK_EQL, UK_COMM, UK_MINS, UK_DOT, UK_SLSH, // 0 1 2 3 4 5 6 7 -- cgit v1.2.3