1
0
Fork 0

Update German keymap and sendstring LUT (#8437)

This commit is contained in:
Ryan 2020-03-17 01:31:48 +11:00 committed by GitHub
parent 652f4492d3
commit 7fe4097792
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 147 additions and 92 deletions

View file

@ -14,98 +14,153 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef KEYMAP_GERMAN #pragma once
#define KEYMAP_GERMAN
#include "keymap.h" #include "keymap.h"
// normal characters // clang-format off
#define DE_Z KC_Y
#define DE_Y KC_Z
#define DE_A KC_A /*
#define DE_B KC_B *
#define DE_C KC_C *  ^  1  2  3  4  5  6  7  8  9  0  ß  ´        
#define DE_D KC_D *
#define DE_E KC_E *       Q  W  E  R  T  Z  U  I  O  P  Ü  +      
#define DE_F KC_F *     
#define DE_G KC_G *        A  S  D  F  G  H  J  K  L  Ö  Ä  #     
#define DE_H KC_H *
#define DE_I KC_I *      <  Y  X  C  V  B  N  M  ,  .  -           
#define DE_J KC_J *
#define DE_K KC_K *                                                     
#define DE_L KC_L *
#define DE_M KC_M */
#define DE_N KC_N // Row 1
#define DE_O KC_O #define DE_CIRC KC_GRV // ^ (dead)
#define DE_P KC_P #define DE_1 KC_1 // 1
#define DE_Q KC_Q #define DE_2 KC_2 // 2
#define DE_R KC_R #define DE_3 KC_3 // 3
#define DE_S KC_S #define DE_4 KC_4 // 4
#define DE_T KC_T #define DE_5 KC_5 // 5
#define DE_U KC_U #define DE_6 KC_6 // 6
#define DE_V KC_V #define DE_7 KC_7 // 7
#define DE_W KC_W #define DE_8 KC_8 // 8
#define DE_X KC_X #define DE_9 KC_9 // 9
#define DE_0 KC_0 // 0
#define DE_SS KC_MINS // ß
#define DE_ACUT KC_EQL // ´ (dead)
// Row 2
#define DE_Q KC_Q // Q
#define DE_W KC_W // W
#define DE_E KC_E // E
#define DE_R KC_R // R
#define DE_T KC_T // T
#define DE_Z KC_Y // Z
#define DE_U KC_U // U
#define DE_I KC_I // I
#define DE_O KC_O // O
#define DE_P KC_P // P
#define DE_UDIA KC_LBRC // Ü
#define DE_PLUS KC_RBRC // +
// Row 3
#define DE_A KC_A // A
#define DE_S KC_S // S
#define DE_D KC_D // D
#define DE_F KC_F // F
#define DE_G KC_G // G
#define DE_H KC_H // H
#define DE_J KC_J // J
#define DE_K KC_K // K
#define DE_L KC_L // L
#define DE_ODIA KC_SCLN // Ö
#define DE_ADIA KC_QUOT // Ä
#define DE_HASH KC_NUHS // #
// Row 4
#define DE_LABK KC_NUBS // <
#define DE_Y KC_Z // Y
#define DE_X KC_X // X
#define DE_C KC_C // C
#define DE_V KC_V // V
#define DE_B KC_B // B
#define DE_N KC_N // N
#define DE_M KC_M // M
#define DE_COMM KC_COMM // ,
#define DE_DOT KC_DOT // .
#define DE_MINS KC_SLSH // -
#define DE_0 KC_0 /* Shifted symbols
#define DE_1 KC_1 *
#define DE_2 KC_2 *  °  !  " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │       │
#define DE_3 KC_3 *
#define DE_4 KC_4 *                                        *      
#define DE_5 KC_5 *     
#define DE_6 KC_6 *                                         '     
#define DE_7 KC_7 *
#define DE_8 KC_8 *      >                       ;  :  _           
#define DE_9 KC_9 *
*                                                     
*
*/
// Row 1
#define DE_DEG S(DE_CIRC) // °
#define DE_EXLM S(DE_1) // !
#define DE_DQUO S(DE_2) // "
#define DE_SECT S(DE_3) // §
#define DE_DLR S(DE_4) // $
#define DE_PERC S(DE_5) // %
#define DE_AMPR S(DE_6) // &
#define DE_SLSH S(DE_7) // /
#define DE_LPRN S(DE_8) // (
#define DE_RPRN S(DE_9) // )
#define DE_EQL S(DE_0) // =
#define DE_QUES S(DE_SS) // ?
#define DE_GRV S(DE_ACUT) // ` (dead)
// Row 2
#define DE_ASTR S(DE_PLUS) // *
// Row 3
#define DE_QUOT S(DE_HASH) // '
// Row 4
#define DE_RABK S(DE_LABK) // >
#define DE_SCLN S(DE_COMM) // ;
#define DE_COLN S(DE_DOT) // :
#define DE_UNDS S(DE_MINS) // _
#define DE_DOT KC_DOT /* AltGr symbols
#define DE_COMM KC_COMM *
*        ²  ³           {  [  ]  }  \           
*
*       @                               ~      
*     
*                                               
*
*      |                    µ                    
*
*                                                     
*
*/
// Row 1
#define DE_SUP2 ALGR(DE_2) // ²
#define DE_SUP3 ALGR(DE_3) // ³
#define DE_LCBR ALGR(DE_7) // {
#define DE_LBRC ALGR(DE_8) // [
#define DE_RBRC ALGR(DE_9) // ]
#define DE_RCBR ALGR(DE_0) // }
#define DE_BSLS ALGR(DE_SS) // (backslash)
// Row 2
#define DE_AT ALGR(DE_Q) // @
#define DE_EURO ALGR(DE_E) // €
#define DE_TILD ALGR(DE_PLUS) // ~
// Row 4
#define DE_PIPE ALGR(DE_LABK) // |
#define DE_MICR ALGR(DE_M) // µ
#define DE_SS KC_MINS // DEPRECATED
#define DE_AE KC_QUOT #define DE_UE DE_UDIA
#define DE_UE KC_LBRC #define DE_OE DE_ODIA
#define DE_OE KC_SCLN #define DE_AE DE_ADIA
#define DE_LESS DE_LABK
#define DE_CIRC KC_GRAVE // accent circumflex ^ and ring ° #define DE_RING DE_DEG
#define DE_ACUT KC_EQL // accent acute ´ and grave ` #define DE_DQOT DE_DQUO
#define DE_PLUS KC_RBRC // + and * and ~ #define DE_PARA DE_SECT
#define DE_HASH KC_BSLS // # and ' #define DE_QST DE_QUES
#define DE_LESS KC_NUBS // < and > and | #define DE_MORE DE_RABK
#define DE_MINS KC_SLSH // - and _ #define DE_SQ2 DE_SUP2
#define DE_SQ3 DE_SUP3
// shifted characters
#define DE_RING LSFT(DE_CIRC) // °
#define DE_EXLM LSFT(KC_1) // !
#define DE_DQOT LSFT(KC_2) // "
#define DE_PARA LSFT(KC_3) // §
#define DE_DLR LSFT(KC_4) // $
#define DE_PERC LSFT(KC_5) // %
#define DE_AMPR LSFT(KC_6) // &
#define DE_SLSH LSFT(KC_7) // /
#define DE_LPRN LSFT(KC_8) // (
#define DE_RPRN LSFT(KC_9) // )
#define DE_EQL LSFT(KC_0) // =
#define DE_QST LSFT(DE_SS) // ?
#define DE_GRV LSFT(DE_ACUT) // `
#define DE_ASTR LSFT(DE_PLUS) // *
#define DE_QUOT LSFT(DE_HASH) // '
#define DE_MORE LSFT(DE_LESS) // >
#define DE_COLN LSFT(KC_DOT) // :
#define DE_SCLN LSFT(KC_COMM) // ;
#define DE_UNDS LSFT(DE_MINS) // _
// Alt Gr-ed characters
#define DE_SQ2 ALGR(KC_2) // ²
#define DE_SQ3 ALGR(KC_3) // ³
#define DE_LCBR ALGR(KC_7) // {
#define DE_LBRC ALGR(KC_8) // [
#define DE_RBRC ALGR(KC_9) // ]
#define DE_RCBR ALGR(KC_0) // }
#define DE_BSLS ALGR(DE_SS) // backslash
#define DE_AT ALGR(KC_Q) // @
#define DE_EURO ALGR(KC_E) // €
#define DE_TILD ALGR(DE_PLUS) // ~
#define DE_PIPE ALGR(DE_LESS) // |
#endif

View file

@ -40,7 +40,7 @@ const uint8_t ascii_to_shift_lut[16] PROGMEM = {
KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), KCLUT_ENTRY(1, 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, 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, 0, 0, 0, 0, 0)
}; };
const uint8_t ascii_to_altgr_lut[16] PROGMEM = { const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
@ -60,7 +60,7 @@ const uint8_t ascii_to_altgr_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, 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 = { const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
@ -80,7 +80,7 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
// 0 1 2 3 4 5 6 7 // 0 1 2 3 4 5 6 7
DE_0, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_0, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7,
// 8 9 : ; < = > ? // 8 9 : ; < = > ?
DE_8, DE_9, DE_DOT, DE_COMM, DE_LESS, DE_0, DE_LESS, DE_SS, DE_8, DE_9, DE_DOT, DE_COMM, DE_LABK, DE_0, DE_LABK, DE_SS,
// @ A B C D E F G // @ A B C D E F G
DE_Q, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G, DE_Q, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G,
// H I J K L M N O // H I J K L M N O
@ -96,5 +96,5 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
// p q r s t u v w // p q r s t u v w
DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W, DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W,
// x y z { | } ~ DEL // x y z { | } ~ DEL
DE_X, DE_Y, DE_Z, DE_7, DE_LESS, DE_0, DE_PLUS, KC_DEL DE_X, DE_Y, DE_Z, DE_7, DE_LABK, DE_0, DE_PLUS, KC_DEL
}; };