From 4b80ee46f80360f9f14ff8a88f3f610d0cf74544 Mon Sep 17 00:00:00 2001 From: Joshua Diamond Date: Wed, 24 Jun 2020 01:35:43 -0400 Subject: [PATCH] Add Hebrew keymap aliases (#9383) * Add Hebrew keymap aliases * Use NBSP for internal space in box drawings * Apply suggestions from code review * More whitespace fixes * IL_DVAV, IL_DYOD and IL_VYOD were incorrect * Add IL_DEG, IL_MUL, IL_DIV * Hebrew is now ISO (no more BAE) * Use ISO left shift * Apply suggestions from code review * DYOD and VYOD were reversed in diagram. Oops! --- docs/reference_keymap_extras.md | 1 + quantum/keymap_extras/keymap_hebrew.h | 151 ++++++++++++++++++++++++++ 2 files changed, 152 insertions(+) create mode 100644 quantum/keymap_extras/keymap_hebrew.h diff --git a/docs/reference_keymap_extras.md b/docs/reference_keymap_extras.md index fd4b8dd853..44b056af65 100644 --- a/docs/reference_keymap_extras.md +++ b/docs/reference_keymap_extras.md @@ -31,6 +31,7 @@ To use these, simply `#include` the corresponding [header file](https://github.c |German (macOS) |`keymap_german_osx.h` | |German (Neo2)* |`keymap_neo2.h` | |Greek* |`keymap_greek.h` | +|Hebrew* |`keymap_hebrew.h` | |Hungarian |`keymap_hungarian.h` | |Icelandic |`keymap_icelandic.h` | |Italian |`keymap_italian.h` | diff --git a/quantum/keymap_extras/keymap_hebrew.h b/quantum/keymap_extras/keymap_hebrew.h new file mode 100644 index 0000000000..ea9ac5ed4c --- /dev/null +++ b/quantum/keymap_extras/keymap_hebrew.h @@ -0,0 +1,151 @@ +/* Copyright 2020 + * + * 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" + +// clang-format off + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ; │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │       │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │     │ / │ ' │ פ │ ם │ ן │ ו │ ט │ א │ ר │ ק │ ] │ [ │     │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │ + * │      │ ף │ ך │ ל │ ח │ י │ ע │ כ │ ג │ ד │ ש │ , │ \ │    │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │    │   │ ץ │ ת │ צ │ מ │ נ │ ה │ ב │ ס │ ז │ . │          │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │    │    │    │                        │    │    │    │    │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define IL_SCLN KC_GRV // ; +#define IL_1 KC_1 // 1 +#define IL_2 KC_2 // 2 +#define IL_3 KC_3 // 3 +#define IL_4 KC_4 // 4 +#define IL_5 KC_5 // 5 +#define IL_6 KC_6 // 6 +#define IL_7 KC_7 // 7 +#define IL_8 KC_8 // 8 +#define IL_9 KC_9 // 9 +#define IL_0 KC_0 // 0 +#define IL_MINS KC_MINS // - +#define IL_EQL KC_EQL // = +// Row 2 +#define IL_SLSH KC_Q // / +#define IL_QUOT KC_W // ' +#define IL_QOF KC_E // ק +#define IL_RESH KC_R // ר +#define IL_ALEF KC_T // א +#define IL_TET KC_Y // ט +#define IL_VAV KC_U // ו +#define IL_FNUN KC_I // ן +#define IL_FMEM KC_O // ם +#define IL_PE KC_P // פ +#define IL_RBRC KC_LBRC // ] +#define IL_LBRC KC_RBRC // [ +// Row 3 +#define IL_SHIN KC_A // ש +#define IL_DALT KC_S // ד +#define IL_GIML KC_D // ג +#define IL_KAF KC_F // כ +#define IL_AYIN KC_G // ע +#define IL_YOD KC_H // י +#define IL_HET KC_J // ח +#define IL_LAMD KC_K // ל +#define IL_FKAF KC_L // ך +#define IL_FPE KC_SCLN // ף +#define IL_COMM KC_QUOT // , +#define IL_BSLS KC_NUHS // (backslash) +// Row 4 +#define IL_ZAYN KC_Z // ז +#define IL_SMKH KC_X // ס +#define IL_BET KC_C // ב +#define IL_HE KC_V // ה +#define IL_NUN KC_B // נ +#define IL_MEM KC_N // מ +#define IL_TSDI KC_M // צ +#define IL_TAV KC_COMM // ת +#define IL_FTSD KC_DOT // ץ +#define IL_DOT KC_SLSH // . + +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ) │ ( │ _ │ + │       │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │     │   │   │   │   │   │   │   │   │   │   │ } │ { │     │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │ + * │      │   │   │   │   │   │   │   │   │   │ : │ " │ | │    │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │    │   │   │   │   │   │   │   │   │ > │ < │ ? │          │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │    │    │    │                        │    │    │    │    │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define IL_TILD S(IL_SCLN) // ~ +#define IL_EXLM S(IL_1) // ! +#define IL_AT S(IL_2) // @ +#define IL_PND S(IL_3) // # +#define IL_DLR S(IL_4) // $ +#define IL_PERC S(IL_5) // % +#define IL_CIRC S(IL_6) // ^ +#define IL_AMPR S(IL_7) // & +#define IL_ASTR S(IL_8) // * +#define IL_RPRN S(IL_9) // ) +#define IL_LPRN S(IL_0) // ( +#define IL_UNDS S(IL_MINS) // _ +#define IL_PLUS S(IL_EQL) // + +// Row 2 +#define IL_RCBR S(IL_RBRC) // } +#define IL_LCBR S(IL_LBRC) // { +// Row 3 +#define IL_COLN S(IL_FPE) // : +#define IL_DQUO S(IL_COMM) // " +#define IL_PIPE S(IL_BSLS) // | +// Row 4 +#define IL_RABK S(IL_TAV) // > +#define IL_LABK S(IL_FTSD) // < +#define IL_QUES S(IL_DOT) // ? + +/* AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │   │   │   │ € │ ₪ │ ° │   │   │ × │   │   │   │   │       │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │     │   │   │   │   │   │ װ │   │   │   │   │   │   │     │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │ + * │      │   │   │   │   │ ײ │ ױ │   │   │   │   │   │   │    │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │    │   │   │   │   │   │   │   │   │   │   │ ÷ │          │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │    │    │    │                        │    │    │    │    │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define IL_EURO ALGR(IL_3) // € +#define IL_SHKL ALGR(IL_4) // ₪ +#define IL_DEG ALGR(IL_5) // ° +#define IL_MUL ALGR(IL_8) // × +// Row 2 +#define IL_DVAV ALGR(IL_TET) // װ +// Row 3 +#define IL_VYOD ALGR(IL_AYIN) // ױ +#define IL_DYOD ALGR(IL_YOD) // ײ +// Row 4 +#define IL_DIV ALGR(IL_DOT) // ÷