From ce122c4981c71d33a85db94c787d5ec7a823acc6 Mon Sep 17 00:00:00 2001 From: MechMerlin <30334081+mechmerlin@users.noreply.github.com> Date: Thu, 13 Sep 2018 09:40:43 -0700 Subject: Keyboard: Shuffle keyboards into thevankeyboards directory (#3895) * move tv44 to thevankeyboards directory * move bananasplit to thevankeyboards * move roadkit to thevankeyboards directory * add a basic readme * update readmes to correct the make instructions and add more help text * rename tv44 to minivan as per Jack's suggestions * update readme * rename tv44 to minivan * update tv44 to minivan * change includes for tv44 to minivan * remove extra includes --- .../roadkit/keymaps/flipphone/config.h | 8 + .../roadkit/keymaps/flipphone/keymap.c | 219 +++++++++++++++++++++ .../roadkit/keymaps/flipphone/readme.md | 26 +++ .../roadkit/keymaps/flipphone/rules.mk | 21 ++ 4 files changed, 274 insertions(+) create mode 100644 keyboards/thevankeyboards/roadkit/keymaps/flipphone/config.h create mode 100644 keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c create mode 100644 keyboards/thevankeyboards/roadkit/keymaps/flipphone/readme.md create mode 100644 keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk (limited to 'keyboards/thevankeyboards/roadkit/keymaps/flipphone') diff --git a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/config.h b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/config.h new file mode 100644 index 000000000..df06a2620 --- /dev/null +++ b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/config.h @@ -0,0 +1,8 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +// place overrides here + +#endif \ No newline at end of file diff --git a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c new file mode 100644 index 000000000..fed9d0270 --- /dev/null +++ b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/keymap.c @@ -0,0 +1,219 @@ +#include QMK_KEYBOARD_H + +extern keymap_config_t keymap_config; + +#ifdef BACKLIGHT_ENABLE + #include "backlight.h" +#endif + +#ifdef AUDIO_ENABLE + #include "audio.h" +#endif + +void backlight_toggle(void){ +}; + +enum roadkit_layers { + _NUMPAD, + _FPH, + _FPHNOISY, + _ADJUST, + _DYN +}; + +enum roadkit_keycodes { + NUMPAD = SAFE_RANGE, + FPH_1, + FPH_2, + FPH_3, + FPH_4, + FPH_5, + FPH_6, + FPH_7, + FPH_8, + FPH_9, + FN_0, + BACKLIT, + MACSLEEP, + DYNAMIC_MACRO_RANGE, +}; + +#include "dynamic_macro.h" + +// Fillers to make keymaps cleaner looking +#define _______ KC_TRNS +#define XXXXXXX KC_NO + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_NUMPAD] = LAYOUT_numpad_4x4( /* Numpad */ + KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, \ + KC_KP_4, KC_KP_5, KC_KP_6, \ + KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER, \ + LT(_ADJUST, KC_KP_0), KC_KP_DOT \ + ), + [_FPH] = LAYOUT_numpad_4x4( /* Quiet T9 */ + FPH_7, FPH_8, FPH_9, KC_KP_PLUS, \ + FPH_4, FPH_5, FPH_6, \ + FPH_1, FPH_2, FPH_3, SFT_T(KC_KP_ENTER), \ + LT(_ADJUST, KC_SPACE), KC_KP_DOT \ + ), + [_FPHNOISY] = LAYOUT_numpad_4x4( /* Noisy T9 */ + FPH_7, FPH_8, FPH_9, KC_KP_PLUS, \ + FPH_4, FPH_5, FPH_6, \ + FPH_1, FPH_2, FPH_3, SFT_T(KC_KP_ENTER), \ + LT(_ADJUST, KC_SPACE), KC_KP_DOT \ + ), + [_ADJUST] = LAYOUT_numpad_4x4( /* Adjustments */ + KC_NUMLOCK, TG(_FPHNOISY), TG(_FPH), TG(_NUMPAD), \ + KC_BSPC, BACKLIT, KC_DEL, \ + MACSLEEP, _______, _______, _______, \ + _______, MO(_DYN) \ + ), + [_DYN] = LAYOUT_numpad_4x4( /* DYNAMIC MACRO */ + DYN_REC_START1, DYN_REC_START2, _______, DYN_REC_STOP, \ + _______, _______, _______, \ + DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______, _______, \ + _______, _______ \ + ), +}; + +const uint16_t PROGMEM fn_actions[] = { + +}; + +void persistant_default_layer_set(uint16_t default_layer) { + eeconfig_update_default_layer(default_layer); + default_layer_set(default_layer); +} + +uint16_t fph_tap_qty = false; +uint16_t fph_keycode = 0; // stores which spacebar was used, either raise or lower... + +uint16_t get_render_keycode(uint16_t keycode, uint16_t tap_qty){ // maybe replace shift with "mods" + tap_qty--; // reduce by one to match array indexes. + switch(keycode){ + case FPH_2: + {uint16_t kc[] = {KC_A, KC_B, KC_C}; + if(tap_qty % 6 > 2) + return LSFT(kc[tap_qty % 3]); + return kc[tap_qty % 3];} + break; + case FPH_3: + {uint16_t kc[] = {KC_D, KC_E, KC_F}; + if(tap_qty % 6 > 2) + return LSFT(kc[tap_qty % 3]); + return kc[tap_qty % 3];} + break; + case FPH_4: + {uint16_t kc[] = {KC_G, KC_H, KC_I}; + if(tap_qty % 6 > 2) + return LSFT(kc[tap_qty % 3]); + return kc[tap_qty % 3];} + break; + case FPH_5: + {uint16_t kc[] = {KC_J, KC_K, KC_L}; + if(tap_qty % 6 > 2) + return LSFT(kc[tap_qty % 3]); + return kc[tap_qty % 3];} + break; + case FPH_6: + {uint16_t kc[] = {KC_M, KC_N, KC_O}; + if(tap_qty % 6 > 2) + return LSFT(kc[tap_qty % 3]); + return kc[tap_qty % 3];} + break; + case FPH_7: + {uint16_t kc[] = {KC_P, KC_Q, KC_R, KC_S}; + if(tap_qty % 8 > 2) + return LSFT(kc[tap_qty % 4]); + return kc[tap_qty % 4];} + break; + case FPH_8: + {uint16_t kc[] = {KC_T, KC_U, KC_V}; + if(tap_qty % 8 > 2) + return LSFT(kc[tap_qty % 4]); + return kc[tap_qty % 4];} + break; + case FPH_9: + {uint16_t kc[] = {KC_W, KC_X, KC_Y, KC_Z}; + if(tap_qty % 8 > 2) + return LSFT(kc[tap_qty % 4]); + return kc[tap_qty % 4];} + break; + case FPH_1: + {uint16_t kc[] = {KC_COMM, LSFT(KC_SLSH), KC_EXLM, KC_AT, KC_MINS, KC_UNDS, KC_PLUS, \ + KC_SCLN, LSFT(KC_SCLN), KC_QUOT, LSFT(KC_QUOT), KC_TILD, \ + KC_PIPE, KC_BSLS, KC_HASH, LSFT(KC_4), KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, \ + KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, LSFT(KC_COMM), LSFT(KC_DOT)}; + return kc[tap_qty % 26];} + } + return KC_NO; +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (!process_record_dynamic_macro(keycode, record)) { + return false; + } + uint8_t layer; + layer = biton32(layer_state); + + switch (keycode) { + case FPH_1 ... FPH_9: + if(layer == _FPHNOISY){ + if (record->event.pressed) { + if(fph_keycode != keycode) { // key change + fph_tap_qty = 0; + fph_keycode = keycode; + } else { // same key tapped again so erase and increment. + register_code(KC_BSPC); + unregister_code(KC_BSPC); + fph_tap_qty++; + } + uint16_t render_keycode = get_render_keycode(keycode, fph_tap_qty); + // find mods? Apply mods.. + register_code(render_keycode); + unregister_code(render_keycode); + } else { + // do we need to do anything on key-release? + } + } else { // not noisy, be demure . + if (record->event.pressed) { + if(fph_keycode != keycode) { // key change, kill everything. + uint16_t render_keycode = get_render_keycode(fph_keycode, fph_tap_qty); + // find mods? Apply mods.. + register_code(render_keycode); + unregister_code(render_keycode); + fph_keycode = keycode; + fph_tap_qty = 0; + } else { // same key tapped again so increment counter silently + fph_tap_qty++; + } + } else { + // do we need to do anything on key-release? + // maybe start a timer on this one? + } + } + return false; + break; + case BACKLIT: + if (record->event.pressed) { + #ifdef BACKLIGHT_ENABLE + backlight_step(); + #endif + } + return false; + break; + case MACSLEEP: + if (record->event.pressed) { + register_code(KC_RSFT); + register_code(KC_RCTL); + register_code(KC_POWER); + unregister_code(KC_POWER); + unregister_code(KC_RCTL); + unregister_code(KC_RSFT); + } + return false; + break; + } + return true; +} diff --git a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/readme.md b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/readme.md new file mode 100644 index 000000000..ad630be19 --- /dev/null +++ b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/readme.md @@ -0,0 +1,26 @@ +# Flip Phone layout for Roadkit + +BEWARE, THIS DOES NOT WORK YET. + +Uses the numpad with classic cellular phone style letters assigned to the numbers. + +# LAYERS + +* Numpad - The layer that matches the caps mostly +* FPH - Base layer for text +* FPHNOISY - Text layer that outputs every character and then backspaces as they're replaced +* DYN - dynamic macro layer for recording and playing macros + +## FPH + +Poke the "2" key twice and it makes "B". + +## FPHNOISY + +Poke the "2" key twice and it makes "A"+backspace+"B" so you can see it cycle through. + +## MACROS + +May be able to record macros with the T9 layer because the "KC_*"s are only sent +at the end. Trying to do a macro with T9NOISY would probably fill up the buffer +in just a few characters. diff --git a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk new file mode 100644 index 000000000..f4671a9d1 --- /dev/null +++ b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk @@ -0,0 +1,21 @@ +# Build Options +# change to "no" to disable the options, or define them in the Makefile in +# the appropriate keymap folder that will get included automatically +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +NKRO_ENABLE = yes # 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 +MIDI_ENABLE = no # MIDI controls +AUDIO_ENABLE = no # Audio output on port C6 +UNICODE_ENABLE = no # Unicode +BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend + +ifndef QUANTUM_DIR + include ../../../../Makefile +endif \ No newline at end of file -- cgit v1.2.3-24-g4f1b From 00b6f14821f44ead75504e28d7fed26791cb2875 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Mon, 22 Oct 2018 08:57:37 -0700 Subject: Replace outdated RGB/Audio information --- keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'keyboards/thevankeyboards/roadkit/keymaps/flipphone') diff --git a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk index f4671a9d1..3ff147725 100644 --- a/keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk +++ b/keyboards/thevankeyboards/roadkit/keymaps/flipphone/rules.mk @@ -13,7 +13,7 @@ MIDI_ENABLE = no # MIDI controls AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. +RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend ifndef QUANTUM_DIR -- cgit v1.2.3-24-g4f1b