forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Keymap] dumbpad updates, new keymap (qmk#6481)
* removed some debug prints * removed unnecessary files, tweaked some things * rotary encoder button now connected into column 0, row 3 * tweaked keymap and moved encoder control into keymap * tweaks * added test keymap * updated some things to make it easier to work with QMK configurator * updates after merging latest master in * fixed a few things * removed test keymap and all related #ifdefs * changed some dumbpad default keys, added KC_LOCK * added image to readme * added link to PCB github repo * moved lock key to the rotary encoder pushbutton * making suggested changes from @fauxpark in qmk#6452 * adding bootmagic lite since i'm lazy and haven't soldered on the reset button... * renamed to * using 7 underscores for KC_TRNS * adding my layout (default is for wife) * updated my own layout, tweaked default keymap to use cleaner switch for encoder control * removed commented out import from imchipwood keymap, removed unnecessary comment from default layout * added LED layer control * flash the layer indicator LEDs at startup * change layer_state_set_user to layer_state_set_kb Co-Authored-By: Joel Challis <git@zvecr.com> * in layer_state_set_kb, return layer_state_set_user Co-Authored-By: Drashna Jaelre <drashna@live.com> * remove include of upper level config.h, add pragma once Co-Authored-By: Drashna Jaelre <drashna@live.com> * changing default keymap slightly, added config.h for default layout * change _delay_ms to wait_ms * replaced locking numlock with numlock * Update keyboards/dumbpad/dumbpad.c change `keyboard_pre_init_user` to `keyboard_pre_init_kb` Co-Authored-By: Joel Challis <git@zvecr.com> * Update keyboards/dumbpad/dumbpad.c adding `keyboard_pre_init_user()` to `keyboard_pre_init_kb()` Co-Authored-By: Joel Challis <git@zvecr.com> * fixed some comments about the layer key (MO to TT) and the SUB layer rotary encoder control
- Loading branch information
1 parent
9b5caca
commit efe544f
Showing
6 changed files
with
237 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
#pragma once | ||
#define TAPPING_TOGGLE 2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
#pragma once | ||
#define TAPPING_TOGGLE 2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,163 @@ | ||
/* Copyright 2019 imchipwood | ||
* | ||
* 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 QMK_KEYBOARD_H | ||
|
||
#define _BASE 0 | ||
#define _SUB 1 | ||
#define _DBG 2 | ||
|
||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
/* | ||
BASE LAYER | ||
/-----------------------------------------------------` | ||
| | 7 | 8 | 9 | Bkspc | | ||
| |---------|---------|---------|---------| | ||
| | 4 | 5 | 6 | + | | ||
| |---------|---------|---------|---------| | ||
| | 1 | 2 | 3 | * | | ||
|-------------|---------|---------|---------|---------| | ||
| Play/Pause | TT(SUB) | 0 | . | Enter | | ||
\-----------------------------------------------------' | ||
*/ | ||
[_BASE] = LAYOUT( | ||
KC_P7, KC_P8, KC_P9, KC_BSPC, | ||
KC_P4, KC_P5, KC_P6, KC_KP_PLUS, | ||
KC_P1, KC_P2, KC_P3, KC_KP_ASTERISK, | ||
KC_MPLY, TT(_SUB), KC_P0, KC_PDOT, KC_KP_ENTER | ||
), | ||
/* | ||
SUB LAYER | ||
/-----------------------------------------------------` | ||
| | | | | Numlock | | ||
| |---------|---------|---------|---------| | ||
| | | | | - | | ||
| |---------|---------|---------|---------| | ||
| | | | | / | | ||
|-------------|---------|---------|---------|---------| | ||
| MO(_DBG) | | | | = | | ||
\-----------------------------------------------------' | ||
*/ | ||
[_SUB] = LAYOUT( | ||
_______, _______, _______, KC_NLCK, | ||
_______, _______, _______, KC_KP_MINUS, | ||
_______, _______, _______, KC_KP_SLASH, | ||
MO(_DBG), _______, _______, _______, KC_KP_EQUAL | ||
), | ||
/* | ||
DEBUG LAYER | ||
/-----------------------------------------------------` | ||
| | | | | Reset | | ||
| |---------|---------|---------|---------| | ||
| | | | | | | ||
| |---------|---------|---------|---------| | ||
| | | | | | | ||
|-------------|---------|---------|---------|---------| | ||
| | | | | | | ||
\-----------------------------------------------------' | ||
*/ | ||
[_DBG] = LAYOUT( | ||
_______, _______, _______, RESET, | ||
_______, _______, _______, _______, | ||
_______, _______, _______, _______, | ||
_______, _______, _______, _______, _______ | ||
), | ||
}; | ||
|
||
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
// If console is enabled, it will print the matrix position and status of each key pressed | ||
/* | ||
#ifdef CONSOLE_ENABLE | ||
uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed); | ||
#endif | ||
*/ | ||
return true; | ||
} | ||
|
||
void keyboard_post_init_user(void) { | ||
// Customise these values to desired behaviour | ||
//debug_enable = true; | ||
//debug_matrix = true; | ||
//debug_keyboard = true; | ||
//debug_mouse = true; | ||
} | ||
|
||
void matrix_init_user(void) { | ||
|
||
} | ||
|
||
void matrix_scan_user(void) { | ||
|
||
} | ||
|
||
void led_set_user(uint8_t usb_led) { | ||
|
||
} | ||
|
||
|
||
void encoder_update_user(uint8_t index, bool clockwise) { | ||
/* Custom encoder control - handles CW/CCW turning of encoder | ||
* Cusotom behavior: | ||
* main layer: | ||
* CW: volume up | ||
* CCW: volume down | ||
* sub layer: | ||
* CW: next media track | ||
* CCW: prev media track | ||
* debug layer: | ||
* CW: brightness up | ||
* CCW: brightness down | ||
*/ | ||
if (index == 0) { | ||
switch (biton32(layer_state)) { | ||
case _BASE: | ||
// main layer - volume up (CW) and down (CCW) | ||
if (clockwise) { | ||
tap_code(KC_VOLU); | ||
} else { | ||
tap_code(KC_VOLD); | ||
} | ||
break; | ||
|
||
case _SUB: | ||
// sub layer - next track (CW) and previous track (CCW) | ||
if (clockwise) { | ||
tap_code(KC_MNXT); | ||
} else { | ||
tap_code(KC_MPRV); | ||
} | ||
break; | ||
|
||
case _DBG: | ||
// debug layer - brightness up (CW) and brightness down (CCW) | ||
if (clockwise) { | ||
tap_code(KC_BRIU); | ||
} else { | ||
tap_code(KC_BRID); | ||
} | ||
break; | ||
|
||
default: | ||
// any other layer (shouldn't exist..) - volume up (CW) and down (CCW) | ||
if (clockwise) { | ||
tap_code(KC_VOLU); | ||
} else { | ||
tap_code(KC_VOLD); | ||
} | ||
break; | ||
} | ||
} | ||
} |