summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--quantum/keymap_extras/keymap_hungarian.h140
1 files changed, 140 insertions, 0 deletions
diff --git a/quantum/keymap_extras/keymap_hungarian.h b/quantum/keymap_extras/keymap_hungarian.h
new file mode 100644
index 000000000..b37244092
--- /dev/null
+++ b/quantum/keymap_extras/keymap_hungarian.h
@@ -0,0 +1,140 @@
+/* Copyright 2018 fuge
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef KEYMAP_HUNGARIAN
+#define KEYMAP_HUNGARIAN
+
+#include "keymap.h"
+
+// Alt gr
+#define ALGR(kc) RALT(kc)
+#define HU_ALGR KC_RALT
+
+// basic letters
+#define HU_Z KC_Y
+#define HU_Y KC_Z
+
+#define HU_A KC_A
+#define HU_B KC_B
+#define HU_C KC_C
+#define HU_D KC_D
+#define HU_E KC_E
+#define HU_F KC_F
+#define HU_G KC_G
+#define HU_H KC_H
+#define HU_I KC_I
+#define HU_J KC_J
+#define HU_K KC_K
+#define HU_L KC_L
+#define HU_M KC_M
+#define HU_N KC_N
+#define HU_O KC_O
+#define HU_P KC_P
+#define HU_Q KC_Q
+#define HU_R KC_R
+#define HU_S KC_S
+#define HU_T KC_T
+#define HU_U KC_U
+#define HU_V KC_V
+#define HU_W KC_W
+#define HU_X KC_X
+
+// num row
+#define HU_0 KC_GRV
+#define HU_1 KC_1
+#define HU_2 KC_2
+#define HU_3 KC_3
+#define HU_4 KC_4
+#define HU_5 KC_5
+#define HU_6 KC_6
+#define HU_7 KC_7
+#define HU_8 KC_8
+#define HU_9 KC_9
+#define HU_OE KC_0
+
+#define HU_UE KC_MINS
+#define HU_OO KC_EQL
+
+// q row
+#define HU_OEE KC_LBRC
+#define HU_UU KC_RBRC
+
+// a row
+#define HU_EE KC_SCLN
+#define HU_AA KC_QUOT
+#define HU_UEE KC_NUHS
+
+#define HU_MINS KC_SLSH // -
+
+#define HU_DOT KC_DOT
+#define HU_COMM KC_COMM
+
+// shifted characters
+// num row
+#define HU_PARA LSFT(HU_0) // §
+#define HU_QUOT LSFT(HU_1) // '
+#define HU_DQOT LSFT(HU_2) // "
+#define HU_PLUS LSFT(HU_3) // +
+#define HU_EXLM LSFT(HU_4) // !
+#define HU_PERC LSFT(HU_5) // %
+#define HU_SLSH LSFT(HU_6) // /
+#define HU_EQL LSFT(HU_7) // =
+#define HU_LPRN LSFT(HU_8) // (
+#define HU_RPRN LSFT(HU_9) // )
+
+// í,y row
+#define HU_II KC_NUBS
+#define HU_QST LSFT(HU_COMM) // ?
+#define HU_COLN LSFT(HU_DOT) // :
+#define HU_UNDS LSFT(HU_MINS) // _
+
+// Alt Gr'd characters
+// num row
+#define HU_TILD ALGR(HU_1) // ~
+//#define HU_?? ALGR(HU_2) // ˇ (proper name?)
+#define HU_CIRC ALGR(HU_3) // ^
+#define HU_BRV ALGR(HU_4) // ˘
+#define HU_RING ALGR(HU_5) // °
+//#define HU_?? ALGR(HU_6) // ˛ (proper name?)
+#define HU_GRV ALGR(HU_7) // `
+//#define HU_?? ALGR(HU_8) // ˙ (proper name?)
+#define HU_ACUT ALGR(HU_9) // ´
+
+// q row
+#define HU_BSLS ALGR(HU_Q) // \ backslash
+#define HU_PIPE ALGR(HU_W) // |
+#define HU_DIV ALGR(HU_OEE) // ÷
+#define HU_CRSS ALGR(HU_UU) // ×
+#define HU_EURO ALGR(HU_U) // €
+
+// a row
+#define HU_LBRC ALGR(HU_F) // [
+#define HU_RBRC ALGR(HU_G) // ]
+#define HU_DLR ALGR(HU_EE) // $
+#define HU_SS ALGR(HU_AA) // ß
+
+// í,y row
+#define HU_LESS ALGR(KC_NUBS) // <
+#define HU_MORE ALGR(HU_Y) // >
+#define HU_HASH ALGR(HU_X) // #
+#define HU_AMPR ALGR(HU_C) // &
+#define HU_AT ALGR(HU_V) // @
+#define HU_LCBR ALGR(HU_B)// {
+#define HU_RCBR ALGR(HU_N) // }
+#define HU_SCLN ALGR(HU_COMM) // ;
+#define HU_ASTR ALGR(HU_MINS) // *
+
+#endif