From 2f107cccf4c2599869de62d0549a4b23ec961058 Mon Sep 17 00:00:00 2001 From: Noan MOUSY <4sStylZ@protonmail.ch> Date: Thu, 12 Sep 2019 22:36:36 +0200 Subject: [PATCH 1/8] Adding AEK64 keyboard --- keyboards/handwired/aek64/aek64.c | 40 ++++++++ keyboards/handwired/aek64/aek64.h | 37 ++++++++ keyboards/handwired/aek64/config.h | 84 ++++++++++++++++ keyboards/handwired/aek64/info.json | 12 +++ .../handwired/aek64/keymaps/default/keymap.c | 95 +++++++++++++++++++ keyboards/handwired/aek64/led.c | 20 ++++ keyboards/handwired/aek64/readme.md | 17 ++++ keyboards/handwired/aek64/rules.mk | 66 +++++++++++++ 8 files changed, 371 insertions(+) create mode 100644 keyboards/handwired/aek64/aek64.c create mode 100644 keyboards/handwired/aek64/aek64.h create mode 100644 keyboards/handwired/aek64/config.h create mode 100644 keyboards/handwired/aek64/info.json create mode 100644 keyboards/handwired/aek64/keymaps/default/keymap.c create mode 100644 keyboards/handwired/aek64/led.c create mode 100644 keyboards/handwired/aek64/readme.md create mode 100644 keyboards/handwired/aek64/rules.mk diff --git a/keyboards/handwired/aek64/aek64.c b/keyboards/handwired/aek64/aek64.c new file mode 100644 index 000000000000..7277681ce423 --- /dev/null +++ b/keyboards/handwired/aek64/aek64.c @@ -0,0 +1,40 @@ +/* +Copyright 2012,2013 Jun Wako <4sStylZ@protonmail.ch> + +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 . +*/ +#include "quantum.h" + +#define LED_ON() do { DDRC |= (1<<5); PORTC |= (1<<5); } while (0) +#define LED_OFF() do { DDRC &= ~(1<<5); PORTC &= ~(1<<5); } while (0) +#define LED_TGL() do { DDRC |= (1<<5); PINC |= (1<<5); } while (0) + +/* + * Hardware function pre initialisation. + * See https://docs.qmk.fm/#/custom_quantum_functions?id=example-keyboard_pre_init_user-implementation + */ +void keyboard_pre_init_user(void) { + // Call the keyboard pre init code. + + // Set our LED pins as output + setPinOutput(C3); +} + +void matrix_init_kb(void) { + + // Flash the led 1 sec on startup. + writePinHigh(C3); + _delay_ms(1000); + writePinLow(C3); +} diff --git a/keyboards/handwired/aek64/aek64.h b/keyboards/handwired/aek64/aek64.h new file mode 100644 index 000000000000..1fe9412333f0 --- /dev/null +++ b/keyboards/handwired/aek64/aek64.h @@ -0,0 +1,37 @@ +/* +Copyright 2012,2013 Jun Wako <4sStylZ@protonmail.ch> + +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 . +*/ +#ifndef AEK64_H +#define AEK64_H + +#include "quantum.h" + +/* Alps64 physical definition macro */ +#define LAYOUT_qwerty( \ + k00, k01, k02, k03 , k04 , k05 , k06, k07 , k08 , k09 , k010 , k011, k012, k013 , \ + k10, k11, k12, k13 , k14 , k15 , k16, k17 , k18 , k19 , k110 , k111, k112, \ + k20, k21, k22, k23 , k24 , k25 , k26, k27 , k28 , k29 , k210 , k211, k212, k213 , \ + k30, k31, k32, k33 , k34 , k35 , k36, k37 , k38 , k39 , k310 , k311, k312, \ + k40, k41, k42, k46, k411, k412, k413 \ +) { \ + { k00, k01, k02, k03 , k04 , k05 , k06, k07 , k08 , k09 , k010 , k011, k012, k013 }, \ + { k10, k11, k12, k13 , k14 , k15 , k16, k17 , k18 , k19 , k110 , k111, k112, KC_NO }, \ + { k20, k21, k22, k23 , k24 , k25 , k26, k27 , k28 , k29 , k210 , k211, k212, k213 }, \ + { k30, k31, k32, k33 , k34 , k35 , k36, k37 , k38 , k39 , k310 , k311, k312, KC_NO }, \ + { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, KC_NO, k411, k412, k413 }, \ +} + +#endif diff --git a/keyboards/handwired/aek64/config.h b/keyboards/handwired/aek64/config.h new file mode 100644 index 000000000000..43fa5ceed634 --- /dev/null +++ b/keyboards/handwired/aek64/config.h @@ -0,0 +1,84 @@ +/* +Copyright 2015 Jun Wako <4sStylZ@protonmail.ch> + +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 . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6464 +#define DEVICE_VER 0x0001 +#define MANUFACTURER 4sStylZ and others makers +#define PRODUCT AEK64 +#define DESCRIPTION QMK keyboard firmware for AEK64 handwired + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 14 + +// Originally made for a Teensy 2++ +#define MATRIX_COL_PINS { F0, E6, E7, B0, B1, B2, B3, B4, B5, B6, B7, D0, D1, D2 } +#define MATRIX_ROW_PINS { E0, E1, C0, C1, C2 } +#define UNUSED_PINS + +/* define if matrix has ghost */ +//#define MATRIX_HAS_GHOST + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* 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 + +/* Enable N-key rollover */ +#define NKRO_ENABLE + +/* Enable the space-cadet options */ +#define RSPC_KEYS KC_RSFT, KC_TRNS, KC_PGUP +#define RCPC_KEYS KC_RCTL, KC_TRNS, KC_PGDOWN +#define LSPO_KEYS KC_LSFT, KC_TRNS, KC_HOME +#define LCPO_KEYS KC_LCTL, KC_TRNS, KC_END + +/* Enable double tab */ +#define TAPPING_TERM 175 + +#define COMBO_COUNT 1 + +/* + * 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 +//#define NO_ACTION_MACRO +//#define NO_ACTION_FUNCTION + +#endif diff --git a/keyboards/handwired/aek64/info.json b/keyboards/handwired/aek64/info.json new file mode 100644 index 000000000000..5623a9d155ef --- /dev/null +++ b/keyboards/handwired/aek64/info.json @@ -0,0 +1,12 @@ +{ + "keyboard_name": "aek64", + "url": "", + "maintainer": "qmk", + "width": 14.75, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [{"label":"Esc", "x":0, "y":0, "w":1.25}, {"label":"1", "x":1.25, "y":0}, {"label":"2", "x":2.25, "y":0}, {"label":"3", "x":3.25, "y":0}, {"label":"4", "x":4.25, "y":0}, {"label":"5", "x":5.25, "y":0}, {"label":"6", "x":6.25, "y":0}, {"label":"7", "x":7.25, "y":0}, {"label":"8", "x":8.25, "y":0}, {"label":"9", "x":9.25, "y":0}, {"label":"0", "x":10.25, "y":0}, {"label":"\u00b0", "x":11.25, "y":0}, {"x":12.25, "y":0}, {"label":"Backspace", "x":13.3, "y":0, "w":1.45}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"A", "x":1.5, "y":1}, {"label":"Z", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Enter", "x":13.75, "y":1, "h":2}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"Q", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":"M", "x":10.75, "y":2}, {"label":"%", "x":11.75, "y":2}, {"label":"\u00a3", "x":12.75, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":">", "x":1.25, "y":3}, {"label":"M", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"?", "x":8.25, "y":3}, {"label":".", "x":9.25, "y":3}, {"label":"/", "x":10.25, "y":3}, {"label":"+", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.5}, {"label":"Ctrl", "x":0, "y":4, "w":1.4}, {"label":"Alt", "x":1.45, "y":4, "w":1.2}, {"label":"App", "x":2.65, "y":4, "w":1.4}, {"x":4.1, "y":4, "w":6.5}, {"label":"App", "x":10.65, "y":4, "w":1.4}, {"label":"Alt", "x":12.1, "y":4, "w":1.2}, {"label":"Ctrl", "x":13.35, "y":4, "w":1.4}] + } + } +} diff --git a/keyboards/handwired/aek64/keymaps/default/keymap.c b/keyboards/handwired/aek64/keymaps/default/keymap.c new file mode 100644 index 000000000000..fa2b8552cc6b --- /dev/null +++ b/keyboards/handwired/aek64/keymaps/default/keymap.c @@ -0,0 +1,95 @@ +#include QMK_KEYBOARD_H + +// Implement Super-alt↯tab +// See https://docs.qmk.fm/#/feature_macros?id=super-alt↯tab +bool is_alt_tab_active = false; +uint16_t alt_tab_timer = 0; + +// Defining all the custom keycodes. +enum custom_keycodes { + ALT_TAB = SAFE_RANGE +}; + +enum { + CT_QW +}; + +const uint16_t PROGMEM lock_combo[] = {KC_J, KC_K, KC_L, KC_SCLN, COMBO_END}; +combo_t key_combos[COMBO_COUNT] = {COMBO(lock_combo, LGUI(KC_O))}; + +// Define the keycodes for one qwerty layer and one Fn layer. +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* 0: qwerty */ + [0] = LAYOUT_qwerty( \ + 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_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, \ + MO(1) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , \ + KC_LSPO , KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSPC, \ + KC_LCPO , KC_LALT, ALT_TAB, KC_SPC, KC_LGUI, KC_RALT, KC_RCPC \ + ), + /* 1: second layer for media keys and many advanced features */ + [1] = LAYOUT_qwerty( \ + LALT(KC_F4), 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_PSCR , KC_BRIU , KC_BRID, LCTL(KC_A), KC_HOME, KC_UP , KC_END , UC(0x203D) , UC(0x8593), UC(0x2E2E), \ + _______ , _______ , LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), KC_DEL , KC_DEL , KC_LEFT, KC_DOWN, KC_RIGHT, UC(0x8596) , UC(0x8595), UC(0x8594), _______, \ + _______ , _______ , KC_MUTE , KC_VOLD , KC_VOLU , _______, _______ , _______, _______, _______ , _______ , RESET , _______ , \ + _______ , _______ , _______ , _______, _______ , _______ , _______ \ + ) +}; + +// Set the unicode input mode for using UC. +void matrix_init_user(void) { + set_unicode_input_mode(UC_LNX); +} + +void q_w(qk_tap_dance_state_t *state, void *user_data) { + if (state->count > 1) { + register_code(KC_W); + } else { + register_code(KC_Q); + } +} + +void q_w_reset(qk_tap_dance_state_t *state, void *user_data) { + if (state->count > 1) { + unregister_code(KC_W); + } else { + unregister_code(KC_Q); + } +} + +// All tap dance functions would go here. Only showing this one. +qk_tap_dance_action_t tap_dance_actions[] = { + [CT_QW] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, q_w, q_w_reset) +}; + +// Processing all the key pressed. +// Alt+tab. +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + // Depending keycodes… + switch (keycode) { // This will do most of the grunt work with the keycodes. + case ALT_TAB: + if (record->event.pressed) { + if (!is_alt_tab_active) { + is_alt_tab_active = true; + register_code(KC_LALT); + } + alt_tab_timer = timer_read(); + register_code(KC_TAB); + } else { + unregister_code(KC_TAB); + } + break; + } + return true; +} + +void matrix_scan_user(void) { // The very important timer. + if (is_alt_tab_active) { + if (timer_elapsed(alt_tab_timer) > 750) { + unregister_code(KC_LALT); + is_alt_tab_active = false; + } + } +} diff --git a/keyboards/handwired/aek64/led.c b/keyboards/handwired/aek64/led.c new file mode 100644 index 000000000000..c221d2bb0ed0 --- /dev/null +++ b/keyboards/handwired/aek64/led.c @@ -0,0 +1,20 @@ +/* +Copyright 2012 Jun Wako + +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 . +*/ + +#include +#include "stdint.h" +#include "led.h" diff --git a/keyboards/handwired/aek64/readme.md b/keyboards/handwired/aek64/readme.md new file mode 100644 index 000000000000..f12deb479a57 --- /dev/null +++ b/keyboards/handwired/aek64/readme.md @@ -0,0 +1,17 @@ +# Alps64 + +An Alps only 60% handwired ISO AEK based on the original AEK plate. + +Keyboard Maintainer: QMK Community +Hardware Supported: AEK II ISO +Hardware Availability: buy an used one and salvage / cut the plate and rip-off the switchs. For the case, a GH60 can be good. + +Make example for this keyboard (after setting up your build environment): + + make aek64:default + +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). + +# Know issues + +* The unicode characters on the keymap don’t work. diff --git a/keyboards/handwired/aek64/rules.mk b/keyboards/handwired/aek64/rules.mk new file mode 100644 index 000000000000..c6d5c9298feb --- /dev/null +++ b/keyboards/handwired/aek64/rules.mk @@ -0,0 +1,66 @@ +# Target file name (without extension). + +# project specific files +SRC = led.c + +# MCU name for Teensy 2++ +MCU = at90usb1286 + +# Processor frequency. +# This will define a symbol, F_CPU, in all source code files equal to the +# processor frequency in Hz. You can then use this symbol in your source code to +# calculate timings. Do NOT tack on a 'UL' at the end, this will be done +# automatically to create a 32-bit value in your source code. +# +# This will be an integer division of F_USB below, as it is sourced by +# F_USB after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. +F_CPU = 16000000 + +# +# LUFA specific +# +# Target architecture (see library "Board Types" documentation). +ARCH = AVR8 + +# Input clock frequency. +# This will define a symbol, F_USB, in all source code files equal to the +# input clock frequency (before any prescaling is performed) in Hz. This value may +# differ from F_CPU if prescaling is used on the latter, and is required as the +# raw input clock is fed directly to the PLL sections of the AVR for high speed +# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' +# at the end, this will be done automatically to create a 32-bit value in your +# source code. +# +# If no clock division is performed on the input clock inside the AVR (via the +# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. +F_USB = $(F_CPU) + +# Interrupt driven control endpoint task(+60) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT + +# Boot Section Size in *bytes* +# Teensy halfKay 512 +# Teensy++ halfKay 1024 +# Atmel DFU loader 4096 +# LUFA bootloader 4096 +# USBaspLoader 2048 +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + +# Build Options +# change to no to disable the options. +# +BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = yes # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = yes # Console for debug(+400) +COMMAND_ENABLE = yes # Commands for debug and configuration +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +NKRO_ENABLE = no # USB Nkey Rollover - not yet supported in LUFA +UNICODE_ENABLE = yes # Enable support for arrow keys icon on the second layer. +COMBO_ENABLE = yes # Enable combo for special function when using multiple keys at once. +TAP_DANCE_ENABLE = yes # Enable use multiple tap + +LAYOUTS = 60_ansi From 43a42b03edc98a89fa448e827d950fab4af840c1 Mon Sep 17 00:00:00 2001 From: Noan MOUSY <4sStylZ@protonmail.ch> Date: Thu, 12 Sep 2019 23:11:07 +0200 Subject: [PATCH 2/8] Deleting useless layout definition --- keyboards/handwired/aek64/rules.mk | 2 -- 1 file changed, 2 deletions(-) diff --git a/keyboards/handwired/aek64/rules.mk b/keyboards/handwired/aek64/rules.mk index c6d5c9298feb..8665a03c7446 100644 --- a/keyboards/handwired/aek64/rules.mk +++ b/keyboards/handwired/aek64/rules.mk @@ -62,5 +62,3 @@ NKRO_ENABLE = no # USB Nkey Rollover - not yet supported in LUFA UNICODE_ENABLE = yes # Enable support for arrow keys icon on the second layer. COMBO_ENABLE = yes # Enable combo for special function when using multiple keys at once. TAP_DANCE_ENABLE = yes # Enable use multiple tap - -LAYOUTS = 60_ansi From ba13ca780a30fd27c2e4d9dbd5666a38872c332a Mon Sep 17 00:00:00 2001 From: Noan MOUSY <4sStylZ@protonmail.ch> Date: Fri, 13 Sep 2019 21:45:57 +0200 Subject: [PATCH 3/8] Resolving many code review issues --- keyboards/handwired/aek64/aek64.c | 6 +-- keyboards/handwired/aek64/aek64.h | 4 +- keyboards/handwired/aek64/config.h | 4 +- .../handwired/aek64/keymaps/default/keymap.c | 20 +++++----- keyboards/handwired/aek64/led.c | 20 ---------- keyboards/handwired/aek64/readme.md | 2 +- keyboards/handwired/aek64/rules.mk | 40 +------------------ 7 files changed, 16 insertions(+), 80 deletions(-) delete mode 100644 keyboards/handwired/aek64/led.c diff --git a/keyboards/handwired/aek64/aek64.c b/keyboards/handwired/aek64/aek64.c index 7277681ce423..0646d308d0eb 100644 --- a/keyboards/handwired/aek64/aek64.c +++ b/keyboards/handwired/aek64/aek64.c @@ -16,10 +16,6 @@ along with this program. If not, see . */ #include "quantum.h" -#define LED_ON() do { DDRC |= (1<<5); PORTC |= (1<<5); } while (0) -#define LED_OFF() do { DDRC &= ~(1<<5); PORTC &= ~(1<<5); } while (0) -#define LED_TGL() do { DDRC |= (1<<5); PINC |= (1<<5); } while (0) - /* * Hardware function pre initialisation. * See https://docs.qmk.fm/#/custom_quantum_functions?id=example-keyboard_pre_init_user-implementation @@ -35,6 +31,6 @@ void matrix_init_kb(void) { // Flash the led 1 sec on startup. writePinHigh(C3); - _delay_ms(1000); + wait_ms(1000); writePinLow(C3); } diff --git a/keyboards/handwired/aek64/aek64.h b/keyboards/handwired/aek64/aek64.h index 1fe9412333f0..737d0ae261ad 100644 --- a/keyboards/handwired/aek64/aek64.h +++ b/keyboards/handwired/aek64/aek64.h @@ -14,7 +14,7 @@ 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 . */ -#ifndef AEK64_H +#pragma once #define AEK64_H #include "quantum.h" @@ -33,5 +33,3 @@ along with this program. If not, see . { k30, k31, k32, k33 , k34 , k35 , k36, k37 , k38 , k39 , k310 , k311, k312, KC_NO }, \ { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, KC_NO, k411, k412, k413 }, \ } - -#endif diff --git a/keyboards/handwired/aek64/config.h b/keyboards/handwired/aek64/config.h index 43fa5ceed634..b0dd80bc5f3c 100644 --- a/keyboards/handwired/aek64/config.h +++ b/keyboards/handwired/aek64/config.h @@ -15,7 +15,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#ifndef CONFIG_H +#pragma once #define CONFIG_H #include "config_common.h" @@ -80,5 +80,3 @@ along with this program. If not, see . //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -#endif diff --git a/keyboards/handwired/aek64/keymaps/default/keymap.c b/keyboards/handwired/aek64/keymaps/default/keymap.c index fa2b8552cc6b..d54d5976bac7 100644 --- a/keyboards/handwired/aek64/keymaps/default/keymap.c +++ b/keyboards/handwired/aek64/keymaps/default/keymap.c @@ -21,19 +21,19 @@ combo_t key_combos[COMBO_COUNT] = {COMBO(lock_combo, LGUI(KC_O))}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* 0: qwerty */ [0] = LAYOUT_qwerty( \ - 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_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, \ - MO(1) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , \ - KC_LSPO , KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSPC, \ - KC_LCPO , KC_LALT, ALT_TAB, KC_SPC, KC_LGUI, KC_RALT, KC_RCPC \ + 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_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, + MO(1) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , + KC_LSPO , KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSPC, + KC_LCPO , KC_LALT, ALT_TAB, KC_SPC, KC_LGUI, KC_RALT, KC_RCPC ), /* 1: second layer for media keys and many advanced features */ [1] = LAYOUT_qwerty( \ - LALT(KC_F4), 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_PSCR , KC_BRIU , KC_BRID, LCTL(KC_A), KC_HOME, KC_UP , KC_END , UC(0x203D) , UC(0x8593), UC(0x2E2E), \ - _______ , _______ , LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), KC_DEL , KC_DEL , KC_LEFT, KC_DOWN, KC_RIGHT, UC(0x8596) , UC(0x8595), UC(0x8594), _______, \ - _______ , _______ , KC_MUTE , KC_VOLD , KC_VOLU , _______, _______ , _______, _______, _______ , _______ , RESET , _______ , \ - _______ , _______ , _______ , _______, _______ , _______ , _______ \ + LALT(KC_F4), 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_PSCR , KC_BRIU , KC_BRID, LCTL(KC_A), KC_HOME, KC_UP , KC_END , UC(0x203D) , UC(0x8593), UC(0x2E2E), + _______ , _______ , LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), KC_DEL , KC_DEL , KC_LEFT, KC_DOWN, KC_RIGHT, UC(0x8596) , UC(0x8595), UC(0x8594), _______, + _______ , _______ , KC_MUTE , KC_VOLD , KC_VOLU , _______, _______ , _______, _______, _______ , _______ , RESET , _______ , + _______ , _______ , _______ , _______, _______ , _______ , _______ ) }; diff --git a/keyboards/handwired/aek64/led.c b/keyboards/handwired/aek64/led.c deleted file mode 100644 index c221d2bb0ed0..000000000000 --- a/keyboards/handwired/aek64/led.c +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright 2012 Jun Wako - -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 . -*/ - -#include -#include "stdint.h" -#include "led.h" diff --git a/keyboards/handwired/aek64/readme.md b/keyboards/handwired/aek64/readme.md index f12deb479a57..1688ddcbe85f 100644 --- a/keyboards/handwired/aek64/readme.md +++ b/keyboards/handwired/aek64/readme.md @@ -1,4 +1,4 @@ -# Alps64 +# AEK64 An Alps only 60% handwired ISO AEK based on the original AEK plate. diff --git a/keyboards/handwired/aek64/rules.mk b/keyboards/handwired/aek64/rules.mk index 8665a03c7446..eb09f193b657 100644 --- a/keyboards/handwired/aek64/rules.mk +++ b/keyboards/handwired/aek64/rules.mk @@ -1,53 +1,17 @@ # Target file name (without extension). # project specific files -SRC = led.c -# MCU name for Teensy 2++ +# MCU name MCU = at90usb1286 -# Processor frequency. -# This will define a symbol, F_CPU, in all source code files equal to the -# processor frequency in Hz. You can then use this symbol in your source code to -# calculate timings. Do NOT tack on a 'UL' at the end, this will be done -# automatically to create a 32-bit value in your source code. -# -# This will be an integer division of F_USB below, as it is sourced by -# F_USB after it has run through any CPU prescalers. Note that this value -# does not *change* the processor frequency - it should merely be updated to -# reflect the processor speed set externally so that the code can use accurate -# software delays. -F_CPU = 16000000 - -# -# LUFA specific -# -# Target architecture (see library "Board Types" documentation). -ARCH = AVR8 - -# Input clock frequency. -# This will define a symbol, F_USB, in all source code files equal to the -# input clock frequency (before any prescaling is performed) in Hz. This value may -# differ from F_CPU if prescaling is used on the latter, and is required as the -# raw input clock is fed directly to the PLL sections of the AVR for high speed -# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' -# at the end, this will be done automatically to create a 32-bit value in your -# source code. -# -# If no clock division is performed on the input clock inside the AVR (via the -# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. -F_USB = $(F_CPU) - -# Interrupt driven control endpoint task(+60) -OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT - # Boot Section Size in *bytes* # Teensy halfKay 512 # Teensy++ halfKay 1024 # Atmel DFU loader 4096 # LUFA bootloader 4096 # USBaspLoader 2048 -OPT_DEFS += -DBOOTLOADER_SIZE=4096 +BOOTLOADER = halfKay # Build Options # change to no to disable the options. From c135dd827ff452f80784c5b9d921bd8540d446bf Mon Sep 17 00:00:00 2001 From: Noan MOUSY <4sStylZ@protonmail.ch> Date: Fri, 13 Sep 2019 21:46:31 +0200 Subject: [PATCH 4/8] Documenting my 4sStylZ keymap --- .../handwired/aek64/keymaps/default/keymap.c | 46 ++++++++++++++++--- 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/keyboards/handwired/aek64/keymaps/default/keymap.c b/keyboards/handwired/aek64/keymaps/default/keymap.c index d54d5976bac7..f6f14a42ed85 100644 --- a/keyboards/handwired/aek64/keymaps/default/keymap.c +++ b/keyboards/handwired/aek64/keymaps/default/keymap.c @@ -19,21 +19,53 @@ combo_t key_combos[COMBO_COUNT] = {COMBO(lock_combo, LGUI(KC_O))}; // Define the keycodes for one qwerty layer and one Fn layer. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* 0: qwerty */ + /* 0: qwerty + * ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬─────────────┐ + * │ ` Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bksp │ + * ├─────────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼─────┬───────┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ + * ├─────────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼─────┴┐ Enter│ + * │ Layer 2 │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │ + * ├──────┬──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┤ + * │ Shift│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ + * ├──────┼──────┼──────┼──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┼──────┬──────┬──────┤ + * │ Ctrl │ Alt │↯ATab │ Space │ Gui │ Alt │ Ctrl │ + * └──────┴──────┴──────┴──────────────────────────────────────────────────────────────┴──────┴──────┴──────┘ + * + * Hidden features :  + * - Left Shift is also Home on a single tap. + * - Left Ctrl is also End on a single tap. + * - Right Shift is also page-up on a single tap. + * - Right Ctrl is also page-down on a single tap. + * - Press JKLM for Windows + L (Session lock) + */ [0] = LAYOUT_qwerty( \ 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_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, MO(1) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , - KC_LSPO , KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSPC, - KC_LCPO , KC_LALT, ALT_TAB, KC_SPC, KC_LGUI, KC_RALT, KC_RCPC + KC_LSPO , KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSPC , + KC_LCPO , KC_LALT, ALT_TAB, KC_SPC, KC_LGUI, KC_RALT, KC_RCPC ), - /* 1: second layer for media keys and many advanced features */ + + /* 1: second layer for media keys and many advanced features ç + * ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬─────────────┐ + * │Alt F4│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │ + * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼─────┬───────┤ + * │ │ │ │PrtScn│ Brt+ │ Brt- │Ctrl A│ Home │ Up │ End │ ‽  │ ↑     │ ⸮   │ │ │ + * ├─────────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼─────┴┐ │ + * │ │ Cut │ Copy │Paste │ Del │ Del │ Left │ Down │Right │ ← │ ↓ │ → │ │ │ + * ├──────┬──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┤ + * │ │ │ Mute │ Vol- │ Vol+ │ │ │ │ │ │ │Reset │ │ + * ├──────┼──────┼──────┼──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┼──────┬──────┬──────┤ + * │ │ │ │ │ │ │ │ + * └──────┴──────┴──────┴──────────────────────────────────────────────────────────────┴──────┴──────┴──────┘ + */ [1] = LAYOUT_qwerty( \ LALT(KC_F4), 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_PSCR , KC_BRIU , KC_BRID, LCTL(KC_A), KC_HOME, KC_UP , KC_END , UC(0x203D) , UC(0x8593), UC(0x2E2E), - _______ , _______ , LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), KC_DEL , KC_DEL , KC_LEFT, KC_DOWN, KC_RIGHT, UC(0x8596) , UC(0x8595), UC(0x8594), _______, - _______ , _______ , KC_MUTE , KC_VOLD , KC_VOLU , _______, _______ , _______, _______, _______ , _______ , RESET , _______ , - _______ , _______ , _______ , _______, _______ , _______ , _______ + _______ , _______ , LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), KC_DEL , KC_DEL , KC_LEFT, KC_DOWN, KC_RIGHT, UC(0x8592) , UC(0x8595), UC(0x8594), _______, + _______ , _______ , KC_MUTE , KC_VOLD , KC_VOLU , _______, _______ , _______, _______, _______ , _______ , RESET , _______ , + _______ , _______ , _______ , _______, _______ , _______ , _______ ) }; From 5d6ff863f60a7abd09dde2a63c45417b9df6bfab Mon Sep 17 00:00:00 2001 From: Noan MOUSY <4sStylZ@protonmail.ch> Date: Fri, 13 Sep 2019 23:54:55 +0200 Subject: [PATCH 5/8] Adding default keymap --- .../handwired/aek64/keymaps/4sstylz/keymap.c | 102 ++++++++++++++++++ .../handwired/aek64/keymaps/default/keymap.c | 98 +++-------------- keyboards/handwired/aek64/rules.mk | 2 +- 3 files changed, 115 insertions(+), 87 deletions(-) create mode 100644 keyboards/handwired/aek64/keymaps/4sstylz/keymap.c diff --git a/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c b/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c new file mode 100644 index 000000000000..f1fe778543da --- /dev/null +++ b/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c @@ -0,0 +1,102 @@ +#include QMK_KEYBOARD_H + +// Implement Super-alt↯tab +// See https://docs.qmk.fm/#/feature_macros?id=super-alt↯tab +bool is_alt_tab_active = false; +uint16_t alt_tab_timer = 0; + +// Defining all the custom keycodes. +enum custom_keycodes { + ALT_TAB = SAFE_RANGE +}; + +const uint16_t PROGMEM lock_combo[] = {KC_J, KC_K, KC_L, KC_SCLN, COMBO_END}; +combo_t key_combos[COMBO_COUNT] = {COMBO(lock_combo, LGUI(KC_O))}; + +// Define the keycodes for one qwerty layer and one Fn layer. +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* 0: qwerty + * ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬─────────────┐ + * │ ` Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Bksp │ + * ├─────────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼─────┬───────┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ + * ├─────────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼─────┴┐ Enter│ + * │ Layer 2 │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │ + * ├──────┬──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┤ + * │ Shift│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ + * ├──────┼──────┼──────┼──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┼──────┬──────┬──────┤ + * │ Ctrl │ Alt │↯ATab │ Space │ Gui │ Alt │ Ctrl │ + * └──────┴──────┴──────┴──────────────────────────────────────────────────────────────┴──────┴──────┴──────┘ + * + * Hidden features :  + * - Left Shift is also Home on a single tap. + * - Left Ctrl is also End on a single tap. + * - Right Shift is also page-up on a single tap. + * - Right Ctrl is also page-down on a single tap. + * - Press JKLM for Windows + L (Session lock) + */ + [0] = LAYOUT_qwerty( \ + 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_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, + MO(1) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , + KC_LSPO , KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSPC , + KC_LCPO , KC_LALT, ALT_TAB, KC_SPC, KC_LGUI, KC_RALT, KC_RCPC + ), + + /* 1: second layer for media keys and many advanced features ç + * ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬─────────────┐ + * │Alt F4│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │ + * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼─────┬───────┤ + * │ │ │ │PrtScn│ Brt+ │ Brt- │Ctrl A│ Home │ Up │ End │ ‽  │ ↑     │ ⸮   │ │ │ + * ├─────────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼─────┴┐ │ + * │ │ Cut │ Copy │Paste │ Del │ Del │ Left │ Down │Right │ ← │ ↓ │ → │ │ │ + * ├──────┬──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┤ + * │ │ │ Mute │ Vol- │ Vol+ │ │ │ │ │ │ │Reset │ │ + * ├──────┼──────┼──────┼──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┼──────┬──────┬──────┤ + * │ │ │ │ │ │ │ │ + * └──────┴──────┴──────┴──────────────────────────────────────────────────────────────┴──────┴──────┴──────┘ + */ + [1] = LAYOUT_qwerty( \ + LALT(KC_F4), 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_PSCR , KC_BRIU , KC_BRID, LCTL(KC_A), KC_HOME, KC_UP , KC_END , UC(0x203D) , UC(0x8593), UC(0x2E2E), + _______ , _______ , LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), KC_DEL , KC_DEL , KC_LEFT, KC_DOWN, KC_RIGHT, UC(0x8592) , UC(0x8595), UC(0x8594), _______, + _______ , _______ , KC_MUTE , KC_VOLD , KC_VOLU , _______, _______ , _______, _______, _______ , _______ , RESET , _______ , + _______ , _______ , _______ , _______, _______ , _______ , _______ + ) +}; + +// Set the unicode input mode for using UC. +void matrix_init_user(void) { + set_unicode_input_mode(UC_LNX); +} + +// Processing all the key pressed. +// Alt+tab. +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + // Depending keycodes… + switch (keycode) { // This will do most of the grunt work with the keycodes. + case ALT_TAB: + if (record->event.pressed) { + if (!is_alt_tab_active) { + is_alt_tab_active = true; + register_code(KC_LALT); + } + alt_tab_timer = timer_read(); + register_code(KC_TAB); + } else { + unregister_code(KC_TAB); + } + break; + } + return true; +} + +void matrix_scan_user(void) { // The very important timer. + if (is_alt_tab_active) { + if (timer_elapsed(alt_tab_timer) > 750) { + unregister_code(KC_LALT); + is_alt_tab_active = false; + } + } +} diff --git a/keyboards/handwired/aek64/keymaps/default/keymap.c b/keyboards/handwired/aek64/keymaps/default/keymap.c index f6f14a42ed85..34babe887583 100644 --- a/keyboards/handwired/aek64/keymaps/default/keymap.c +++ b/keyboards/handwired/aek64/keymaps/default/keymap.c @@ -1,22 +1,5 @@ #include QMK_KEYBOARD_H -// Implement Super-alt↯tab -// See https://docs.qmk.fm/#/feature_macros?id=super-alt↯tab -bool is_alt_tab_active = false; -uint16_t alt_tab_timer = 0; - -// Defining all the custom keycodes. -enum custom_keycodes { - ALT_TAB = SAFE_RANGE -}; - -enum { - CT_QW -}; - -const uint16_t PROGMEM lock_combo[] = {KC_J, KC_K, KC_L, KC_SCLN, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = {COMBO(lock_combo, LGUI(KC_O))}; - // Define the keycodes for one qwerty layer and one Fn layer. const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* 0: qwerty @@ -29,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ├──────┬──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┤ * │ Shift│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ * ├──────┼──────┼──────┼──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┼──────┬──────┬──────┤ - * │ Ctrl │ Alt │↯ATab │ Space │ Gui │ Alt │ Ctrl │ + * │ Ctrl │ Alt │ Gui │ Space │ Gui │ Alt │ Ctrl │ * └──────┴──────┴──────┴──────────────────────────────────────────────────────────────┴──────┴──────┴──────┘ * * Hidden features :  @@ -39,89 +22,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * - Right Ctrl is also page-down on a single tap. * - Press JKLM for Windows + L (Session lock) */ - [0] = LAYOUT_qwerty( \ - 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_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, - MO(1) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , - KC_LSPO , KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSPC , - KC_LCPO , KC_LALT, ALT_TAB, KC_SPC, KC_LGUI, KC_RALT, KC_RCPC + [0] = LAYOUT_qwerty( + KC_ESC , 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_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, + MO(1) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , + KC_LSPO, KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSPC , + KC_LCPO, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCPC ), /* 1: second layer for media keys and many advanced features ç * ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬─────────────┐ * │Alt F4│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │ * ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼─────┬───────┤ - * │ │ │ │PrtScn│ Brt+ │ Brt- │Ctrl A│ Home │ Up │ End │ ‽  │ ↑     │ ⸮   │ │ │ + * │ │ │ │ │ │ │Ctrl A│ Home │ Up │ End │ │ │ │ │ │ * ├─────────────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼─────┴┐ │ - * │ │ Cut │ Copy │Paste │ Del │ Del │ Left │ Down │Right │ ← │ ↓ │ → │ │ │ + * │ │ Cut │ Copy │Paste │ Del │ Del │ Left │ Down │Right │ │ │ │ │ │ * ├──────┬──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┴──────┴──────┤ * │ │ │ Mute │ Vol- │ Vol+ │ │ │ │ │ │ │Reset │ │ * ├──────┼──────┼──────┼──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┼──────┬──────┬──────┤ * │ │ │ │ │ │ │ │ * └──────┴──────┴──────┴──────────────────────────────────────────────────────────────┴──────┴──────┴──────┘ */ - [1] = LAYOUT_qwerty( \ + [1] = LAYOUT_qwerty( LALT(KC_F4), 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_PSCR , KC_BRIU , KC_BRID, LCTL(KC_A), KC_HOME, KC_UP , KC_END , UC(0x203D) , UC(0x8593), UC(0x2E2E), - _______ , _______ , LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), KC_DEL , KC_DEL , KC_LEFT, KC_DOWN, KC_RIGHT, UC(0x8592) , UC(0x8595), UC(0x8594), _______, + _______ , _______ , _______ , _______ , _______ , _______, LCTL(KC_A), KC_HOME, KC_UP , KC_END , _______ , _______ , _______ , + _______ , _______ , LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), KC_DEL , KC_DEL , KC_LEFT, KC_DOWN, KC_RIGHT, _______ , _______ , _______ , _______, _______ , _______ , KC_MUTE , KC_VOLD , KC_VOLU , _______, _______ , _______, _______, _______ , _______ , RESET , _______ , _______ , _______ , _______ , _______, _______ , _______ , _______ ) }; - -// Set the unicode input mode for using UC. -void matrix_init_user(void) { - set_unicode_input_mode(UC_LNX); -} - -void q_w(qk_tap_dance_state_t *state, void *user_data) { - if (state->count > 1) { - register_code(KC_W); - } else { - register_code(KC_Q); - } -} - -void q_w_reset(qk_tap_dance_state_t *state, void *user_data) { - if (state->count > 1) { - unregister_code(KC_W); - } else { - unregister_code(KC_Q); - } -} - -// All tap dance functions would go here. Only showing this one. -qk_tap_dance_action_t tap_dance_actions[] = { - [CT_QW] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, q_w, q_w_reset) -}; - -// Processing all the key pressed. -// Alt+tab. -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - - // Depending keycodes… - switch (keycode) { // This will do most of the grunt work with the keycodes. - case ALT_TAB: - if (record->event.pressed) { - if (!is_alt_tab_active) { - is_alt_tab_active = true; - register_code(KC_LALT); - } - alt_tab_timer = timer_read(); - register_code(KC_TAB); - } else { - unregister_code(KC_TAB); - } - break; - } - return true; -} - -void matrix_scan_user(void) { // The very important timer. - if (is_alt_tab_active) { - if (timer_elapsed(alt_tab_timer) > 750) { - unregister_code(KC_LALT); - is_alt_tab_active = false; - } - } -} diff --git a/keyboards/handwired/aek64/rules.mk b/keyboards/handwired/aek64/rules.mk index eb09f193b657..977604de514c 100644 --- a/keyboards/handwired/aek64/rules.mk +++ b/keyboards/handwired/aek64/rules.mk @@ -25,4 +25,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend NKRO_ENABLE = no # USB Nkey Rollover - not yet supported in LUFA UNICODE_ENABLE = yes # Enable support for arrow keys icon on the second layer. COMBO_ENABLE = yes # Enable combo for special function when using multiple keys at once. -TAP_DANCE_ENABLE = yes # Enable use multiple tap +TAP_DANCE_ENABLE = no # Enable use multiple tap From bd8730775561acd36a07f89e2c57a57534e60336 Mon Sep 17 00:00:00 2001 From: Noan Mousy <4sstylz@protonmail.ch> Date: Sat, 14 Sep 2019 23:17:04 +0200 Subject: [PATCH 6/8] Apply suggestions from code review Code review corrections Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Co-Authored-By: fauxpark --- keyboards/handwired/aek64/aek64.h | 3 +-- keyboards/handwired/aek64/config.h | 1 - keyboards/handwired/aek64/info.json | 2 +- keyboards/handwired/aek64/keymaps/4sstylz/keymap.c | 4 ++-- keyboards/handwired/aek64/keymaps/default/keymap.c | 4 ++-- keyboards/handwired/aek64/readme.md | 8 ++++---- 6 files changed, 10 insertions(+), 12 deletions(-) diff --git a/keyboards/handwired/aek64/aek64.h b/keyboards/handwired/aek64/aek64.h index 737d0ae261ad..63784487601e 100644 --- a/keyboards/handwired/aek64/aek64.h +++ b/keyboards/handwired/aek64/aek64.h @@ -15,12 +15,11 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ #pragma once -#define AEK64_H #include "quantum.h" /* Alps64 physical definition macro */ -#define LAYOUT_qwerty( \ +#define LAYOUT( \ k00, k01, k02, k03 , k04 , k05 , k06, k07 , k08 , k09 , k010 , k011, k012, k013 , \ k10, k11, k12, k13 , k14 , k15 , k16, k17 , k18 , k19 , k110 , k111, k112, \ k20, k21, k22, k23 , k24 , k25 , k26, k27 , k28 , k29 , k210 , k211, k212, k213 , \ diff --git a/keyboards/handwired/aek64/config.h b/keyboards/handwired/aek64/config.h index b0dd80bc5f3c..9a56e7ac6138 100644 --- a/keyboards/handwired/aek64/config.h +++ b/keyboards/handwired/aek64/config.h @@ -16,7 +16,6 @@ along with this program. If not, see . */ #pragma once -#define CONFIG_H #include "config_common.h" diff --git a/keyboards/handwired/aek64/info.json b/keyboards/handwired/aek64/info.json index 5623a9d155ef..4665b463876c 100644 --- a/keyboards/handwired/aek64/info.json +++ b/keyboards/handwired/aek64/info.json @@ -6,7 +6,7 @@ "height": 5, "layouts": { "LAYOUT": { - "layout": [{"label":"Esc", "x":0, "y":0, "w":1.25}, {"label":"1", "x":1.25, "y":0}, {"label":"2", "x":2.25, "y":0}, {"label":"3", "x":3.25, "y":0}, {"label":"4", "x":4.25, "y":0}, {"label":"5", "x":5.25, "y":0}, {"label":"6", "x":6.25, "y":0}, {"label":"7", "x":7.25, "y":0}, {"label":"8", "x":8.25, "y":0}, {"label":"9", "x":9.25, "y":0}, {"label":"0", "x":10.25, "y":0}, {"label":"\u00b0", "x":11.25, "y":0}, {"x":12.25, "y":0}, {"label":"Backspace", "x":13.3, "y":0, "w":1.45}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"A", "x":1.5, "y":1}, {"label":"Z", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Enter", "x":13.75, "y":1, "h":2}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"Q", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":"M", "x":10.75, "y":2}, {"label":"%", "x":11.75, "y":2}, {"label":"\u00a3", "x":12.75, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":">", "x":1.25, "y":3}, {"label":"M", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"?", "x":8.25, "y":3}, {"label":".", "x":9.25, "y":3}, {"label":"/", "x":10.25, "y":3}, {"label":"+", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.5}, {"label":"Ctrl", "x":0, "y":4, "w":1.4}, {"label":"Alt", "x":1.45, "y":4, "w":1.2}, {"label":"App", "x":2.65, "y":4, "w":1.4}, {"x":4.1, "y":4, "w":6.5}, {"label":"App", "x":10.65, "y":4, "w":1.4}, {"label":"Alt", "x":12.1, "y":4, "w":1.2}, {"label":"Ctrl", "x":13.35, "y":4, "w":1.4}] + "layout": [{"label":"Esc", "x":0, "y":0, "w":1.25}, {"label":"1", "x":1.25, "y":0}, {"label":"2", "x":2.25, "y":0}, {"label":"3", "x":3.25, "y":0}, {"label":"4", "x":4.25, "y":0}, {"label":"5", "x":5.25, "y":0}, {"label":"6", "x":6.25, "y":0}, {"label":"7", "x":7.25, "y":0}, {"label":"8", "x":8.25, "y":0}, {"label":"9", "x":9.25, "y":0}, {"label":"0", "x":10.25, "y":0}, {"label":"\u00b0", "x":11.25, "y":0}, {"label":"+", "x":12.25, "y":0}, {"label":"Backspace", "x":13.25, "y":0, "w":1.75}, {"label":"Tab", "x":0, "y":1, "w":1.75}, {"label":"A", "x":1.75, "y":1}, {"label":"Z", "x":2.75, "y":1}, {"label":"E", "x":3.75, "y":1}, {"label":"R", "x":4.75, "y":1}, {"label":"T", "x":5.75, "y":1}, {"label":"Y", "x":6.75, "y":1}, {"label":"U", "x":7.75, "y":1}, {"label":"I", "x":8.75, "y":1}, {"label":"O", "x":9.75, "y":1}, {"label":"P", "x":10.75, "y":1}, {"label":"{", "x":11.75, "y":1}, {"label":"}", "x":12.75, "y":1}, {"label":"Caps Lock", "x":0, "y":2, "w":2}, {"label":"Q", "x":2, "y":2}, {"label":"S", "x":3, "y":2}, {"label":"D", "x":4, "y":2}, {"label":"F", "x":5, "y":2}, {"label":"G", "x":6, "y":2}, {"label":"H", "x":7, "y":2}, {"label":"J", "x":8, "y":2}, {"label":"K", "x":9, "y":2}, {"label":"L", "x":10, "y":2}, {"label":"M", "x":11, "y":2}, {"label":"%", "x":12, "y":2}, {"label":"µ", "x":13, "y":2}, {"label":"Enter", "x":14, "y":1, "h":2}, {"label":"Shift", "x":0, "y":3, "w":1.5}, {"label":">", "x":1.5, "y":3}, {"label":"W", "x":2.5, "y":3}, {"label":"X", "x":3.5, "y":3}, {"label":"C", "x":4.5, "y":3}, {"label":"V", "x":5.5, "y":3}, {"label":"B", "x":6.5, "y":3}, {"label":"N", "x":7.5, "y":3}, {"label":"?", "x":8.5, "y":3}, {"label":".", "x":9.5, "y":3}, {"label":"/", "x":10.5, "y":3}, {"label":"§", "x":11.5, "y":3}, {"label":"Shift", "x":12.5, "y":3, "w":2.5}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Opt", "x":1.5, "y":4, "w":1.25}, {"label":"Cmd", "x":2.75, "y":4, "w":1.5}, {"label":"Space", "x":4.25, "y":4, "w":6.5}, {"label":"Cmd", "x":10.75, "y":4, "w":1.5}, {"label":"Opt", "x":12.25, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}] } } } diff --git a/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c b/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c index f1fe778543da..65f8354aabee 100644 --- a/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c +++ b/keyboards/handwired/aek64/keymaps/4sstylz/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * - Right Ctrl is also page-down on a single tap. * - Press JKLM for Windows + L (Session lock) */ - [0] = LAYOUT_qwerty( \ + [0] = LAYOUT( \ 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_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, MO(1) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ * └──────┴──────┴──────┴──────────────────────────────────────────────────────────────┴──────┴──────┴──────┘ */ - [1] = LAYOUT_qwerty( \ + [1] = LAYOUT( \ LALT(KC_F4), 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_PSCR , KC_BRIU , KC_BRID, LCTL(KC_A), KC_HOME, KC_UP , KC_END , UC(0x203D) , UC(0x8593), UC(0x2E2E), _______ , _______ , LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), KC_DEL , KC_DEL , KC_LEFT, KC_DOWN, KC_RIGHT, UC(0x8592) , UC(0x8595), UC(0x8594), _______, diff --git a/keyboards/handwired/aek64/keymaps/default/keymap.c b/keyboards/handwired/aek64/keymaps/default/keymap.c index 34babe887583..5b9115902dc8 100644 --- a/keyboards/handwired/aek64/keymaps/default/keymap.c +++ b/keyboards/handwired/aek64/keymaps/default/keymap.c @@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * - Right Ctrl is also page-down on a single tap. * - Press JKLM for Windows + L (Session lock) */ - [0] = LAYOUT_qwerty( + [0] = LAYOUT( KC_ESC , 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_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, MO(1) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ * └──────┴──────┴──────┴──────────────────────────────────────────────────────────────┴──────┴──────┴──────┘ */ - [1] = LAYOUT_qwerty( + [1] = LAYOUT( LALT(KC_F4), KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______ , _______ , _______ , _______ , _______ , _______, LCTL(KC_A), KC_HOME, KC_UP , KC_END , _______ , _______ , _______ , _______ , _______ , LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), KC_DEL , KC_DEL , KC_LEFT, KC_DOWN, KC_RIGHT, _______ , _______ , _______ , _______, diff --git a/keyboards/handwired/aek64/readme.md b/keyboards/handwired/aek64/readme.md index 1688ddcbe85f..d84a2e586307 100644 --- a/keyboards/handwired/aek64/readme.md +++ b/keyboards/handwired/aek64/readme.md @@ -1,9 +1,9 @@ # AEK64 -An Alps only 60% handwired ISO AEK based on the original AEK plate. +An Alps-only 60% handwired ISO AEK based on the original AEK plate. Keyboard Maintainer: QMK Community -Hardware Supported: AEK II ISO +Hardware Supported: AEK II ISO Hardware Availability: buy an used one and salvage / cut the plate and rip-off the switchs. For the case, a GH60 can be good. Make example for this keyboard (after setting up your build environment): @@ -12,6 +12,6 @@ Make example for this keyboard (after setting up your build environment): 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). -# Know issues +# Known issues -* The unicode characters on the keymap don’t work. +* The Unicode characters on the keymap don’t work. From 4083e7c96ec31ea1ce1f9cb23d71088bc953a6e2 Mon Sep 17 00:00:00 2001 From: Noan Mousy <4sstylz@protonmail.ch> Date: Sat, 14 Sep 2019 23:22:21 +0200 Subject: [PATCH 7/8] Update keyboards/handwired/aek64/readme.md Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> --- keyboards/handwired/aek64/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/handwired/aek64/readme.md b/keyboards/handwired/aek64/readme.md index d84a2e586307..7afecca12c6a 100644 --- a/keyboards/handwired/aek64/readme.md +++ b/keyboards/handwired/aek64/readme.md @@ -2,7 +2,7 @@ An Alps-only 60% handwired ISO AEK based on the original AEK plate. -Keyboard Maintainer: QMK Community +Keyboard Maintainer: QMK Community Hardware Supported: AEK II ISO Hardware Availability: buy an used one and salvage / cut the plate and rip-off the switchs. For the case, a GH60 can be good. From e4d49c24b386d722adc0d682752e7b1184c12c90 Mon Sep 17 00:00:00 2001 From: Noan MOUSY <4sStylZ@protonmail.ch> Date: Sun, 15 Sep 2019 15:00:56 +0200 Subject: [PATCH 8/8] Correcting the NKRO implementation --- keyboards/handwired/aek64/config.h | 3 --- keyboards/handwired/aek64/rules.mk | 1 + 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/keyboards/handwired/aek64/config.h b/keyboards/handwired/aek64/config.h index 9a56e7ac6138..45ce6665bceb 100644 --- a/keyboards/handwired/aek64/config.h +++ b/keyboards/handwired/aek64/config.h @@ -48,9 +48,6 @@ along with this program. If not, see . /* Locking resynchronize hack */ //#define LOCKING_RESYNC_ENABLE -/* Enable N-key rollover */ -#define NKRO_ENABLE - /* Enable the space-cadet options */ #define RSPC_KEYS KC_RSFT, KC_TRNS, KC_PGUP #define RCPC_KEYS KC_RCTL, KC_TRNS, KC_PGDOWN diff --git a/keyboards/handwired/aek64/rules.mk b/keyboards/handwired/aek64/rules.mk index 977604de514c..5fe5a9bae96d 100644 --- a/keyboards/handwired/aek64/rules.mk +++ b/keyboards/handwired/aek64/rules.mk @@ -26,3 +26,4 @@ NKRO_ENABLE = no # USB Nkey Rollover - not yet supported in LUFA UNICODE_ENABLE = yes # Enable support for arrow keys icon on the second layer. COMBO_ENABLE = yes # Enable combo for special function when using multiple keys at once. TAP_DANCE_ENABLE = no # Enable use multiple tap +NKRO_ENABLE = yes