-
-
Notifications
You must be signed in to change notification settings - Fork 40k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding lily58pro and preonic keymap #10013
Merged
Merged
Changes from all commits
Commits
Show all changes
24 commits
Select commit
Hold shift + click to select a range
b8911ec
added danskish keymap
b3f3d27
Added readme.md
0c7bc33
Clean up in keymap.c
88659ce
Added license
40b2d05
Changed name of keymap
7a71c11
adjusting tapping term
8c46a8a
added encoder functionality
aace0ac
housekeeping
38c5169
layouts resemble the layout now
7b7a7a6
implemented suggestions from @drashna
drasbeck 4fd0299
added keymap for preonic rev3
drasbeck 4c0a14a
added default layer to readme.md
drasbeck 07cb49e
removed backslashes
drasbeck 24c8c41
Update keyboards/lily58/keymaps/drasbeck/keymap.c
drasbeck 7972af9
Update keyboards/preonic/keymaps/drasbeck/readme.md
drasbeck f99c2a0
Update keyboards/lily58/keymaps/drasbeck/rules.mk
drasbeck bae1938
Update keyboards/preonic/keymaps/drasbeck/keymap.c
drasbeck 608bc9e
Update keyboards/preonic/keymaps/drasbeck/keymap.c
drasbeck af022d6
Update keyboards/preonic/keymaps/drasbeck/keymap.c
drasbeck 49f4f34
Update keyboards/preonic/keymaps/drasbeck/keymap.c
drasbeck d72e2cc
Update keyboards/lily58/keymaps/drasbeck/rules.mk
drasbeck f4a8959
Update keyboards/lily58/keymaps/drasbeck/rules.mk
drasbeck fb6ef51
Update keyboards/lily58/keymaps/drasbeck/rules.mk
drasbeck 7555644
Update keyboards/preonic/keymaps/drasbeck/rules.mk
drasbeck File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
/* | ||
Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 2020 Max Drasbeck | ||
* | ||
* You are free to: | ||
* | ||
* Share — copy and redistribute the material in any medium or format | ||
* Adapt — remix, transform, and build upon the material | ||
* for any purpose, even commercially. | ||
* | ||
* The licensor cannot revoke these freedoms as long as you follow the license terms. | ||
*/ | ||
|
||
#pragma once | ||
|
||
//#define USE_MATRIX_I2C | ||
|
||
/* Select hand configuration */ | ||
|
||
#define MASTER_LEFT | ||
// #define MASTER_RIGHT | ||
// #define EE_HANDS | ||
|
||
#define USE_SERIAL_PD2 | ||
|
||
#define ENCODERS_PAD_A { F4 } | ||
#define ENCODERS_PAD_B { F5 } | ||
#define ENCODER_RESOLUTION 4 | ||
|
||
#define TAPPING_FORCE_HOLD | ||
#define TAPPING_TERM 180 | ||
|
||
#undef RGBLED_NUM | ||
#define RGBLIGHT_ANIMATIONS | ||
#define RGBLED_NUM 27 | ||
#define RGBLIGHT_LIMIT_VAL 120 | ||
#define RGBLIGHT_HUE_STEP 10 | ||
#define RGBLIGHT_SAT_STEP 17 | ||
#define RGBLIGHT_VAL_STEP 17 | ||
|
||
// Underglow | ||
/* | ||
#undef RGBLED_NUM | ||
#define RGBLED_NUM 14 // Number of LEDs | ||
#define RGBLIGHT_ANIMATIONS | ||
#define RGBLIGHT_SLEEP | ||
*/ |
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,166 @@ | ||
/* Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 2020 Max Drasbeck | ||
* | ||
* You are free to: | ||
* | ||
* Share — copy and redistribute the material in any medium or format | ||
* Adapt — remix, transform, and build upon the material | ||
* for any purpose, even commercially. | ||
* | ||
* The licensor cannot revoke these freedoms as long as you follow the license terms. | ||
*/ | ||
|
||
#include QMK_KEYBOARD_H | ||
|
||
extern uint8_t is_master; | ||
|
||
enum layers { | ||
_QWERTY, | ||
_LOWER, | ||
_RAISE, | ||
_ADJUST, | ||
}; | ||
|
||
enum custom_keycodes { | ||
QWERTY = SAFE_RANGE, | ||
LOWER, | ||
RAISE, | ||
ADJUST, | ||
}; | ||
|
||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
|
||
[_QWERTY] = LAYOUT( | ||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, | ||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, | ||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NO, KC_MUTE, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_SFTENT, | ||
KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_NUBS, KC_LCTL | ||
), | ||
|
||
[_LOWER] = LAYOUT( | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, | ||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, KC_MINS, KC_EQL, KC_RBRC, | ||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NO, KC_HOME, KC_PGDN, KC_END, KC_NO, KC_NUHS, | ||
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RO, KC_ENT, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||
), | ||
|
||
[_RAISE] = LAYOUT( | ||
KC_TRNS, RALT(KC_1), RALT(KC_2), RALT(KC_3), RALT(KC_4), RALT(KC_5), RALT(KC_6), RALT(KC_7), RALT(KC_8), RALT(KC_9), RALT(KC_0), KC_DEL, | ||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_MINS, KC_EQL, KC_RBRC, | ||
KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NUHS, | ||
KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLD, KC_VOLU, KC_MUTE, KC_RO, KC_SFTENT, | ||
KC_RALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT(KC_NUBS), KC_TRNS | ||
), | ||
|
||
[_ADJUST] = LAYOUT( | ||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, | ||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, | ||
_______, _______, _______, _______, _______, _______, _______, _______ | ||
) | ||
}; | ||
|
||
int RGB_current_mode; | ||
|
||
void matrix_init_user(void) { | ||
#ifdef RGBLIGHT_ENABLE | ||
RGB_current_mode = rgblight_config.mode; | ||
#endif | ||
} | ||
|
||
//SSD1306 OLED update loop, make sure to enable OLED_DRIVER_ENABLE=yes in rules.mk | ||
#ifdef OLED_DRIVER_ENABLE | ||
|
||
oled_rotation_t oled_init_user(oled_rotation_t rotation) { | ||
if (!is_keyboard_master()) | ||
return OLED_ROTATION_180; // flips the display 180 degrees if offhand | ||
return rotation; | ||
} | ||
|
||
// When you add source files to SRC in rules.mk, you can use functions. | ||
const char *read_layer_state(void); | ||
const char *read_logo(void); | ||
void set_keylog(uint16_t keycode, keyrecord_t *record); | ||
//const char *read_keylog(void); | ||
//const char *read_keylogs(void); | ||
|
||
// const char *read_mode_icon(bool swap); | ||
// const char *read_host_led_state(void); | ||
// void set_timelog(void); | ||
// const char *read_timelog(void); | ||
|
||
void oled_task_user(void) { | ||
if (is_keyboard_master()) { | ||
// If you want to change the display of OLED, you need to change here | ||
oled_write_ln(read_layer_state(), false); | ||
//oled_write_ln(read_keylog(), false); | ||
//oled_write_ln(read_keylogs(), false); | ||
//oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false); | ||
//oled_write_ln(read_host_led_state(), false); | ||
//oled_write_ln(read_timelog(), false); | ||
} else { | ||
oled_write(read_logo(), false); | ||
} | ||
} | ||
#endif // OLED_DRIVER_ENABLE | ||
|
||
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
if (record->event.pressed) { | ||
#ifdef OLED_DRIVER_ENABLE | ||
set_keylog(keycode, record); | ||
#endif | ||
// set_timelog(); | ||
} | ||
|
||
switch (keycode) { | ||
case QWERTY: | ||
if (record->event.pressed) { | ||
set_single_persistent_default_layer(_QWERTY); | ||
} | ||
return false; | ||
break; | ||
case LOWER: | ||
if (record->event.pressed) { | ||
layer_on(_LOWER); | ||
} else { | ||
layer_off(_LOWER); | ||
} | ||
update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
return false; | ||
break; | ||
case RAISE: | ||
if (record->event.pressed) { | ||
layer_on(_RAISE); | ||
} else { | ||
layer_off(_RAISE); | ||
} | ||
update_tri_layer(_LOWER, _RAISE, _ADJUST); | ||
return false; | ||
break; | ||
case ADJUST: | ||
if (record->event.pressed) { | ||
layer_on(_ADJUST); | ||
} else { | ||
layer_off(_ADJUST); | ||
} | ||
return false; | ||
break; | ||
} | ||
return true; | ||
} | ||
|
||
#ifdef ENCODER_ENABLE | ||
void encoder_update_user(uint8_t index, bool clockwise) { | ||
// index 1 == minion side | ||
if (index == 1) { | ||
if (clockwise) { | ||
tap_code(KC_VOLD); | ||
} else { | ||
tap_code(KC_VOLU); | ||
} | ||
} | ||
} | ||
#endif |
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,14 @@ | ||
## Danish (Dansk) layout for the Lily58 Pro | ||
Keyboard: Lily58 Pro | ||
Keys: Lily58 Pro is 6×4+5keys column-staggered split keyboard, optinal with a rotary encoder. | ||
Flash instructions: Flash each side of the keyboard, minding whether the side uses a Pro Micro or Elite-C controller. | ||
|
||
### Layout | ||
Danish special characters on main layer, moving other characters to mainly raised layer. | ||
|
||
Layer 0 = default | ||
Layer 1 = lower | ||
Layer 2 = raise | ||
|
||
![keymap](https://drasbeck.dk/public/keymap_lily58pro_danskish.png) | ||
|
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,28 @@ | ||
# Build Options | ||
# change yes to no to disable | ||
# | ||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration | ||
MOUSEKEY_ENABLE = no # Mouse keys | ||
EXTRAKEY_ENABLE = yes # Audio control and System control | ||
CONSOLE_ENABLE = no # Console for debug | ||
COMMAND_ENABLE = no # Commands for debug and configuration | ||
NKRO_ENABLE = no # 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 | ||
AUDIO_ENABLE = no # Audio output | ||
BLUETOOTH_ENABLE = no # Enable Bluetooth | ||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | ||
SWAP_HANDS_ENABLE = no # Enable one-hand typing | ||
OLED_DRIVER_ENABLE = yes # OLED display | ||
ENCODER_ENABLE = yes # Enable encoder | ||
|
||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | ||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | ||
|
||
# If you want to change the display of OLED, you need to change here | ||
SRC += ./lib/rgb_state_reader.c \ | ||
./lib/layer_state_reader.c \ | ||
./lib/logo_reader.c \ | ||
./lib/keylogger.c \ | ||
# ./lib/mode_icon_reader.c \ | ||
# ./lib/host_led_state_reader.c \ | ||
# ./lib/timelogger.c \ |
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,49 @@ | ||
/* | ||
Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 2020 Max Drasbeck | ||
* | ||
* You are free to: | ||
* | ||
* Share — copy and redistribute the material in any medium or format | ||
* Adapt — remix, transform, and build upon the material | ||
* for any purpose, even commercially. | ||
* | ||
* The licensor cannot revoke these freedoms as long as you follow the license terms. | ||
*/ | ||
|
||
#pragma once | ||
|
||
#ifdef AUDIO_ENABLE | ||
#define STARTUP_SONG SONG(PREONIC_SOUND) | ||
// #define STARTUP_SONG SONG(NO_SOUND) | ||
|
||
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND) }//, | ||
// SONG(COLEMAK_SOUND), | ||
// SONG(DVORAK_SOUND) | ||
//} | ||
#endif | ||
|
||
#define MUSIC_MASK (keycode != KC_NO) | ||
|
||
/* | ||
* MIDI options | ||
*/ | ||
|
||
/* Prevent use of disabled MIDI features in the keymap */ | ||
//#define MIDI_ENABLE_STRICT 1 | ||
|
||
/* enable basic MIDI features: | ||
- MIDI notes can be sent when in Music mode is on | ||
*/ | ||
|
||
#define MIDI_BASIC | ||
|
||
/* enable advanced MIDI features: | ||
- MIDI notes can be added to the keymap | ||
- Octave shift and transpose | ||
- Virtual sustain, portamento, and modulation wheel | ||
- etc. | ||
*/ | ||
//#define MIDI_ADVANCED | ||
|
||
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ | ||
//#define MIDI_TONE_KEYCODE_OCTAVES 2 |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Formatting nit-pick