diff options
Diffstat (limited to 'keyboards/40percentclub/mf68')
-rw-r--r-- | keyboards/40percentclub/mf68/config.h | 104 | ||||
-rw-r--r-- | keyboards/40percentclub/mf68/keymaps/68keys/config.h | 13 | ||||
-rw-r--r-- | keyboards/40percentclub/mf68/keymaps/68keys/keymap.c | 11 | ||||
-rw-r--r-- | keyboards/40percentclub/mf68/keymaps/andyjack/keymap.c | 144 | ||||
-rw-r--r-- | keyboards/40percentclub/mf68/keymaps/delivrance/config.h | 42 | ||||
-rw-r--r-- | keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c | 229 | ||||
-rw-r--r-- | keyboards/40percentclub/mf68/keymaps/emdarcher/keymap.c | 53 |
7 files changed, 0 insertions, 596 deletions
diff --git a/keyboards/40percentclub/mf68/config.h b/keyboards/40percentclub/mf68/config.h deleted file mode 100644 index 65ec5496a3..0000000000 --- a/keyboards/40percentclub/mf68/config.h +++ /dev/null @@ -1,104 +0,0 @@ -/* -Copyright 2012 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 - -#include "config_common.h" - -/* key matrix size */ -#define MATRIX_ROWS 8 -#define MATRIX_COLS 9 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * -*/ -#define MATRIX_ROW_PINS { B6, B2, B3, B1, F7, F6, F5, F4 } -#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4 } - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -#define BACKLIGHT_PIN B5 -#define BACKLIGHT_BREATHING -#define BACKLIGHT_LEVELS 3 - -// #define RGB_DI_PIN E2 -// #ifdef RGB_DI_PIN -// #define RGBLED_NUM 16 -// #define RGBLIGHT_HUE_STEP 8 -// #define RGBLIGHT_SAT_STEP 8 -// #define RGBLIGHT_VAL_STEP 8 -// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ -// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -// #endif - -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - -/* number of backlight levels */ - -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT diff --git a/keyboards/40percentclub/mf68/keymaps/68keys/config.h b/keyboards/40percentclub/mf68/keymaps/68keys/config.h deleted file mode 100644 index 66e7bbed99..0000000000 --- a/keyboards/40percentclub/mf68/keymaps/68keys/config.h +++ /dev/null @@ -1,13 +0,0 @@ -#pragma once - -/* USB Device descriptor parameter */ -#undef VENDOR_ID -#undef PRODUCT_ID -#undef DEVICE_VER -#undef MANUFACTURER -#undef PRODUCT -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x0A0C -#define DEVICE_VER 0x0068 -#define MANUFACTURER "68Keys.io" -#define PRODUCT "The 68Keys.io Keyboard" diff --git a/keyboards/40percentclub/mf68/keymaps/68keys/keymap.c b/keyboards/40percentclub/mf68/keymaps/68keys/keymap.c deleted file mode 100644 index 0227f26937..0000000000 --- a/keyboards/40percentclub/mf68/keymaps/68keys/keymap.c +++ /dev/null @@ -1,11 +0,0 @@ -#include QMK_KEYBOARD_H - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_68_ansi( - KC_GRV, 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_ESC, KC_PGUP, - 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_DEL, KC_PGDN, - 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_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_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ) -}; diff --git a/keyboards/40percentclub/mf68/keymaps/andyjack/keymap.c b/keyboards/40percentclub/mf68/keymaps/andyjack/keymap.c deleted file mode 100644 index 793fb336b0..0000000000 --- a/keyboards/40percentclub/mf68/keymaps/andyjack/keymap.c +++ /dev/null @@ -1,144 +0,0 @@ -/* -Copyright 2020 Andy Jack - -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 - -enum layers { - _QWERTY, - _L1, - _L2 -}; - -#define CTL_ESC LCTL_T(KC_ESC) - -/* these key combos are mapped to shell commands in my .keylaunchrc */ -#define MUT_IN LALT(KC_F10) -#define MUT_OUT LALT(KC_F11) -#define MUT_MIC LALT(KC_F12) -#define SCN_LCK LCTL(KC_SCRL) - -extern keymap_config_t keymap_config; - -enum custom_keycodes { - AJ_FN = SAFE_RANGE, - AJ_RCTL, - AJ_MSWP, - AJ_MLCK, -}; - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_68_ansi( - KC_GRV, 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_INS, KC_PGUP, - 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_DEL, KC_PGDN, - CTL_ESC, 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, AJ_FN, AJ_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - [_L1] = LAYOUT_68_ansi( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, KC_VOLU, KC_HOME, - _______, _______, KC_HOME, KC_UP, KC_END, _______, _______, MUT_IN , MUT_OUT, MUT_MIC, _______, _______, BL_STEP, _______, KC_VOLD, KC_END, - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, SCN_LCK, _______, _______, _______, - _______, _______, _______, _______, KC_BTN3, _______, _______, KC_MUTE, _______, _______, _______, _______, KC_MUTE, - _______, AJ_MLCK, AJ_MSWP, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT - ), - [_L2] = LAYOUT_68_ansi( - 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, KC_BSPC, KC_VOLU, KC_HOME, - _______, _______, _______, KC_UP, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, KC_VOLD, KC_END, - _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, - _______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______, KC_MUTE, - _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT - ) -}; -// clang-format on - -static bool aj_fn_down = false; -static bool aj_rctl_down = false; -static uint8_t keycode_for_aj_rctl; - -/* My version of: - https://www.reddit.com/r/olkb/comments/8eticz/how_to_activate_a_layer_with_a_combination/dxygw0f/ -* AJ_FN by itself turns on layer 1 -* AJ_RCTL by itself acts as a control key -* pressing FN and RCTL together, in any order, turns on layer 2 -*/ -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case AJ_FN: - if (record->event.pressed) { - if (aj_rctl_down) { - layer_on(_L2); - } else { - layer_on(_L1); - } - aj_fn_down = true; - } else { - layer_off(_L1); - layer_off(_L2); - aj_fn_down = false; - } - return false; - break; - case AJ_RCTL: - if (record->event.pressed) { - if (aj_fn_down) { - layer_on(_L2); - } else { - register_code(keycode_for_aj_rctl); - } - aj_rctl_down = true; - } else { - layer_off(_L2); - unregister_code(keycode_for_aj_rctl); - aj_rctl_down = false; - } - return false; - break; - case AJ_MSWP: - case AJ_MLCK: - if (record->event.pressed) { - if (!eeconfig_is_enabled()) { - eeconfig_init(); - } - keymap_config.raw = eeconfig_read_keymap(); - switch (keycode) { - case AJ_MSWP: - keymap_config.swap_lalt_lgui = !keymap_config.swap_lalt_lgui; - keymap_config.swap_ralt_rgui = keymap_config.swap_lalt_lgui; - keycode_for_aj_rctl = keymap_config.swap_lalt_lgui ? KC_RALT : KC_RCTL; - break; - case AJ_MLCK: - keymap_config.no_gui = !keymap_config.no_gui; - break; - } - eeconfig_update_keymap(keymap_config.raw); - clear_keyboard(); // clear to prevent stuck keys - } - return false; - break; - } - return true; -} - -void keyboard_post_init_user(void) { - if (!eeconfig_is_enabled()) { - eeconfig_init(); - } - keymap_config.raw = eeconfig_read_keymap(); - keycode_for_aj_rctl = keymap_config.swap_lalt_lgui ? KC_RALT : KC_RCTL; - eeconfig_update_keymap(keymap_config.raw); - clear_keyboard(); // clear to prevent stuck keys -} diff --git a/keyboards/40percentclub/mf68/keymaps/delivrance/config.h b/keyboards/40percentclub/mf68/keymaps/delivrance/config.h deleted file mode 100644 index 50c64b4b51..0000000000 --- a/keyboards/40percentclub/mf68/keymaps/delivrance/config.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Dan's Magicforce 68 (MF68) QMK Keyboard - * Copyright (C) Dan <https://github.com/delivrance> - * - * This file is part of Dan's MF68 QMK Keyboard. - * - * Dan's MF68 QMK Keyboard 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 3 of the License, or - * (at your option) any later version. - * - * Dan's MF68 QMK Keyboard 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 Dan's MF68 QMK Keyboard. If not, see <https://www.gnu.org/licenses/>. - */ - -#pragma once - -#undef MANUFACTURER -#define MANUFACTURER "Dan" - -#undef PRODUCT -#define PRODUCT "Magicforce 68 QMK" - -#undef BACKLIGHT_LEVELS -#define BACKLIGHT_LEVELS 20 - -// Disable backlight breathing -#undef BACKLIGHT_BREATHING - -// Set USB polling rate to 1000 Hz -#define USB_POLLING_INTERVAL_MS 1 - -// Enable NKRO on boot -#define FORCE_NKRO - -// Backlight idle timeout in seconds -#define BACKLIGHT_IDLE_TIMEOUT 1200
\ No newline at end of file diff --git a/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c b/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c deleted file mode 100644 index ed98d947e5..0000000000 --- a/keyboards/40percentclub/mf68/keymaps/delivrance/keymap.c +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Dan's Magicforce 68 (MF68) QMK Keyboard - * Copyright (C) Dan <https://github.com/delivrance> - * - * This file is part of Dan's MF68 QMK Keyboard. - * - * Dan's MF68 QMK Keyboard 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 3 of the License, or - * (at your option) any later version. - * - * Dan's MF68 QMK Keyboard 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 Dan's MF68 QMK Keyboard. If not, see <https://www.gnu.org/licenses/>. - */ - -#include QMK_KEYBOARD_H - -#define KC_FN1 MO(_FN) -#define KC_FN2 LT(_FN, KC_CAPS) - -#define KC_BLUP BL_UP // Backlight increase -#define KC_BLDN BL_DOWN // Backlight decrease -#define KC_BLTOG BL_TOGG // Backlight toggle -#define KC_REC1 DM_REC1 // Record macro 1 -#define KC_PLY1 DM_PLY1 // Play macro 1 -#define KC_REC2 DM_REC2 // Record macro 2 -#define KC_PLY2 DM_PLY2 // Play macro 1 -#define KC_RSTP DM_RSTP // Stop macro recording - -enum { - _QWERTY, - _FN -}; - -/* ┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━━━━━┓ ┏━━━━┳━━━━┓ - ┃Esc ┃ 1! ┃ 2@ ┃ 3# ┃ 4$ ┃ 5% ┃ 6^ ┃ 7& ┃ 8* ┃ 9( ┃ 0) ┃ -_ ┃ =+ ┃ ←─ ┃ ┃Ins ┃PgUp┃ - ┣━━━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━━━━━┫ ┣━━━━╋━━━━┫ - ┃ Tab ┃ Q ┃ W ┃ E ┃ R ┃ T ┃ Y ┃ U ┃ I ┃ O ┃ P ┃ [{ ┃ ]} ┃ \| ┃ ┃Del ┃PgDn┃ - ┣━━━━━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━━━━━━┫ ┗━━━━┻━━━━┛ - ┃ Caps ┃ A ┃ S ┃ D ┃ F ┃ G ┃ H ┃ J ┃ K ┃ L ┃ ;: ┃ '" ┃ Enter ┃ Magicforce - ┣━━━━━━━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━━━━━━━━━┫ ┏━━━━┓ - ┃ Shift ┃ Z ┃ X ┃ C ┃ V ┃ B ┃ N ┃ M ┃ ,< ┃ .> ┃ /? ┃ Shift ┃ ┃ ↑ ┃ Dan - ┣━━━━━┳━━━━┻┳━━━┻━┳━━┻━━━━┻━━━━┻━━━━┻━━━━┻━━━━┻━━━┳┻━━━━╋━━━━┻┳━━━━━┳━━┳━━┻━╋━━━━╋━━━━┓ - ┃Ctrl ┃ GUI ┃ Alt ┃ ━━━━━ ┃ Alt ┃ Fn ┃Ctrl ┃ ┃ ← ┃ ↓ ┃ → ┃ - ┗━━━━━┻━━━━━┻━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━┻━━━━━┻━━━━━┛ ┗━━━━┻━━━━┻━━━━┛ */ - -// clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[_QWERTY] = LAYOUT_68_ansi( /* Default layer - ┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━━━━━┓ ┏━━━━┳━━━━┓ */ - QK_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_INS ,KC_PGUP, /* - ┣━━━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━━━━━┫ ┣━━━━╋━━━━┫ */ - 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_DEL ,KC_PGDN, /* - ┣━━━━━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━━━━━━┫ ┗━━━━┻━━━━┛ */ - KC_FN2 , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, KC_ENTER , /* - ┣━━━━━━━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━┳━━┻━━━━━━━━━┫ ┏━━━━┓ */ - 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_LCTL ,KC_LGUI ,KC_LALT , KC_SPACE ,KC_RALT , KC_FN1 ,KC_RCTL , KC_LEFT,KC_DOWN,KC_RGHT /* - ┗━━━━━┻━━━━━┻━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━┻━━━━━┻━━━━━┛ ┗━━━━┻━━━━┻━━━━┛ */), - -[_FN] = LAYOUT_68_ansi( /* FN & CAPS layer - ┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━━━━━┓ ┏━━━━┳━━━━┓ */ - 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, KC_RSTP , KC_PSCR,KC_HOME, /* - ┣Esc ┻ 1! ┻ 2@ ┻ 3# ┻ 4$ ┻ 5% ┻ 6^ ┻ 7& ┻ 8* ┻ 9( ┻ 0) ┻ -_ ┻ =+ ┻━┳━ ←─ ━┫ ┣Ins ╋PgUp┫ */ - _______ ,KC_PLY1,KC_PLY2,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_7 , KC_8 , KC_9 ,KC_BLDN,KC_BLUP,KC_BLTOG ,KC_TRNS ,KC_END , /* - ┣ Tab ━┻ Q ━┻ W ━┻ E ━┻ R ━┻ T ━┻ Y ━┻ U ━┻ I ━┻ O ━┻ P ━┻ [{ ┻ ]} ┻━ \| ━┫ ┗Del ┻PgDn┛ */ - _______ ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_4 , KC_5 , KC_6 ,KC_TRNS, KC_TRNS , /* - ┣━ Caps ━┻ A ━┻ S ━┻ D ━┻ F ━┻ G ━┻ H ━┻ J ━┻ K ━┻ L ━┻ ;: ┻ '" ┻━ Enter ━┫ ┏━━━━┓ */ - _______ ,KC_REC1,KC_REC2,KC_TRNS,KC_TRNS,KC_MSTP,KC_TRNS,KC_MUTE, KC_1 , KC_2 , KC_3 ,KC_TRNS , KC_VOLU, /* - ┣━━ Shift ━┻ Z ━┻ X ━┻ C ━┻ V ━┻ B ━┻ N ━┻ M ━┻ ,< ┻ .> ╋ /? ┻┳━━ Shift ━━┻━╋ ↑ ━╋━━━━┓ */ - _______,KC_TRNS ,KC_TRNS , KC_MPLY , KC_0 ,KC_TRNS ,KC_TRNS , KC_MPRV,KC_VOLD,KC_MNXT /* - ┗Ctrl ┻ GUI ┻ Alt ┻━━━━━━━━━━━━ Space ━━━━━━━━━━━━┻ Alt ┻ Fn ━┻Ctrl ┛ ┗ ← ━┻ ↓ ━┻ → ━┛ */) -}; -// clang-format on - -// Initialization code -// ------------------- - -void keyboard_post_init_user(void) { - backlight_level(2); -} - -// Custom backlight driver -// ----------------------- - -// http://jared.geek.nz/2013/feb/linear-led-pwm -float cie1931(float x) { - x *= 100.0 / BACKLIGHT_LEVELS; - float y; - - if (x < 8) { - y = x / 902.3; - } else { - y = (x + 16.0) / 116.0; - y = y * y * y; - } - - return round(y * 255); -} - -void backlight_init_ports(void) { - setPinOutput(BACKLIGHT_PIN); - writePinLow(BACKLIGHT_PIN); - - TCCR1A = _BV(COM1A1) | _BV(WGM11); - TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); - - ICR1 = 0xFFU; // Set PWM levels to 255 (enables high-frequency PWM) -} - -void backlight_set(uint8_t level) { - if (level > BACKLIGHT_LEVELS) { - level = BACKLIGHT_LEVELS; - } - - if (level == 0) { - TCCR1A &= ~(_BV(COM1A1)); // Disable PWM - } else { - TCCR1A |= _BV(COM1A1); // Enable PWM - } - - OCR1A = cie1931(level); -} - -// Custom macro hooks -// ------------------ - -// Redefine with lower delay -void led_blink(void) { - backlight_toggle(); - wait_ms(25); - backlight_toggle(); -} - -void dynamic_macro_record_start_user(void) { - led_blink(); -} - -void dynamic_macro_play_user(int8_t direction) { - led_blink(); -} - -void dynamic_macro_record_key_user(int8_t direction, keyrecord_t *record) { - led_blink(); -} - -void dynamic_macro_record_end_user(int8_t direction) { - led_blink(); -} - -// Custom Caps Lock backlight behaviour -// ------------------------------------ - -void led_set_user(uint8_t usb_led) { - // This exists because I don't like the backlight to turn OFF when the Caps Lock is ON. - // That is, this will turn the backlight ON (at half the brightness) when the Caps Lock is ON as well. - static bool prev_is_caps_on; - bool is_caps_on = IS_LED_ON(usb_led, USB_LED_CAPS_LOCK); - - if (prev_is_caps_on != is_caps_on) { - prev_is_caps_on = is_caps_on; - - if (is_caps_on) { - backlight_set(BACKLIGHT_LEVELS / 2); - } else { - if (is_backlight_enabled()) { - backlight_set(get_backlight_level()); - } else { - backlight_set(0); - } - } - } - - // Turn on the Pro Micro's on-board LEDs for Caps Lock - if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { - // Set to low - setPinOutput(B0); - writePinLow(B0); - setPinOutput(D5); - writePinLow(D5); - } else { - // Set to Hi-Z - setPinInput(B0); - setPinInput(D5); - } -} - -// Backlight idle timeout feature -// ------------------------------ - -static uint32_t timer; -static bool is_idle; - -void matrix_scan_user() { - // Check the timer only if the keyboard is not idle - if (!is_idle) { - if (timer_elapsed32(timer) >= (uint32_t) BACKLIGHT_IDLE_TIMEOUT * 1000) { - is_idle = true; - - // Both backlight_level and backlight_level_noeeprom modify the global backlight config (not useful) - // Instead, use backlight_set in order to restore the current backlight level later on - backlight_set(0); - } - } -} - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - // Reset timer on each keypress - timer = timer_read32(); - - // Enable backlight back only when keyboard is idling (which implies the backlight was turned off previously) - if (is_idle) { - is_idle = false; - - // Set back the original backlight level only if it is actually enabled globally - if (is_backlight_enabled()) { - // The current backlight level can be obtained with get_backlight_level - backlight_set(get_backlight_level()); - } - } - - return true; -} diff --git a/keyboards/40percentclub/mf68/keymaps/emdarcher/keymap.c b/keyboards/40percentclub/mf68/keymaps/emdarcher/keymap.c deleted file mode 100644 index ea659979ea..0000000000 --- a/keyboards/40percentclub/mf68/keymaps/emdarcher/keymap.c +++ /dev/null @@ -1,53 +0,0 @@ -#include QMK_KEYBOARD_H - -#define _QWERTY 0 -#define _FN1 1 -#define _FN2 2 -#define X0 LT(_FN2, KC_CAPS) -#define X1 MO(_FN1) - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Default layer */ - [_QWERTY] = LAYOUT_68_ansi( - QK_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_INS ,KC_PGUP, - 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_DEL ,KC_PGDN, - X0 , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, KC_ENTER, - 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_LCTL ,KC_LALT ,KC_LGUI , KC_SPACE , X1 ,KC_RALT ,KC_RCTL , KC_LEFT,KC_DOWN,KC_RGHT - ), - /* FN Layer */ - [_FN1] = LAYOUT_68_ansi( - 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 , KC_BSPC, KC_VOLU,KC_HOME, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_PSCR,KC_SCRL,KC_PAUS,_______, KC_VOLD,KC_END, - X0 ,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MRWD,KC_MFFD, _______, - _______ ,_______,_______,KC_MSTP,KC_MPRV,KC_MNXT,KC_MPLY,KC_VOLD,KC_VOLU,KC_MUTE,_______, _______, _______, - _______ ,_______ ,_______ , _______, _______,_______,_______, _______,_______,_______ - ), - - /* CAPS LOCK layer */ - [_FN2] = LAYOUT_68_ansi( - 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 , KC_BSPC, KC_VOLU,KC_HOME, - _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_VOLD,KC_END, - _______,_______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP ,KC_RGHT,_______,_______, _______, - _______ ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, - _______ ,_______ ,_______ , _______, _______,_______,_______, _______,_______,_______ - ) -}; - - - -void led_set_user(uint8_t usb_led){ - //turn on the Pro Micro's on board LEDs for CAPS LOCK - if(IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)){ - //set led pins to low - setPinOutput(B0); - writePinLow(B0); - setPinOutput(D5); - writePinLow(D5); - } else { - //set to Hi-Z - setPinInput(B0); - setPinInput(D5); - } -} |