~ruther/qmk_firmware

5ed7d9c9ca48e1b6f3610f62bb12668d1f75a845 — Markus Weimar 6 years ago e3a9400
Update XD75 keymap by markus (#5651)

M keyboards/xd75/keymaps/markus/config.h => keyboards/xd75/keymaps/markus/config.h +29 -10
@@ 1,4 1,4 @@
/* Copyright 2018 Markus Weimar
/* Copyright 2019 Markus Weimar
 *
 * 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


@@ 18,12 18,31 @@

// place overrides here

// Mousekeys
#define MOUSEKEY_MOVE_DELTA        1
#define MOUSEKEY_WHEEL_DELTA       1
#define MOUSEKEY_DELAY             90
#define MOUSEKEY_INTERVAL          16
#define MOUSEKEY_MAX_SPEED         20
#define MOUSEKEY_TIME_TO_MAX       0
#define MOUSEKEY_WHEEL_MAX_SPEED   1
#define MOUSEKEY_WHEEL_TIME_TO_MAX 0
// Mouse keys (accelerated)
//#define MOUSEKEY_MOVE_DELTA        1
//#define MOUSEKEY_WHEEL_DELTA       1
//#define MOUSEKEY_DELAY             90
//#define MOUSEKEY_INTERVAL          16
//#define MOUSEKEY_MAX_SPEED         20
//#define MOUSEKEY_TIME_TO_MAX       0
//#define MOUSEKEY_WHEEL_MAX_SPEED   1
//#define MOUSEKEY_WHEEL_TIME_TO_MAX 0
// Mouse keys (constant)
#define MK_3_SPEED
#define MK_MOMENTARY_ACCEL
#define MK_C_OFFSET_UNMOD   18
#define MK_C_INTERVAL_UNMOD 16
#define MK_C_OFFSET_0       2
#define MK_C_INTERVAL_0     16
#define MK_C_OFFSET_1       6
#define MK_C_INTERVAL_1     16
#define MK_C_OFFSET_2       36
#define MK_C_INTERVAL_2     16
#define MK_W_OFFSET_UNMOD   1
#define MK_W_INTERVAL_UNMOD 40
#define MK_W_OFFSET_0       1
#define MK_W_INTERVAL_0     360
#define MK_W_OFFSET_1       1
#define MK_W_INTERVAL_1     120
#define MK_W_OFFSET_2       1
#define MK_W_INTERVAL_2     20

M keyboards/xd75/keymaps/markus/keymap.c => keyboards/xd75/keymaps/markus/keymap.c +63 -64
@@ 1,4 1,4 @@
/* Copyright 2018 Markus Weimar
/* Copyright 2019 Markus Weimar
 *
 * 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


@@ 19,30 19,29 @@

#define ________ KC_TRNS
#define ___xx___ KC_NO
#define NKRO_TG MAGIC_TOGGLE_NKRO

enum my_layers {
  _QWZ,
  _QWY,
  _GAM,
  _FN1,
  _FN2,
  _FN3,
    _QWZ,
    _QWY,
    _GAM,
    _FN1,
    _FN2,
    _FN3,
};

enum my_keycodes {
  QWERTZ = SAFE_RANGE,
  QWERTY,
  GAMING,
  FN1,
  FN2,
  FN3
    QWERTZ = SAFE_RANGE,
    QWERTY,
    GAMING,
    FN1,
    FN2,
    FN3
};

enum my_ucis {
  UNI_LNX,
  UNI_MAC,
  UNI_WIN,
    UNI_LNX,
    UNI_MAC,
    UNI_WIN,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {


@@ 118,7 117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
 * |        | "      | '      | ‚      | ‘      | ’      |        |        |        | |      | [      | ]      | !      | ?      |        |
 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
 * |        | °      | ^      | „      | “      | ”      |        |        |        | #      | <      | >      | …      | –      |        |
 * |        | °      | ^      | „      | “      | ”      |        |        |        | #      | <      | >      | …      | – EN   |        |
 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
 * |        |        |        |        |        |        |        |        |        |        |        |        |        |        |        |
 * '--------------------------------------------------------------------------------------------------------------------------------------'


@@ 133,19 132,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

/* FN2
 * .--------------------------------------------------------------------------------------------------------------------------------------.
 * |        |        |        |        | %      | (      | )      | P/     | P*     | P-     | Print  | Scroll | Pause  | ẞ      |        |
 * |        |        |        |        | %      | (      | )      | P/     | P*     | P-     | Print  | Scroll | Pause  | ẞ      | − MNS  |
 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
 * |        |        | Mute   | Vol-   | Vol+   | Bspc   | P7     | P8     | P9     | P+     | WH_U   | MS_U   | WH_D   | ×      | ÷      |
 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
 * |        | App    | ACL0   | ACL1   | ACL2   | Space  | P4     | P5     | P6     | WH_L   | MS_L   | MS_D   | MS_R   | WH_R   |        |
 * |        | App    | ACL2   | ACL1   | ACL0   | Space  | P4     | P5     | P6     | WH_L   | MS_L   | MS_D   | MS_R   | WH_R   |        |
 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
 * |        |        | Prev   | Play   | Next   | Tab    | P1     | P2     | P3     | PEnter | BTN1   | BTN2   | BTN3   | —      |        |
 * |        |        | Prev   | Play   | Next   | Tab    | P1     | P2     | P3     | PEnter | BTN1   | BTN2   | BTN3   | — EM   |        |
 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
 * | Fn2    |        |        |        |        | PEnter | P0     | . :    | P,     | BTN1   | BTN2   | BTN3   |        |        |        |
 * '--------------------------------------------------------------------------------------------------------------------------------------'
 */
[_FN2] = {
{ ___xx___, ___xx___, ___xx___, ___xx___, DE_PERC,  DE_LPRN,  DE_RPRN,  KC_PSLS,  KC_PAST,  KC_PMNS,  KC_PSCR,  KC_LSCR,  KC_PAUS,  UC(L'ẞ'), ___xx___ },
{ ___xx___, ___xx___, ___xx___, ___xx___, DE_PERC,  DE_LPRN,  DE_RPRN,  KC_PSLS,  KC_PAST,  KC_PMNS,  KC_PSCR,  KC_LSCR,  KC_PAUS,  UC(L'ẞ'), UC(L'−') },
{ ________, ___xx___, KC_MUTE,  KC_VOLD,  KC_VOLU,  KC_BSPC,  KC_P7,    KC_P8,    KC_P9,    KC_PPLS,  KC_WH_U,  KC_MS_U,  KC_WH_D,  UC(L'×'), UC(L'÷') },
{ ________, KC_APP,   KC_ACL2,  KC_ACL1,  KC_ACL0,  KC_SPC,   KC_P4,    KC_P5,    KC_P6,    KC_WH_L,  KC_MS_L,  KC_MS_D,  KC_MS_R,  KC_WH_R,  ________ },
{ ________, ___xx___, KC_MPRV,  KC_MPLY,  KC_MNXT,  KC_TAB,   KC_P1,    KC_P2,    KC_P3,    KC_PENT,  KC_BTN1,  KC_BTN2,  KC_BTN3,  UC(L'—'), ________ },


@@ 156,61 155,61 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 * .--------------------------------------------------------------------------------------------------------------------------------------.
 * | F13    | F14    | F15    | F16    | F17    | F18    | U LNX  | U WIN  | U MAC  | F19    | F20    | F21    | F22    | F23    | F24    |
 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
 * |        | QWERTZ | QWERTY |        | NKRO   | ThinSp | L TOG  | L MP   | L MOD  |        | Pg Up  | Up     | Pg Dn  |        |        |
 * |        | QWERTZ | QWERTY | GAMING |        |        | L TOG  | L MP   | L MOD  |        | Pg Up  | Up     | Pg Dn  |        |        |
 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
 * |        | NaNbSp |        | ›      | ‹      | GAMING | L HUI  | L SAI  | L VAI  | Home   | Left   | Down   | Right  | End    |        |
 * |        |        |        | ›      | ‹      |        | L HUI  | L SAI  | L VAI  | Home   | Left   | Down   | Right  | End    |        |
 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
 * |        |        |        | »      | «      |        | L HUD  | L SAD  | L VAD  | FigSp  |        |        |        | NbHyph |        |
 * |        |        |        | »      | «      |        | L HUD  | L SAD  | L VAD  | NumSp  | ThinSp | NaNbSp | NbSp   | NbHyph |        |
 * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
 * |        |        |        |        |        |        |        | Reset  |        | NbSp   |        |        |        |        |        |
 * |        |        |        |        |        |        |        | Reset  |        |        |        |        |        |        |        |
 * '--------------------------------------------------------------------------------------------------------------------------------------'
 */
[_FN3] = {
{ KC_F13,   KC_F14,   KC_F15,   KC_F16,   KC_F17,   KC_F18,   UNI_LNX,  UNI_WIN,  UNI_MAC,  KC_F19,   KC_F20,   KC_F21,   KC_F22,   KC_F23,   KC_F24   },
{ ________, QWERTZ,   QWERTY,   ___xx___, NKRO_TG,  UC(L' '), RGB_TOG,  RGB_M_P,  RGB_MOD,  ___xx___, KC_PGUP,  KC_UP,    KC_PGDN,  ___xx___, ___xx___ },
{ ________, UC(L' '), ___xx___, UC(L'›'), UC(L'‹'), GAMING,   RGB_HUI,  RGB_SAI,  RGB_VAI,  KC_HOME,  KC_LEFT,  KC_DOWN,  KC_RIGHT, KC_END,   ________ },
{ ________, ___xx___, ___xx___, UC(L'»'), UC(L'«'), ___xx___, RGB_HUD,  RGB_SAD,  RGB_VAD,  UC(L' '), ___xx___, ___xx___, ___xx___, UC(L'‑'), ________ },
{ ___xx___, ________, ________, ________, ________, ________, ________, RESET,    ________, UC(L' '), ________, ________, ________, ________, ________ },
{ ________, QWERTZ,   QWERTY,   GAMING,   ___xx___, ___xx___, RGB_TOG,  RGB_M_P,  RGB_MOD,  ___xx___, KC_PGUP,  KC_UP,    KC_PGDN,  ___xx___, ___xx___ },
{ ________, ___xx___, ___xx___, UC(L'›'), UC(L'‹'), ___xx___, RGB_HUI,  RGB_SAI,  RGB_VAI,  KC_HOME,  KC_LEFT,  KC_DOWN,  KC_RIGHT, KC_END,   ________ },
{ ________, ___xx___, ___xx___, UC(L'»'), UC(L'«'), ___xx___, RGB_HUD,  RGB_SAD,  RGB_VAD,  UC(L' '), UC(L' '), UC(L' '), UC(L' '), UC(L'‑'), ________ },
{ ___xx___, ________, ________, ________, ________, ________, ________, RESET,    ________, ________, ________, ________, ________, ________, ________ },
},

};

void matrix_init_user(){
  set_unicode_input_mode(UC_LNX);
    set_unicode_input_mode(UC_LNX);
}

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  switch(keycode) {
    case QWERTZ:
      if (record->event.pressed) {
        set_single_persistent_default_layer(_QWZ);
      }
      return false;
      break;
    case QWERTY:
      if (record->event.pressed) {
        set_single_persistent_default_layer(_QWY);
      }
      return false;
      break;
    case GAMING:
      if (record->event.pressed) {
        set_single_persistent_default_layer(_GAM);
      }
      return false;
      break;
    case UNI_LNX:
      set_unicode_input_mode(UC_LNX);
      return false;
      break;
    case UNI_WIN:
      set_unicode_input_mode(UC_WINC);
      return false;
      break;
    case UNI_MAC:
      set_unicode_input_mode(UC_OSX);
      return false;
      break;
  }
  return true;
    switch(keycode) {
        case QWERTZ:
            if (record->event.pressed) {
                set_single_persistent_default_layer(_QWZ);
            }
            return false;
            break;
        case QWERTY:
            if (record->event.pressed) {
                set_single_persistent_default_layer(_QWY);
            }
            return false;
            break;
        case GAMING:
            if (record->event.pressed) {
                set_single_persistent_default_layer(_GAM);
            }
            return false;
            break;
        case UNI_LNX:
            set_unicode_input_mode(UC_LNX);
            return false;
            break;
        case UNI_WIN:
            set_unicode_input_mode(UC_WINC);
            return false;
            break;
        case UNI_MAC:
            set_unicode_input_mode(UC_OSX);
            return false;
            break;
    }
    return true;
}

M keyboards/xd75/keymaps/markus/readme.md => keyboards/xd75/keymaps/markus/readme.md +4 -4
@@ 2,15 2,15 @@

This keymap has three base layers (QWERTZ, QWERTY, Gaming) and three function layers (Fn1, Fn2, Fn3).

QWERTY is identical to QWERTZ except `z` and `y` are swapped.
QWERTY is identical to QWERTZ, except `z` and `y` are swapped.

Gaming is a modified QWERTY layer for left-hand usage.

The function layers contain:

* Symbols (standard and Unicode)
* Symbols
* Unicode characters (e.g. dashes, figure space, non-breaking space and hyphen)
* Unicode input mode switches
* Numpad
* Function keys
* Media, mouse, LED control
* Non-breaking characters
* Media, mouse and LED controls

M keyboards/xd75/keymaps/markus/rules.mk => keyboards/xd75/keymaps/markus/rules.mk +13 -23
@@ 1,23 1,13 @@
# Build Options
#   change to "no" to disable the options, or define them in the Makefile in
#   the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
CONSOLE_ENABLE = no         # Console for debug(+400)
COMMAND_ENABLE = no         # Commands for debug and configuration
NKRO_ENABLE = yes           # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
MIDI_ENABLE = no            # MIDI controls
AUDIO_ENABLE = no           # Audio output on port C6
UNICODEMAP_ENABLE = no      # This allows sending unicode symbols using X(<unicode>) in your keymap.
UNICODE_ENABLE = yes        # Unicode
UCIS_ENABLE = no            # Keep in mind that not all will work (See WinCompose for details on Windows).
BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes       # Enable WS2812 RGB underlight.
API_SYSEX_ENABLE = no

# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend

BOOTMAGIC_ENABLE = no
MOUSEKEY_ENABLE = yes
EXTRAKEY_ENABLE = yes
CONSOLE_ENABLE = no
COMMAND_ENABLE = no
NKRO_ENABLE = yes
BACKLIGHT_ENABLE = no
MIDI_ENABLE = no
AUDIO_ENABLE = no
UNICODE_ENABLE = yes
BLUETOOTH_ENABLE = no
RGBLIGHT_ENABLE = yes
SLEEP_LED_ENABLE = no