forked from SonixQMK/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Keymap] urbanvanilla keymap for drop/alt (qmk#11365)
* added urbanvanilla keymap Urbanvanilla's keymap for massdrop/alt keyboard adds in an idle timer to turn off RGB after set amount of time. poor unsuccessful attempt at replicating a velocikey like functionality. Grave escape is enabled on ESC. * Update readme.md * updating documentation * Create readme.md * restoring default documentation * update with review changes implemented removed unnecessary lines and files. increased wait_us() parameter to 40 as was still getting chatter at 20. removed some code for the terrible rudimentary attempt at velocikey for rgb matrix * Update matrix.c * Revert "Merge pull request SonixQMK#3 from urbanvanilla/dev_branch" This reverts commit deb55d7, reversing changes made to ba88173. * Update keymap.c * added urbanvanilla keymap Urbanvanilla's keymap for massdrop/alt keyboard adds in an idle timer to turn off RGB after set amount of time. poor unsuccessful attempt at replicating a velocikey like functionality. Grave escape is enabled on ESC. * Update readme.md * updating documentation * Create readme.md * restoring default documentation * update with review changes implemented removed unnecessary lines and files. increased wait_us() parameter to 40 as was still getting chatter at 20. removed some code for the terrible rudimentary attempt at velocikey for rgb matrix * Update matrix.c * Revert "Merge pull request SonixQMK#3 from urbanvanilla/dev_branch" This reverts commit deb55d7, reversing changes made to ba88173. * Delete matrix.c * Update keyboards/massdrop/alt/keymaps/urbanvanilla/config.h Co-authored-by: Joel Challis <git@zvecr.com> * Update keymap.c * Update keymap.c * Update keyboards/massdrop/alt/keymaps/urbanvanilla/keymap.c Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Ryan <fauxpark@gmail.com>
- Loading branch information
1 parent
523c831
commit 214528b
Showing
4 changed files
with
241 additions
and
0 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
/* | ||
Copyright 2015 Jun Wako <wakojun@gmail.com> | ||
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/>. | ||
*/ | ||
|
||
#pragma once | ||
|
||
#define MATRIX_IO_DELAY 40 | ||
|
||
#define RGB_MATRIX_KEYPRESSES | ||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS | ||
#define RGB_MATRIX_LED_PROCESS_LIMIT 15 | ||
#define RGB_MATRIX_LED_FLUSH_LIMIT 10 | ||
|
||
#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended |
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,164 @@ | ||
#include QMK_KEYBOARD_H | ||
|
||
enum alt_keycodes { | ||
U_T_AUTO = SAFE_RANGE, //USB Extra Port Toggle Auto Detect / Always Active | ||
U_T_AGCR, //USB Toggle Automatic GCR control | ||
DBG_TOG, //DEBUG Toggle On / Off | ||
DBG_MTRX, //DEBUG Toggle Matrix Prints | ||
DBG_KBD, //DEBUG Toggle Keyboard Prints | ||
DBG_MOU, //DEBUG Toggle Mouse Prints | ||
MD_BOOT, //Restart into bootloader after hold timeout | ||
}; | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
[0] = LAYOUT_65_ansi_blocker( | ||
KC_GESC, 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_BSPC, KC_DEL, | ||
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_RBRC, KC_BSLS, KC_HOME, | ||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, | ||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, | ||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT | ||
), | ||
[1] = LAYOUT_65_ansi_blocker( | ||
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, VLK_TOG, KC_MUTE, | ||
_______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, U_T_AUTO,U_T_AGCR,_______, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_END, | ||
_______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, | ||
_______, _______, RGB_TOG, _______, _______, MD_BOOT, NK_TOGG, DBG_TOG, _______, _______, _______, _______, KC_PGUP, KC_VOLD, | ||
_______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END | ||
), | ||
/* | ||
[X] = LAYOUT( | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______ | ||
), | ||
*/ | ||
}; | ||
|
||
#define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)) | ||
#define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTRL)) | ||
#define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT)) | ||
#define IDLE_TIMER_DURATION 20000 //how many milliseconds before RGB turns off | ||
|
||
static uint32_t idle_timer; //custom timer to check if keyboard is idled. | ||
bool rgbkeyIdle = false; //flag for keyboard idling, nil keys for set | ||
bool Jelocikey_toggle = false; | ||
uint8_t currentWPM; | ||
|
||
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
|
||
static uint32_t key_timer; | ||
idle_timer = timer_read(); | ||
|
||
|
||
switch (keycode) { | ||
case U_T_AUTO: | ||
if (record->event.pressed && MODS_SHIFT && MODS_CTRL) { | ||
TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode"); | ||
} | ||
return false; | ||
case U_T_AGCR: | ||
if (record->event.pressed && MODS_SHIFT && MODS_CTRL) { | ||
TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode"); | ||
} | ||
return false; | ||
case DBG_TOG: | ||
if (record->event.pressed) { | ||
TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode"); | ||
} | ||
return false; | ||
case DBG_MTRX: | ||
if (record->event.pressed) { | ||
TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix"); | ||
} | ||
return false; | ||
case DBG_KBD: | ||
if (record->event.pressed) { | ||
TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard"); | ||
} | ||
return false; | ||
case DBG_MOU: | ||
if (record->event.pressed) { | ||
TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse"); | ||
} | ||
return false; | ||
case MD_BOOT: | ||
if (record->event.pressed) { | ||
key_timer = timer_read32(); | ||
} else { | ||
if (timer_elapsed32(key_timer) >= 500) { | ||
reset_keyboard(); | ||
} | ||
} | ||
return false; | ||
case RGB_TOG: | ||
if (record->event.pressed) { | ||
switch (rgb_matrix_get_flags()) { | ||
case LED_FLAG_ALL: { | ||
rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); | ||
rgb_matrix_set_color_all(0, 0, 0); | ||
} | ||
break; | ||
case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): { | ||
rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); | ||
rgb_matrix_set_color_all(0, 0, 0); | ||
} | ||
break; | ||
case LED_FLAG_UNDERGLOW: { | ||
rgb_matrix_set_flags(LED_FLAG_NONE); | ||
rgb_matrix_disable_noeeprom(); | ||
} | ||
break; | ||
default: { | ||
rgb_matrix_set_flags(LED_FLAG_ALL); | ||
rgb_matrix_enable_noeeprom(); | ||
} | ||
break; | ||
} | ||
} | ||
return false; | ||
/* case VLK_TOG: | ||
if (record->event.pressed) { | ||
Jelocikey_toggle =! Jelocikey_toggle; | ||
} | ||
else { | ||
rgb_matrix_set_speed_noeeprom(127); | ||
} | ||
return false; */ | ||
default: | ||
|
||
if (rgbkeyIdle) { //check if the keyboards already idle and if it is, turn it back on as key is pressed. | ||
rgbkeyIdle = false; | ||
rgb_matrix_set_suspend_state(false); | ||
rgb_matrix_enable_noeeprom(); | ||
} | ||
|
||
if (Jelocikey_toggle) { | ||
rgb_matrix_set_speed_noeeprom(3); | ||
currentWPM = get_current_wpm(); | ||
rgb_matrix_set_speed_noeeprom(currentWPM); | ||
rgb_matrix_set_color(13, 100, 255, 255); | ||
} | ||
return true; //Process all other keycodes normally | ||
} | ||
} | ||
|
||
void matrix_scan_user(void) { | ||
//custom idle rbg switch off function | ||
if (timer_elapsed(idle_timer) > IDLE_TIMER_DURATION) { | ||
idle_timer = 0; | ||
timer_clear(); | ||
rgbkeyIdle = true; | ||
rgb_matrix_set_suspend_state(true); | ||
rgb_matrix_disable_noeeprom(); | ||
} | ||
} | ||
|
||
void suspend_power_down_user(void) { | ||
rgb_matrix_set_suspend_state(true); | ||
} | ||
|
||
void suspend_wakeup_init_user(void) { | ||
rgb_matrix_set_suspend_state(false); | ||
} |
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,48 @@ | ||
|
||
# Custom mapping for the Drop Alt Keyboard. | ||
|
||
A really simple set of changes/fixes | ||
|
||
# Features and changes: | ||
|
||
## *ESC is now Grave Escape.* | ||
Changes KC_ESC for grave escape - Escape key is also `/~ when used with the modifier key. | ||
|
||
## *RGB timer switch off* | ||
|
||
There is a timer that turns off RGB lighting after a set time. This is defined by | ||
|
||
#define IDLE_TIMER_DURATION 20000 //how many milliseconds before RGB turns off | ||
|
||
## *Keyboard chatter fix* | ||
|
||
I have left the debounce settings and instead changed | ||
|
||
wait_us(1); //Delay for output | ||
to 40 instead of 1 which works for other keyboards as I was getting lots of keyboard chatter on all keys previously. 20 seemed to still let key chatter go through. Seems to be working well since. | ||
|
||
|
||
|
||
|
||
|
||
|
||
# ALT | ||
|
||
![ALT](https://massdrop-s3.imgix.net/product-images/alt-keyboard/FP/WNxwR19gTua3nxiiQWP3_AI7B3311%20copy%20page.jpg?auto=format&fm=jpg&fit=max&w=700&h=467&dpr=1&q=80) | ||
|
||
The Massdrop ALT is a 65% mechanical keyboard featuring dual USB-C connectors, an integrated Hi-Speed USB 2.0 hub, and fully customizable RGB backlighting and underlighting. | ||
|
||
Keyboard Maintainer: [Massdrop](https://github.com/massdrop) | ||
Hardware Supported: Massdrop, Inc. ALT PCBs utilizing Microchip's ATSAMD51J18A MCU and USB2422 2-Port USB 2.0 Hi-Speed Hub Controller, and ISSI's IS31FL3733 LED Drivers. | ||
Hardware Availability: [Massdrop ALT Mechanical Keyboard](https://www.massdrop.com/buy/massdrop-alt-mechanical-keyboard) | ||
|
||
Make example for this keyboard (after setting up your build environment): | ||
|
||
make massdrop/alt:default | ||
|
||
For information on flashing this keyboard, visit the following links: | ||
|
||
[Massdrop Loader Releases](https://github.com/Massdrop/mdloader/releases) | ||
[Massdrop Loader Repository and Instructions](https://github.com/Massdrop/mdloader) | ||
|
||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). |
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 @@ | ||
WPM_ENABLE = yes | ||
VELOCIKEY_ENABLE = yes # doesn't work with RGB MATRIX only RGB LIGHT :( |