diff options
| -rw-r--r-- | keyboards/s60-x/keymaps/ansi_qwertz/Makefile (renamed from keyboards/s60-x/keymaps/felix/Makefile) | 0 | ||||
| -rw-r--r-- | keyboards/s60-x/keymaps/ansi_qwertz/config.h (renamed from keyboards/s60-x/keymaps/felix/config.h) | 0 | ||||
| -rw-r--r-- | keyboards/s60-x/keymaps/ansi_qwertz/keymap.c | 236 | ||||
| -rw-r--r-- | keyboards/s60-x/keymaps/felix/keymap.c | 213 | 
4 files changed, 236 insertions, 213 deletions
| diff --git a/keyboards/s60-x/keymaps/felix/Makefile b/keyboards/s60-x/keymaps/ansi_qwertz/Makefile index 6a078bcc3f..6a078bcc3f 100644 --- a/keyboards/s60-x/keymaps/felix/Makefile +++ b/keyboards/s60-x/keymaps/ansi_qwertz/Makefile diff --git a/keyboards/s60-x/keymaps/felix/config.h b/keyboards/s60-x/keymaps/ansi_qwertz/config.h index 6c01d579f8..6c01d579f8 100644 --- a/keyboards/s60-x/keymaps/felix/config.h +++ b/keyboards/s60-x/keymaps/ansi_qwertz/config.h diff --git a/keyboards/s60-x/keymaps/ansi_qwertz/keymap.c b/keyboards/s60-x/keymaps/ansi_qwertz/keymap.c new file mode 100644 index 0000000000..9f59f12fa8 --- /dev/null +++ b/keyboards/s60-x/keymaps/ansi_qwertz/keymap.c @@ -0,0 +1,236 @@ +/* +Copyright 2016 Julien Pecqueur <[email protected]> +Copyright 2016 Felix Uhl <[email protected]> + +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/>. +*/ + +#include "s60-x.h" + +//make keymap a little easier to read +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +#define ONESHOT_TAP_TOGGLE 2 +#define ONESHOT_TIMEOUT 1 + +//uncomment to activate dead keys +//#define DONT_REVIVE_DEADKEYS 1 + +//Function keycodes for better readability +//SpaceFN +//OneShot LeftShift +//GamingMode Lock (disables SpaceFn and OneShot LShift) +//Function +//Mute microphone +#define KC_SPACEFN KC_FN0 +#define KC_OSLS KC_FN3 +#define KC_GMLK KC_FN1 +#define KC_FUNC KC_FN2 +#define MICMUTE RCTL(KC_LCTL) + +enum function_codes { +    F_SPACEFN = 0, +    F_OSLS = 3, +    F_GMLK = 1, +    F_FUNC = 2 +}; + +enum layer_names { +    DEFAULT, +    GAMING, +    FUNCTION +}; + +enum languages { +    GERMAN +}; + +#define LANGUAGE GERMAN + +enum custom_keycodes { +    KC_CM_A = SAFE_RANGE, +//  KC_CM_B, +    KC_CM_C, +//  KC_CM_D, +    KC_CM_E, +//  KC_CM_F, +    KC_CM_G, +//  KC_CM_H, +    KC_CM_I, +//  KC_CM_J, +    KC_CM_K, +    KC_CM_L, +    KC_CM_M, +    KC_CM_N, +    KC_CM_O, +    KC_CM_P, +//  KC_CM_Q, +    KC_CM_R, +    KC_CM_S, +//  KC_CM_T, +    KC_CM_U, +//  KC_CM_V, +    KC_CM_W, +//  KC_CM_X, +//  KC_CM_Y, +    KC_CM_Z +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +    /* Layout 0: Default Layer +    * ,-----------------------------------------------------------. +    * |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|  \|Del| +    * |-----------------------------------------------------------| +    * |Tab  |  Q|  W|  E|  R|  T|  Z|  U|  I|  O|  P|  [|  ]|BckSp| +    * |-----------------------------------------------------------| +    * |Ctrl  |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Return  | +    * |-----------------------------------------------------------| +    * |Shift   |  Y|  X|  C|  V|  B|  N|  M|  ,|  .|  /| Up  |RSft| +    * |-----------------------------------------------------------| +    * |Fn2 |Gui |Alt |         SpaceFn       |Alt |Left|Down|Right| +    * `-----------------------------------------------------------' +    */ +    [DEFAULT] = KEYMAP( +        KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSLS, KC_DEL,  \ +        KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Z,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSPC,          \ +        KC_LCTL, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,           \ +        KC_LSFT, KC_NUBS, KC_Y,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_NO,   KC_UP,   KC_RSFT, \ +        KC_FUNC, KC_LGUI, KC_LALT,                            KC_SPACEFN,                                  KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT +    ), + +    /* Layout 1: Gaming Layer, SpaceFn disabled +    * ,-----------------------------------------------------------. +    * |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | +    * |-----------------------------------------------------------| +    * |     |   |   |   |   |   |   |   |   |   |   |   |   |     | +    * |-----------------------------------------------------------| +    * |      |   |   |   |   |   |   |   |   |   |   |   |        | +    * |-----------------------------------------------------------| +    * |        |   |   |   |   |   |   |   |   |   |   |     |Fn1 | +    * |-----------------------------------------------------------| +    * |   |RSft|     |          Space         |    |    |    |    | +    * `-----------------------------------------------------------' +    */ +    [GAMING] = KEYMAP( +        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ +        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          \ +        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          \ +        _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GMLK,  \ +        _______, KC_RSFT,   _______,                            KC_SPC,                                    _______, _______, _______, _______ +    ), + +    /* Layout 2: Function Layer +    * MicMute requires special software to be installed. Check readme.md for more information +    * ,-----------------------------------------------------------. +    * |`  | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|RES| +    * |-----------------------------------------------------------| +    * |     |   |   |   |Prv|Ply|Nxt| � |   | � |   |Prt|Slk|Pau  | +    * |-----------------------------------------------------------| +    * |      | � | � |   |Vl-|Mut|Vl+|   |   |   |   |   |PEnt    | +    * |-----------------------------------------------------------| +    * |        |  |  |  |MicMut|Cal|   |   |   |   |Pau |PUp |Fn1 | +    * |-----------------------------------------------------------| +    * |    |    |    |                        |    |Home|PDn |End | +    * `-----------------------------------------------------------' +    */ +    [FUNCTION] = KEYMAP( +        KC_GRV,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_INS,   RESET,   \ +        _______, _______, KC_CM_W, KC_CM_E, KC_MPRV, KC_MPLY, KC_MNXT, KC_CM_U, KC_CM_I, KC_CM_O, KC_CM_P KC_PSCR, KC_SLCK, KC_PAUS, \ +        _______, KC_CM_A, KC_CM_S, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_CM_K, KC_CM_L, _______, _______, _______, KC_PENT,          \ +        _______, _______, KC_CM_Y, _______, KC_CM_C, MICMUTE, KC_CALC, KC_CM_N, KC_CM_M, _______, _______, _______, _______, KC_PGUP, KC_GMLK, \ +        _______, _______, _______,                            _______,                                     _______, KC_HOME, KC_PGDN, KC_END +    ), +}; + +/* +* Fn action definition +*/ +const uint16_t PROGMEM fn_actions[] = { +    [F_SPACEFN] = ACTION_LAYER_TAP_KEY(2, KC_SPACE),    // SpaceFn layout 1 +    [F_GMLK] = ACTION_LAYER_TOGGLE(1),                  // Disable SpaceFn and Oneshot Shift +    [F_FUNC] = ACTION_LAYER_MOMENTARY(2),               // SpaceFn layout 1 +    [F_OSLS] = ACTION_MODS_ONESHOT(MOD_LSFT)            // Oneshot Leftshift +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ +    return MACRO_NONE; +}; + +void matrix_init_user(void) { + +} + +void matrix_scan_user(void) { + +} + +bool process_german(uint16_t keycode, keyrecord_t *record) { +    uint16_t send_code = 0; +    if (record->event.pressed) { +        switch (keycode) { +        case KC_C_AM: +            send_code = KC_Q; +            break; +        case KC_C_OM: +            send_code = KC_P; +            break; +        case KC_C_UM: +            send_code = KC_Y; +            break; +        case KC_C_SM: +            send_code = KC_S; +            break; +        } + +        if (send_code == 0) { +            return true; +        } +        else { +            register_code(KC_RALT); +            register_code(send_code); +            unregister_code(send_code); +            unregister_code(KC_RALT); +            return false; +        } +    } +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { +    //revive dead keys +#ifndef DONT_REVIVE_DEADKEYS +    bool shift_active = keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_LSFT)); +    bool altgr_active = keyboard_report->mods & (MOD_BIT(KC_RALT)); +    if ((keycode == KC_QUOT && !altgr_active) ||  +        keycode == KC_GRV || +        (keycode == KC_6 && shift_active))  +    { +        if (record->event.pressed) { +            register_code(keycode); +            unregister_code(keycode); +            register_code(KC_SPACE); +            unregister_code(KC_SPACE); +        } +        return false; +    } +#endif +#if LANGUAGE == GERMAN +    return process_german(keycode, record); +#else +    return true; +#endif +} + +void led_set_user(uint8_t usb_led) { + +}
\ No newline at end of file diff --git a/keyboards/s60-x/keymaps/felix/keymap.c b/keyboards/s60-x/keymaps/felix/keymap.c deleted file mode 100644 index 6e40d4839f..0000000000 --- a/keyboards/s60-x/keymaps/felix/keymap.c +++ /dev/null @@ -1,213 +0,0 @@ -/* -Copyright 2016 Julien Pecqueur <[email protected]> -Copyright 2016 Felix Uhl <[email protected]> - -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/>. -*/ - -#include "s60-x.h" - -//make keymap a little easier to read -#define _______ KC_TRNS -#define XXXXXXX KC_NO - -#define ONESHOT_TAP_TOGGLE 2 -#define ONESHOT_TIMEOUT 1 - -//Special keycodes for better readability -//SpaceFN -//OneShot LeftShift -//GamingMode Lock (disables SpaceFn and OneShot LShift) -//Function -#define KC_SPACEFN KC_FN0 -#define KC_OSLS KC_FN3 -#define KC_GMLK KC_FN1 -#define KC_FUNC KC_FN2 - -enum function_codes { -    F_SPACEFN = 0, -    F_OSLS = 3, -    F_GMLK = 1, -    F_FUNC = 2 -}; - -enum layer_names { -	DEFAULT, -	GAMING, -	FUNCTION -}; - -enum languages { -	GERMAN -}; - -#define LANGUAGE GERMAN - -enum custom_keycodes { -	KC_C_AM = SAFE_RANGE, -	KC_C_EM, -	KC_C_IM, -	KC_C_OM, -	KC_C_UM, -	KC_C_SM, -	KC_C_YM, -	KC_C_WM -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -	/* Layout 0: Default Layer -	* ,-----------------------------------------------------------. -	* |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|  \|Del| -	* |-----------------------------------------------------------| -	* |Tab  |  Q|  W|  E|  R|  T|  Z|  U|  I|  O|  P|  [|  ]|BckSp| -	* |-----------------------------------------------------------| -	* |Ctrl  |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Return  | -	* |-----------------------------------------------------------| -	* |Shift OS|  Y|  X|  C|  V|  B|  N|  M|  ,|  .|  /| Up  |RSft| -	* |-----------------------------------------------------------| -	* |Fn2 |Gui |Alt |         SpaceFn       |Alt |Left|Down|Right| -	* `-----------------------------------------------------------' -	*/ -	[DEFAULT] = KEYMAP( -		KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSLS, KC_DEL,  \ -		KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Z,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSPC,          \ -		KC_LCTL, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,           \ -		KC_OSLS, KC_NUBS, KC_Y,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_NO,   KC_UP,   KC_RSFT, \ -		KC_FUNC, KC_LGUI, KC_LALT,                            KC_SPACEFN,                                  KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT -    ), - -	/* Layout 1: Gaming Layer, SpaceFn disabled -	* ,-----------------------------------------------------------. -	* |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | -	* |-----------------------------------------------------------| -	* |     |   |   |   |   |   |   |   |   |   |   |   |   |     | -	* |-----------------------------------------------------------| -	* |      |   |   |   |   |   |   |   |   |   |   |   |        | -	* |-----------------------------------------------------------| -	* |SFTnonOS|   |   |   |   |   |   |   |   |   |   |     |Fn1 | -	* |-----------------------------------------------------------| -	* |   | NOP|     |          Space         |    |    |    |    | -	* `-----------------------------------------------------------' -	*/ -	[GAMING] = KEYMAP( -		_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ -		_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          \ -		_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          \ -		KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GMLK,  \ -		_______, XXXXXXX,   _______,                            KC_SPC,                                    _______, _______, _______, _______ -    ), - -	/* Layout 2: Function Layer -	* ,-----------------------------------------------------------. -	* |`  | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|RES| -	* |-----------------------------------------------------------| -	* |     |   |   |   |Prv|Ply|Nxt| � |   | � |   |Prt|Slk|Pau  | -	* |-----------------------------------------------------------| -	* |      | � | � |   |Vl-|Mut|Vl+|   |   |   |   |   |PEnt    | -	* |-----------------------------------------------------------| -	* | CpsLck |   |   |   |   |Cal|   |   |   |   |Pau |PUp |Fn1 | -	* |-----------------------------------------------------------| -	* |    |    |    |                        |    |Home|PDn |End | -	* `-----------------------------------------------------------' -	*/ -	[FUNCTION] = KEYMAP( -		KC_GRV,  KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_INS,   RESET,   \ -		_______, _______, KC_C_WM, KC_C_EM, KC_MPRV, KC_MPLY, KC_MNXT, KC_C_UM, KC_C_IM, KC_C_OM, _______, KC_PSCR, KC_SLCK, KC_PAUS, \ -		_______, KC_C_AM, KC_C_SM, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, _______, _______, _______, _______, KC_PENT,          \ -		KC_CAPS, KC_C_YM, _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_GMLK, \ -		_______, _______, _______,                            _______,                                     _______, KC_HOME, KC_PGDN, KC_END -    ), -}; - -/* -* Fn action definition -*/ -const uint16_t PROGMEM fn_actions[] = { -	[F_SPACEFN] = ACTION_LAYER_TAP_KEY(2, KC_SPACE),    // SpaceFn layout 1 -	[F_GMLK] = ACTION_LAYER_TOGGLE(1),                  // Disable SpaceFn and Oneshot Shift -	[F_FUNC] = ACTION_LAYER_MOMENTARY(2),               // SpaceFn layout 1 -    [F_OSLS] = ACTION_MODS_ONESHOT(MOD_LSFT)            // Oneshot Leftshift -}; - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ -    return MACRO_NONE; -}; - -void matrix_init_user(void) { - -} - -void matrix_scan_user(void) { - -} - -bool process_german(uint16_t keycode, keyrecord_t *record) { -	uint16_t send_code = 0; -	switch (keycode) { -	case KC_C_AM: -		if (record->event.pressed) { -			send_code = KC_Q; -		} -		break; - -	case KC_C_OM: -		if (record->event.pressed) { -			send_code = KC_P; -		} -		break; - -	case KC_C_UM: -		if (record->event.pressed) { -			send_code = KC_Y; -		} -		break; - -	case KC_C_SM: -		if (record->event.pressed) { -			send_code = KC_S; -		} -		break; -	} - -	if (send_code == 0) { -		return true; -	} -	else { -		register_code(KC_RALT); -		register_code(send_code); -		unregister_code(send_code); -		unregister_code(KC_RALT); -		return false; -	} -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { -	if (keycode == KC_QUOT) { -		if (record->event.pressed) { -			register_code(KC_QUOT); -			unregister_code(KC_QUOT); -			register_code(KC_SPACE); -			unregister_code(KC_SPACE); -		} -		return false; -	} -#if LANGUAGE == GERMAN -	return process_german(keycode, record); -#else -	return true; -#endif -} - -void led_set_user(uint8_t usb_led) { - -}
\ No newline at end of file | 
