diff --git a/quantum/keymap_extras/keymap_hungarian.h b/quantum/keymap_extras/keymap_hungarian.h new file mode 100644 index 00000000000..b3724409284 --- /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 . + */ + +#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