qmk

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.z3bra.org/qmk.git
Log | Files | Refs | Submodules | LICENSE

commit cd544e10a98b4bfd7f988d713dea446be9eb1b83
parent 6dec3550e0540ec979e11f7f310478877b3764b7
Author: Elliot Powell <32494740+e11i0t23@users.noreply.github.com>
Date:   Fri,  2 Nov 2018 23:41:26 +0000

Keymap: Fixed poor layout of EP40 default keymap (#4330)

* add initial ep40 files

* fixed issues

* updated keymap

* Added media control

* Update keyboards/handwired/ep40/rules.mk

Co-Authored-By: e11i0t23 <32494740+e11i0t23@users.noreply.github.com>

* Fixed requested changes

* Fixed more requested changes

* Added delete key to layor 1

* Updated defualt keympap to have a Backspace mod del key

* removed place holder

Co-Authored-By: e11i0t23 <32494740+e11i0t23@users.noreply.github.com>

* removed obsolete code

Co-Authored-By: e11i0t23 <32494740+e11i0t23@users.noreply.github.com>

Diffstat:
keyboards/handwired/ep40/keymaps/default/keymap.c | 38+++++++++++++++++++++++++++++++++++---
1 file changed, 35 insertions(+), 3 deletions(-)

diff --git a/keyboards/handwired/ep40/keymaps/default/keymap.c b/keyboards/handwired/ep40/keymaps/default/keymap.c @@ -15,16 +15,22 @@ */ #include QMK_KEYBOARD_H +static bool bsdel_mods = false; + +enum custom_keycodes { + M_BSDEL = SAFE_RANGE, // ensure these codes start after the highest keycode defined in Quantum +}; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( /* Base */ - KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,\ + KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, M_BSDEL,\ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, \ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT,\ - LCTL_T(KC_LBRC), KC_LGUI, KC_LALT, KC_SPC, LT(1, KC_SPC), KC_RGUI, MO(2), RCTL_T(KC_RBRC), KC_RALT \ + LCTL_T(KC_LBRC), KC_LGUI, KC_LALT, KC_SPC, LT(1, KC_SPC), KC_RALT, MO(2), RCTL_T(KC_RBRC), KC_F5 \ ), [1] = LAYOUT( /* Base */ - KC_TRNS, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0, KC_DEL ,\ + KC_TRNS, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0, KC_TRNS,\ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT, KC_TRNS,\ KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_TRNS,\ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \ @@ -37,3 +43,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET \ ), }; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case M_BSDEL: { + uint8_t kc = KC_BSPC; + + if (record->event.pressed) { + if (keyboard_report->mods) { + kc = KC_DEL; + } + register_code (kc); + bsdel_mods = keyboard_report->mods; + } + else { + if (bsdel_mods) { + kc = KC_DEL; + } + unregister_code (kc); + } + + return false; + break; + } + } + return true; +}