@ -0,0 +1,75 @@ |
|||||||
|
|
||||||
|
|
||||||
|
# MCU name
|
||||||
|
#MCU = at90usb1287
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# 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 yes to no to disable
|
||||||
|
#
|
||||||
|
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
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE ?= no # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality on B7 by default
|
||||||
|
MIDI_ENABLE ?= no # MIDI controls
|
||||||
|
UNICODE_ENABLE ?= no # Unicode
|
||||||
|
BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
|
AUDIO_ENABLE ?= no # Audio output on port C6
|
||||||
|
|
||||||
|
ifndef QUANTUM_DIR |
||||||
|
include ../../Makefile
|
||||||
|
endif |
||||||
|
|
||||||
|
|
@ -0,0 +1,164 @@ |
|||||||
|
/*
|
||||||
|
Copyright 2012 Jun Wako <wakojun@gmail.com> |
||||||
|
Copyright 2016 Julien Pecqueur <julien@peclu.net> |
||||||
|
Copyright 2016 Felix Uhl <ifreilicht@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/>.
|
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef CONFIG_H |
||||||
|
#define CONFIG_H |
||||||
|
|
||||||
|
#include "config_common.h" |
||||||
|
|
||||||
|
/* USB Device descriptor parameter */ |
||||||
|
#define VENDOR_ID 0xFEED |
||||||
|
#define PRODUCT_ID 0x6060 |
||||||
|
#define DEVICE_VER 0x0001 |
||||||
|
#define MANUFACTURER Massdrop |
||||||
|
#define PRODUCT S60-X |
||||||
|
#define DESCRIPTION q.m.k. keyboard firmware for S60-X |
||||||
|
|
||||||
|
/* key matrix size */ |
||||||
|
#define MATRIX_ROWS 5 |
||||||
|
#define MATRIX_COLS 15 |
||||||
|
|
||||||
|
/*
|
||||||
|
* 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 { B7, B3, B2, B1, B0 } |
||||||
|
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, E6, F1 } |
||||||
|
#define UNUSED_PINS { F0 } |
||||||
|
|
||||||
|
/* COL2ROW or ROW2COL */ |
||||||
|
#define DIODE_DIRECTION COL2ROW |
||||||
|
|
||||||
|
// #define BACKLIGHT_PIN B7
|
||||||
|
// #define BACKLIGHT_BREATHING
|
||||||
|
// #define BACKLIGHT_LEVELS 3
|
||||||
|
|
||||||
|
|
||||||
|
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ |
||||||
|
#define DEBOUNCING_DELAY 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
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Magic Key Options |
||||||
|
* |
||||||
|
* Magic keys are hotkey commands that allow control over firmware functions of |
||||||
|
* the keyboard. They are best used in combination with the HID Listen program, |
||||||
|
* found here: https://www.pjrc.com/teensy/hid_listen.html
|
||||||
|
* |
||||||
|
* The options below allow the magic key functionality to be changed. This is |
||||||
|
* useful if your keyboard/keypad is missing keys and you want magic key support. |
||||||
|
* |
||||||
|
*/ |
||||||
|
|
||||||
|
/* key combination for magic key command */ |
||||||
|
#define IS_COMMAND() ( \ |
||||||
|
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
||||||
|
) |
||||||
|
|
||||||
|
/* control how magic key switches layers */ |
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
|
||||||
|
|
||||||
|
/* override magic key keymap */ |
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
|
||||||
|
//#define MAGIC_KEY_HELP1 H
|
||||||
|
//#define MAGIC_KEY_HELP2 SLASH
|
||||||
|
//#define MAGIC_KEY_DEBUG D
|
||||||
|
//#define MAGIC_KEY_DEBUG_MATRIX X
|
||||||
|
//#define MAGIC_KEY_DEBUG_KBD K
|
||||||
|
//#define MAGIC_KEY_DEBUG_MOUSE M
|
||||||
|
//#define MAGIC_KEY_VERSION V
|
||||||
|
//#define MAGIC_KEY_STATUS S
|
||||||
|
//#define MAGIC_KEY_CONSOLE C
|
||||||
|
//#define MAGIC_KEY_LAYER0_ALT1 ESC
|
||||||
|
//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
|
||||||
|
//#define MAGIC_KEY_LAYER0 0
|
||||||
|
//#define MAGIC_KEY_LAYER1 1
|
||||||
|
//#define MAGIC_KEY_LAYER2 2
|
||||||
|
//#define MAGIC_KEY_LAYER3 3
|
||||||
|
//#define MAGIC_KEY_LAYER4 4
|
||||||
|
//#define MAGIC_KEY_LAYER5 5
|
||||||
|
//#define MAGIC_KEY_LAYER6 6
|
||||||
|
//#define MAGIC_KEY_LAYER7 7
|
||||||
|
//#define MAGIC_KEY_LAYER8 8
|
||||||
|
//#define MAGIC_KEY_LAYER9 9
|
||||||
|
//#define MAGIC_KEY_BOOTLOADER PAUSE
|
||||||
|
//#define MAGIC_KEY_LOCK CAPS
|
||||||
|
//#define MAGIC_KEY_EEPROM E
|
||||||
|
//#define MAGIC_KEY_NKRO N
|
||||||
|
//#define MAGIC_KEY_SLEEP_LED Z
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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 |
@ -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 = yes # Virtual DIP switch configuration(+1000)
|
||||||
|
MOUSEKEY_ENABLE = no # 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
|
||||||
|
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
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 |
@ -0,0 +1,14 @@ |
|||||||
|
#ifndef CONFIG_USER_H |
||||||
|
#define CONFIG_USER_H |
||||||
|
|
||||||
|
#include "../../config.h" |
||||||
|
|
||||||
|
// keymap needs oneshot functionality
|
||||||
|
#undef NO_ACTION_ONESHOT |
||||||
|
|
||||||
|
#undef IS_COMMAND |
||||||
|
#define IS_COMMAND() ( \ |
||||||
|
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
||||||
|
) |
||||||
|
|
||||||
|
#endif |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 213 KiB |
After Width: | Height: | Size: 213 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 206 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 18 KiB |
@ -0,0 +1,237 @@ |
|||||||
|
/*
|
||||||
|
Copyright 2016 Julien Pecqueur <julien@peclu.net> |
||||||
|
Copyright 2016 Felix Uhl <ifreilicht@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/>.
|
||||||
|
*/ |
||||||
|
|
||||||
|
#include "s60-x.h" |
||||||
|
|
||||||
|
//make keymap a little easier to read
|
||||||
|
#define _______ KC_TRNS |
||||||
|
#define XXXXXXX KC_NO |
||||||
|
|
||||||
|
#define ONESHOT_TAP_TOGGLE 2 |
||||||
|
#define ONESHOT_TIMEOUT 1 |
||||||
|
|
||||||
|
//uncomment to activate dead keys
|
||||||
|
//#define DONT_REVIVE_DEADKEYS 1
|
||||||
|
|
||||||
|
//Function keycodes for better readability
|
||||||
|
//SpaceFN
|
||||||
|
//OneShot LeftShift
|
||||||
|
//GamingMode Lock (disables SpaceFn and OneShot LShift)
|
||||||
|
//Function
|
||||||
|
//Mute microphone
|
||||||
|
#define KC_SPACEFN KC_FN0 |
||||||
|
#define KC_OSLS KC_FN3 |
||||||
|
#define KC_GMLK KC_FN1 |
||||||
|
#define KC_FUNC KC_FN2 |
||||||
|
#define MICMUTE RCTL(KC_LCTL) |
||||||
|
|
||||||
|
enum function_codes { |
||||||
|
F_SPACEFN = 0, |
||||||
|
F_OSLS = 3, |
||||||
|
F_GMLK = 1, |
||||||
|
F_FUNC = 2 |
||||||
|
}; |
||||||
|
|
||||||
|
enum layer_names { |
||||||
|
DEFAULT, |
||||||
|
GAMING, |
||||||
|
FUNCTION |
||||||
|
}; |
||||||
|
|
||||||
|
enum languages { |
||||||
|
GERMAN |
||||||
|
}; |
||||||
|
|
||||||
|
#define LANGUAGE GERMAN |
||||||
|
|
||||||
|
enum custom_keycodes { |
||||||
|
KC_CM_A = SAFE_RANGE, |
||||||
|
// KC_CM_B,
|
||||||
|
KC_CM_C, |
||||||
|
// KC_CM_D,
|
||||||
|
KC_CM_E, |
||||||
|
// KC_CM_F,
|
||||||
|
KC_CM_G, |
||||||
|
// KC_CM_H,
|
||||||
|
KC_CM_I, |
||||||
|
// KC_CM_J,
|
||||||
|
KC_CM_K, |
||||||
|
KC_CM_L, |
||||||
|
KC_CM_M, |
||||||
|
KC_CM_N, |
||||||
|
KC_CM_O, |
||||||
|
KC_CM_P, |
||||||
|
// KC_CM_Q,
|
||||||
|
KC_CM_R, |
||||||
|
KC_CM_S, |
||||||
|
// KC_CM_T,
|
||||||
|
KC_CM_U, |
||||||
|
// KC_CM_V,
|
||||||
|
KC_CM_W, |
||||||
|
// KC_CM_X,
|
||||||
|
KC_CM_Y, |
||||||
|
KC_CM_Z |
||||||
|
}; |
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
||||||
|
/* Layout 0: Default Layer
|
||||||
|
* ,-----------------------------------------------------------. |
||||||
|
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \|Del| |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* |Tab | Q| W| E| R| T| Z| U| I| O| P| [| ]|BckSp| |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return | |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* |Shift | Y| X| C| V| B| N| M| ,| .| /| Up |RSft| |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* |Fn2 |Gui |Alt | SpaceFn |Alt |Left|Down|Right| |
||||||
|
* `-----------------------------------------------------------' |
||||||
|
*/ |
||||||
|
[DEFAULT] = KEYMAP( |
||||||
|
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_BSLS, KC_DEL, \
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
|
||||||
|
KC_LCTL, 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_LSFT, KC_NUBS, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_UP, KC_RSFT, \
|
||||||
|
KC_FUNC, KC_LGUI, KC_LALT, KC_SPACEFN, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT |
||||||
|
), |
||||||
|
|
||||||
|
/* Layout 1: Gaming Layer, SpaceFn disabled
|
||||||
|
* ,-----------------------------------------------------------. |
||||||
|
* | | | | | | | | | | | | | | | | |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* | | | | | | | | | | | | | | | |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* | | | | | | | | | | | | | | |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* | | | | | | | | | | | | |Fn1 | |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* | |RSft| | Space | | | | | |
||||||
|
* `-----------------------------------------------------------' |
||||||
|
*/ |
||||||
|
[GAMING] = KEYMAP( |
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_GMLK, \
|
||||||
|
_______, KC_RSFT, _______, KC_SPC, _______, _______, _______, _______ |
||||||
|
), |
||||||
|
|
||||||
|
/* Layout 2: Function Layer
|
||||||
|
* MicMute requires special software to be installed. Check readme.md for more information |
||||||
|
* ,-----------------------------------------------------------. |
||||||
|
* |` | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|RES| |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* | | | | |Prv|Ply|Nxt| Ü | | Ö | |Prt|Slk|Pau | |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* | | Ä | ß | |Vl-|Mut|Vl+| | | | | |PEnt | |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* | | | | |MicMut|Cal| | | | |Pau |PUp |Fn1 | |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* | | | | | |Home|PDn |End | |
||||||
|
* `-----------------------------------------------------------' |
||||||
|
*/ |
||||||
|
[FUNCTION] = KEYMAP( |
||||||
|
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_INS, RESET, \
|
||||||
|
_______, _______, KC_CM_W, KC_CM_E, KC_MPRV, KC_MPLY, KC_MNXT, KC_CM_U, KC_CM_I, KC_CM_O, KC_CM_P, KC_PSCR, KC_SLCK, KC_PAUS, \
|
||||||
|
_______, KC_CM_A, KC_CM_S, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, KC_CM_K, KC_CM_L, _______, _______, _______, KC_PENT, \
|
||||||
|
_______, _______, KC_CM_Y, _______, KC_CM_C, MICMUTE, KC_CALC, KC_CM_N, KC_CM_M, _______, _______, _______, _______, KC_PGUP, KC_GMLK, \
|
||||||
|
_______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END |
||||||
|
), |
||||||
|
}; |
||||||
|
|
||||||
|
/*
|
||||||
|
* Fn action definition |
||||||
|
*/ |
||||||
|
const uint16_t PROGMEM fn_actions[] = { |
||||||
|
[F_SPACEFN] = ACTION_LAYER_TAP_KEY(2, KC_SPACE), // SpaceFn layout 1
|
||||||
|
[F_GMLK] = ACTION_LAYER_TOGGLE(1), // Disable SpaceFn and Oneshot Shift
|
||||||
|
[F_FUNC] = ACTION_LAYER_MOMENTARY(2), // SpaceFn layout 1
|
||||||
|
[F_OSLS] = ACTION_MODS_ONESHOT(MOD_LSFT) // Oneshot Leftshift
|
||||||
|
}; |
||||||
|
|
||||||
|
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) |
||||||
|
{ |
||||||
|
return MACRO_NONE; |
||||||
|
}; |
||||||
|
|
||||||
|
void matrix_init_user(void) { |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
void matrix_scan_user(void) { |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
bool process_german(uint16_t keycode, keyrecord_t *record) { |
||||||
|
uint16_t send_code = 0; |
||||||
|
if (record->event.pressed) { |
||||||
|
switch (keycode) { |
||||||
|
case KC_CM_A: |
||||||
|
send_code = KC_Q; |
||||||
|
break; |
||||||
|
case KC_CM_O: |
||||||
|
send_code = KC_P; |
||||||
|
break; |
||||||
|
case KC_CM_U: |
||||||
|
send_code = KC_Y; |
||||||
|
break; |
||||||
|
case KC_CM_S: |
||||||
|
send_code = KC_S; |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
if (send_code == 0) { |
||||||
|
return true; |
||||||
|
} |
||||||
|
else { |
||||||
|
register_code(KC_RALT); |
||||||
|
register_code(send_code); |
||||||
|
unregister_code(send_code); |
||||||
|
unregister_code(KC_RALT); |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
return true; |
||||||
|
} |
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
||||||
|
//revive dead keys
|
||||||
|
#ifndef DONT_REVIVE_DEADKEYS |
||||||
|
bool shift_active = keyboard_report->mods & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_LSFT)); |
||||||
|
bool altgr_active = keyboard_report->mods & (MOD_BIT(KC_RALT)); |
||||||
|
if ((keycode == KC_QUOT && !altgr_active) ||
|
||||||
|
keycode == KC_GRV || |
||||||
|
(keycode == KC_6 && shift_active))
|
||||||
|
{ |
||||||
|
if (record->event.pressed) { |
||||||
|
register_code(keycode); |
||||||
|
unregister_code(keycode); |
||||||
|
register_code(KC_SPACE); |
||||||
|
unregister_code(KC_SPACE); |
||||||
|
} |
||||||
|
return false; |
||||||
|
} |
||||||
|
#endif |
||||||
|
#if LANGUAGE == GERMAN |
||||||
|
return process_german(keycode, record); |
||||||
|
#else |
||||||
|
return true; |
||||||
|
#endif |
||||||
|
} |
||||||
|
|
||||||
|
void led_set_user(uint8_t usb_led) { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,94 @@ |
|||||||
|
# ANSI_QWERTZ |
||||||
|
|
||||||
|
[Click here to go to the layers directly.](readme.md#1-layers) |
||||||
|
|
||||||
|
This keymap was specifically designed to support keycaps with ANSI layout and legends, while retaining the possibility of inputting characters |
||||||
|
with diacritics that are normally not used in the english language. |
||||||
|
|
||||||
|
It currently relies on the US-International keyboard layout, which can be installed in any current operating system without the use of third party hardware. |
||||||
|
|
||||||
|
##0 Features |
||||||
|
* Input of letters with diacritics on familiar QWERTZ layout |
||||||
|
* Support for ANSI-legend keycaps |
||||||
|
* Option to "revive" all dead keys |
||||||
|
* Dedicated arrow cluster |
||||||
|
* SpaceFN for easy access to Function keys and diacritic input |
||||||
|
* Locking "Gaming Mode" that disables SpaceFN and allows to bind GUI key in Games |
||||||
|
* Reset key binding, no need to press hardware reset button to program |
||||||
|
* Microphone Mute key (requires 3rd-party software, see below) |
||||||
|
|
||||||
|
###0.0 Languages |
||||||
|
The US-International Layout is currently required for the support of non-english languages. This keymap swaps Y and Z to provide the familiar QWERTZ position for characters when using that layout. |
||||||
|
All diacritic characters are input by either holding `Space` or `Fn` and pressing the corresponding key. For languages that aren't yet supported explicitly, |
||||||
|
one can also use AltGr to input the characters as intended by the US-Intl layout or the dead keys, if they're kept from being [revived](readme.md#04-revive-dead-keys). |
||||||
|
|
||||||
|
The illustration below shows the "US International" layout available in the Language settings of Windows, Linux and Mac OS. |
||||||
|
|
||||||
|
 |
||||||
|
|
||||||
|
Not all languages are supported by this layout. Linux also offers the "US International Alternative" layout, |
||||||
|
which contains more dead keys to input pretty much every diacritic character in a language using latin letters. More information can be found [here](http://web.archive.org/web/20160818101234/http://dry.sailingissues.com/us-international-keyboard-layout.html). |
||||||
|
|
||||||
|
 |
||||||
|
|
||||||
|
####0.0.0 Explicitly Supported Languages |
||||||
|
* German |
||||||
|
|
||||||
|
####0.0.1 Implicitly Supported Languages |
||||||
|
This list only applies to Windows. Linux systems support all languages, see above. This list might be incomplete! Please add your language if you find it's supported. |
||||||
|
|
||||||
|
* French |
||||||
|
|
||||||
|
###0.1 SpaceFN |
||||||
|
SpaceFN basically means that `Space` acts as a normal spacebar when tapped, but acts as a layer-key when held down. |
||||||
|
This means that you can't hold space to output multiple spaces consecutively and that space only registers once released. |
||||||
|
The advantage is that the spacebar is easier to reach than any other `Fn`-key could be. |
||||||
|
|
||||||
|
###0.2 "Gaming Mode" |
||||||
|
To alleviate the problems SpaceFN would cause when gaming, the Gaming Mode is pretty much a layer that can be turned on by pressing Fn+RShift. |
||||||
|
This will turn the double-role Spacebar into a normal one, so the Fn-layer (and thus function and media keys) can only be accessed with the Fn-key. |
||||||
|
It also turns the GUI-key (aka Win-key aka Super-key) into Right Shift, so it can be bound in Games. This is especially useful when playing with ESDF instead of WASD. |
||||||
|
|
||||||
|
###0.3 Mute Microphone |
||||||
|
The function layer has a "Mute Microphone"-key. As this is not an existing media key and you can't normally set a shortcut to this function, |
||||||
|
you need to set this up in software before using it, see below. This key is bound to `RCtrl+LCtrl`, a keycombination that |
||||||
|
no other program in existence uses for anything, at least to my knowledge. It also can't be pressed with this keymap in any other way. |
||||||
|
|
||||||
|
####0.3.0 Linux |
||||||
|
Follow [these instructions](http://askubuntu.com/a/13364). |
||||||
|
|
||||||
|
#####0.3.1 Windows (Requires 3rd Party Software) |
||||||
|
*DISCLAIMER: I take no responsibility for any potential harm caused by third party applications!* |
||||||
|
|
||||||
|
You'll need a utility called "MicMute". It is available on [Sourceforge](https://sourceforge.net/projects/micmute/). |
||||||
|
After installing and running the tool, you only need to use the "Setup Shortcut" option to bind the key to muting the microphone |
||||||
|
and check whether your microphone is selected under "Devices". |
||||||
|
|
||||||
|
###0.4 Revive Dead Keys |
||||||
|
Some diacritics that are commonly used are dead keys on the international layouts, for example `` ` ``, `'`, or `"`. |
||||||
|
The dead keys on the regular international layout (shown in red [here](readme.md#00-languages)) are revived with this keymap by automatically inserting a space if one of those characters is typed. |
||||||
|
If you don't want this to be the case, uncomment the following line in `keymap.c` prior to compiling: |
||||||
|
``` |
||||||
|
//#define DONT_REVIVE_DEADKEYS 1 |
||||||
|
``` |
||||||
|
|
||||||
|
##1 Layers |
||||||
|
###1.0 Base Layer |
||||||
|
The base layer is shown here for ANSI keysm, HHKB-style right shift and split backspace. If you use a 2U backspace key there, `Del` will not be available. |
||||||
|
Again, the Y and Z keys are swapped, so you get the QWERTZ-positions of Y and Z when using the US-International layout. |
||||||
|
|
||||||
|
 |
||||||
|
|
||||||
|
###1.1 Gaming layer |
||||||
|
To turn this layer on, please use the combination `Fn+RShift`, not `Space+RShift`. If you do the latter, the Function layer will become stuck. You can press `Fn` once to unstick it if this happens to you. A solution is being worked on. |
||||||
|
|
||||||
|
 |
||||||
|
|
||||||
|
###1.2 Function Layer |
||||||
|
This is the function layer for German diacritics. It can be accessed via the `Fn` or by holding `Space` on the base layer. |
||||||
|
|
||||||
|
 |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,28 @@ |
|||||||
|
#include "s60-x.h" |
||||||
|
|
||||||
|
/* Main layer: Test layout, using all keys.
|
||||||
|
|
||||||
|
0 1 2 3 4 5 6 7 8 9 A B C D E |
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
0 │GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │PGUP │BKSPC│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
1 │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
2 │CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │PGDN │ENTER│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
3 │LSHFT│HOME │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ END │RSHFT│ UP │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
4 │LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│R_GUI│ APP │RCTRL│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
||||||
|
/* 0: ANSI qwerty */ |
||||||
|
LEGACY_KEYMAP(GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, PGUP, BSPC, \
|
||||||
|
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \
|
||||||
|
CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, PGDN, ENT , \
|
||||||
|
LSFT, HOME, Z, X, C, V, B, N, M, COMM, DOT, SLSH, END, RSFT, UP, \
|
||||||
|
LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, RCTL), |
||||||
|
}; |
||||||
|
const uint16_t PROGMEM fn_actions[] = {}; |
||||||
|
|
@ -0,0 +1,48 @@ |
|||||||
|
#include "s60-x.h" |
||||||
|
|
||||||
|
/* 0: Main layer
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
||||||
|
/* 0: ANSI qwerty */ |
||||||
|
LEGACY_KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \
|
||||||
|
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \
|
||||||
|
CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT , \
|
||||||
|
LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \
|
||||||
|
LCTL, LGUI, LALT, SPC, RALT, FN0, APP, RCTL), |
||||||
|
|
||||||
|
/* 1: Fn layer
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │Left │Down │Right│ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, UP, TRNS, TRNS, TRNS, TRNS, TRNS, PGUP, PGDN, PSCR, SLCK, PAUS, TRNS, \
|
||||||
|
TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), |
||||||
|
}; |
||||||
|
|
||||||
|
const uint16_t PROGMEM fn_actions[] = { |
||||||
|
[0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay
|
||||||
|
}; |
@ -0,0 +1,182 @@ |
|||||||
|
#include "s60-x.h" |
||||||
|
|
||||||
|
/*
|
||||||
|
* Hasu |
||||||
|
*/ |
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
||||||
|
/* Keymap 0: Default Layer
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ Fn2 │ ' │▒▒▒▒▒│ENTER│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ Fn1 │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ Fn3 │ Fn3 │ Fn0 │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \
|
||||||
|
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \
|
||||||
|
CAPS, A, S, D, F, G, H, J, K, L, FN2, QUOT, NO, ENT, \
|
||||||
|
LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, FN1, NO, FN9, NO, \
|
||||||
|
LCTL, LGUI, LALT, SPC, RALT, FN3, FN3, FN0), |
||||||
|
/* Keymap 1: colemak
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ TAB │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ [ │ ] │ \ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│BKSPC│ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ ' │▒▒▒▒▒│ENTER│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│R_WIN│ APP │ Fn0 │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \
|
||||||
|
TAB, Q, W, F, P, G, J, L, U, Y, SCLN, LBRC, RBRC, BSLS, \
|
||||||
|
BSPC, A, R, S, T, D, H, N, E, I, O, QUOT, NO, ENT, \
|
||||||
|
LSFT, NO, Z, X, C, V, B, K, M, COMM, DOT, SLSH, NO, RSFT, NO, \
|
||||||
|
LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, FN0), |
||||||
|
/* Keymap 2: dvorak
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │▒▒▒▒▒│BKSPC│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ TAB │ ' │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ = │ \ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│CAPSL│ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │▒▒▒▒▒│ENTER│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSHFT│▒▒▒▒▒│ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│R_WIN│ APP │ FN0 │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
|
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, LBRC, RBRC, NO, BSPC, \
|
||||||
|
TAB, QUOT, COMM, DOT, P, Y, F, G, C, R, L, SLSH, EQL, BSLS, \
|
||||||
|
CAPS, A, O, E, U, I, D, H, T, N, S, MINS, NO, ENT, \
|
||||||
|
LSFT, NO, SCLN, Q, J, K, X, B, M, W, V, Z, NO, RSFT, NO, \
|
||||||
|
LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, FN0), |
||||||
|
/* Keymap 3: workman
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ TAB │ Q │ D │ E │ W │ B │ J │ F │ U │ P │ ; │ [ │ ] │ \ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│BKSPC│ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ ' │▒▒▒▒▒│ENTER│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSHFT│▒▒▒▒▒│ Z │ X │ M │ C │ V │ K │ L │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│R_WIN│ APP │ FN0 │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \
|
||||||
|
TAB, Q, D, R, W, B, J, F, U, P, SCLN, LBRC, RBRC, BSLS, \
|
||||||
|
BSPC, A, S, H, T, G, Y, N, E, O, I, QUOT, NO, ENT, \
|
||||||
|
LSFT, NO, Z, X, M, C, V, K, L, COMM, DOT, SLSH, NO, RSFT, NO, \
|
||||||
|
LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, FN0), |
||||||
|
/* Overlay 4: HHKB mode
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ Del │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│Caps │ │ │ │ │ │ │ │ Psc │ Slk │Pause│ Up │ │ Ins │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│ VoD │ VoU │Mute │ │ │NP_* │NP_/ │Home │PgUp │Left │Right│▒▒▒▒▒│Enter│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSHFT│▒▒▒▒▒│ │ │ │ │ │NP_+ │NP_- │ End │PgDwn│Down │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_GUI│L_ALT│█████│█████│█████│Space│█████│█████│█████│R_ALT│R_GUI│ App │ │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, DEL, \
|
||||||
|
CAPS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PSCR, SLCK, PAUS, UP, TRNS, INS, \
|
||||||
|
LCTL, VOLD, VOLU, MUTE, TRNS, TRNS, PAST, PSLS, HOME, PGUP, LEFT, RGHT, TRNS, ENT, \
|
||||||
|
LSFT, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PPLS, PMNS, END, PGDN, DOWN, TRNS, RSFT, TRNS, \
|
||||||
|
LCTL, LGUI, LALT, SPC, RALT, RGUI, FN4, TRNS), |
||||||
|
/* Overlay 5: Vi mode (Slash)
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│BkSpc│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ Tab │Home │PgDwn│ Up │PgUp │ End │Home │PgDwn│PgUp │ End │ │ │ │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│ │Left │Down │Right│ │Left │Down │ Up │Right│ │ │▒▒▒▒▒│Enter│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSHFT│▒▒▒▒▒│ │ │ │ │ │Home │PgDwn│PgUp │ End │ │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_GUI│L_ALT│█████│█████│█████│Space│█████│█████│█████│R_ALT│R_GUI│ APP │RCTRL│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, BSPC, \
|
||||||
|
TAB, HOME, PGDN, UP, PGUP, END, HOME, PGDN, PGUP, END, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
LCTL, TRNS, LEFT, DOWN, RGHT, TRNS, LEFT, DOWN, UP, RGHT, TRNS, TRNS, TRNS, ENT, \
|
||||||
|
LSFT, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, HOME, PGDN, PGUP, END, TRNS, TRNS, RSFT, TRNS, \
|
||||||
|
LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, RCTL), |
||||||
|
/* Overlay 6: Mouse mode (Semicolon/App)
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│BkSpc│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ Tab │ │ │ │ │ │ MwL │ MwD │ MwU │ MwR │ │ │ │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│ │ Ac0 │ Ac1 │ Ac2 │ │ McL │ McD │ McU │ McR │ │ │▒▒▒▒▒│Enter│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSFHT│▒▒▒▒▒│ │ │ │ │ Mb3 │ Mb2 │ Mb1 │ Mb4 │ Mb5 │ │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_GUI│L_ALT│█████│█████│█████│ Mb1 │█████│█████│█████│ │ │ │RCTRL│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
* Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, BSPC, \
|
||||||
|
TAB, TRNS, TRNS, TRNS, TRNS, TRNS, WH_L, WH_D, WH_U, WH_R, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
LCTL, TRNS, ACL0, ACL1, ACL2, TRNS, MS_L, MS_D, MS_U, MS_R, TRNS, TRNS, TRNS, ENT, \
|
||||||
|
LSFT, TRNS, TRNS, TRNS, TRNS, TRNS, BTN3, BTN2, BTN1, BTN4, BTN5, TRNS, TRNS, RSFT, TRNS, \
|
||||||
|
LCTL, LGUI, LALT, BTN1, TRNS, TRNS, TRNS, RCTL), |
||||||
|
/* Overlay 7: Layout selector
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ Lq │ Lc │ Ld │ Lw │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ Lq │ Lw │ │ │ │ │ │ │ │ │ │ │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ Ld │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ │ │ Lc │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
|
||||||
|
Lq: set Qwerty layout |
||||||
|
Lc: set Colemak layout |
||||||
|
Ld: set Dvorak layout |
||||||
|
Lw: set Workman layout |
||||||
|
|
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
FN5, FN6, FN7, FN8, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, FN5, FN8, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, FN7, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, FN6, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), |
||||||
|
}; |
||||||
|
|
||||||
|
/*
|
||||||
|
* Fn action definition |
||||||
|
*/ |
||||||
|
const uint16_t PROGMEM fn_actions[] = { |
||||||
|
[0] = ACTION_LAYER_MOMENTARY(4), |
||||||
|
[1] = ACTION_LAYER_TAP_KEY(5, KC_SLASH), |
||||||
|
[2] = ACTION_LAYER_TAP_KEY(6, KC_SCLN), |
||||||
|
[3] = ACTION_LAYER_MOMENTARY(6), |
||||||
|
[4] = ACTION_LAYER_MOMENTARY(7), // to Layout selector
|
||||||
|
[5] = ACTION_DEFAULT_LAYER_SET(0), // set qwerty layout
|
||||||
|
[6] = ACTION_DEFAULT_LAYER_SET(1), // set colemak layout
|
||||||
|
[7] = ACTION_DEFAULT_LAYER_SET(2), // set dvorak layout
|
||||||
|
[8] = ACTION_DEFAULT_LAYER_SET(3), // set workman layout
|
||||||
|
[9] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_GRV), |
||||||
|
}; |
@ -0,0 +1,52 @@ |
|||||||
|
#include "s60-x.h" |
||||||
|
|
||||||
|
/*
|
||||||
|
* HHKB Layout |
||||||
|
*/ |
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
||||||
|
/* 0: Default layer
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │BkSpc│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Fn3 │ ' │▒▒▒▒▒│Enter│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│Shift│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│Shift│ Fn │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│▒▒▒▒▒│ Gui │ Alt │█████│█████│█████│Space│█████│█████│█████│▒▒▒▒▒│ Alt │ Gui │▒▒▒▒▒│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, BSLS, GRV, \
|
||||||
|
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSPC, \
|
||||||
|
LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \
|
||||||
|
LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, FN0, \
|
||||||
|
NO, LGUI, LALT, SPC, NO, RALT, RGUI, NO), |
||||||
|
/* 1: HHKB Fn layer
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ Pwr │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ Ins │ Del │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│Caps │ │ │ │ │ │ │ │ Psc │ Slk │ Pus │ Up │ │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ VoD │ VoU │ Mut │ Ejc │ │NP_* │NP_/ │Home │PgUp │Left │Right│▒▒▒▒▒│NPEnt│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ │ │ │ │ │NP_+ │NP_- │ End │PgDwn│Down │▒▒▒▒▒│ │ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│▒▒▒▒▒│ │ │█████│█████│█████│ │█████│█████│█████│▒▒▒▒▒│ │ │▒▒▒▒▒│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
PWR, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, INS, DEL, \
|
||||||
|
CAPS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PSCR, SLCK, PAUS, UP, TRNS, TRNS, \
|
||||||
|
TRNS, VOLD, VOLU, MUTE, EJCT, TRNS, PAST, PSLS, HOME, PGUP, LEFT, RGHT, NO, PENT, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PPLS, PMNS, END, PGDN, DOWN, NO, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), |
||||||
|
}; |
||||||
|
|
||||||
|
/*
|
||||||
|
* Fn action definition |
||||||
|
*/ |
||||||
|
const uint16_t PROGMEM fn_actions[] = { |
||||||
|
[0] = ACTION_LAYER_MOMENTARY(1), |
||||||
|
}; |
@ -0,0 +1,48 @@ |
|||||||
|
#include "s60-x.h" |
||||||
|
|
||||||
|
/* 0: Main layer
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │▒▒▒▒▒│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │NUHS │ENTER│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSHFT│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│ FN0 │ APP │RCTRL│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
||||||
|
/* 0: ANSI qwerty */ |
||||||
|
LEGACY_KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \
|
||||||
|
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, NO, \
|
||||||
|
CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NUHS, ENT , \
|
||||||
|
LSFT, BSLS, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \
|
||||||
|
LCTL, LGUI, LALT, SPC, RALT, FN0, APP, RCTL), |
||||||
|
|
||||||
|
/* 1: Fn layer
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│GRAVE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ Up │ │ │ │ │ │PGUP │PGDWN│PRTSC│SCLCK│PAUSE│▒▒▒▒▒│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │Left │Down │Right│ │ │ │ │ │ │ │ │ │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, UP, TRNS, TRNS, TRNS, TRNS, TRNS, PGUP, PGDN, PSCR, SLCK, PAUS, TRNS, \
|
||||||
|
TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), |
||||||
|
}; |
||||||
|
|
||||||
|
const uint16_t PROGMEM fn_actions[] = { |
||||||
|
[0] = ACTION_LAYER_MOMENTARY(1), // to Fn overlay
|
||||||
|
}; |
@ -0,0 +1,92 @@ |
|||||||
|
/*
|
||||||
|
Copyright 2016 Julien Pecqueur <julien@peclu.net> |
||||||
|
Copyright 2016 Felix Uhl <ifreilicht@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/>.
|
||||||
|
*/ |
||||||
|
|
||||||
|
#include "s60-x.h" |
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
||||||
|
/* Layout 0: Default Layer
|
||||||
|
* ,-----------------------------------------------------------. |
||||||
|
* |` | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return | |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* |Fn1 |Gui |Alt | SpaceFn |Alt |Gui |App |Ctrl| |
||||||
|
* `-----------------------------------------------------------' |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, BSPC, BSPC, \
|
||||||
|
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \
|
||||||
|
LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NUHS, ENT, \
|
||||||
|
LSFT, NUBS, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \
|
||||||
|
FN1, LGUI, LALT, FN0, RALT, RGUI, APP, RCTL), |
||||||
|
|
||||||
|
/* Layout 1: Function Layer
|
||||||
|
* ,-----------------------------------------------------------. |
||||||
|
* |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete | |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* | |Prv|Ply|Nxt|Stp| | |PUp|Up |PDn| |Slk|Pau|Ins | |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* | |Vl-|Mut|Vl+| | |Hom|Lef|Dow|Rig|End| |PEnt | |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* | |Prt|Cut|Cop|Pst|Cal| | | | | |CapsLock | |
||||||
|
* |-----------------------------------------------------------| |
||||||
|
* | | | | | | | | | |
||||||
|
* `-----------------------------------------------------------' |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, DEL, \
|
||||||
|
TRNS, MPRV, MPLY, MNXT, MSTP, TRNS, TRNS, PGUP, UP, PGDN, TRNS, SLCK, PAUS, INS, \
|
||||||
|
TRNS, VOLD, MUTE, VOLU, TRNS, TRNS, HOME, LEFT, DOWN, RGHT, END, TRNS, TRNS, PENT, \
|
||||||
|
TRNS, TRNS, PSCR, FN2, FN3, FN4, CALC, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CAPS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), |
||||||
|
}; |
||||||
|
|
||||||
|
/*
|
||||||
|
* Fn action definition |
||||||
|
*/ |
||||||
|
const uint16_t PROGMEM fn_actions[] = { |
||||||
|
[0] = ACTION_LAYER_TAP_KEY(1, KC_SPACE), /* SpaceFn layout 1 */ |
||||||
|
[1] = ACTION_LAYER_MOMENTARY(1), /* Momentary layout 1 */ |
||||||
|
[2] = ACTION_MODS_KEY(MOD_LSFT, KC_DEL), /* Cut */ |
||||||
|
[3] = ACTION_MODS_KEY(MOD_LCTL, KC_INS), /* Copy */ |
||||||
|
[4] = ACTION_MODS_KEY(MOD_LSFT, KC_INS), /* Paste */ |
||||||
|
}; |
||||||
|
|
||||||
|
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) |
||||||
|
{ |
||||||
|
return MACRO_NONE; |
||||||
|
}; |
||||||
|
|
||||||
|
|
||||||
|
void matrix_init_user(void) { |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
void matrix_scan_user(void) { |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
||||||
|
return true; |
||||||
|
} |
||||||
|
|
||||||
|
void led_set_user(uint8_t usb_led) { |
||||||
|
|
||||||
|
} |
@ -0,0 +1 @@ |
|||||||
|
# The default keymap for s60-x |
@ -0,0 +1,25 @@ |
|||||||
|
#include "s60-x.h" |
||||||
|
|
||||||
|
/* Main layer:
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_GUI│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│R_ALT│R_GUI│ APP │RCTRL│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
||||||
|
/* 0: qwerty */ |
||||||
|
LEGACY_KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \
|
||||||
|
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \
|
||||||
|
CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \
|
||||||
|
LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \
|
||||||
|
LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, RCTL), |
||||||
|
}; |
||||||
|
const uint16_t PROGMEM fn_actions[] = {}; |
@ -0,0 +1,180 @@ |
|||||||
|
#include "s60-x.h" |
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
||||||
|
/* 0: qwerty
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \
|
||||||
|
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \
|
||||||
|
CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \
|
||||||
|
LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \
|
||||||
|
LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), |
||||||
|
/* 1: colemak
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ TAB │ Q │ W │ F │ P │ G │ J │ L │ U │ Y │ ; │ [ │ ] │ \ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│BKSPC│ A │ R │ S │ T │ D │ H │ N │ E │ I │ O │ ' │▒▒▒▒▒│ENTER│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ K │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \
|
||||||
|
TAB, Q, W, F, P, G, J, L, U, Y, SCLN, LBRC, RBRC, BSLS, \
|
||||||
|
BSPC, A, R, S, T, D, H, N, E, I, O, QUOT, NO, ENT, \
|
||||||
|
LSFT, NO, Z, X, C, V, B, K, M, COMM, DOT, SLSH, NO, RSFT, NO, \
|
||||||
|
LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), |
||||||
|
/* 2: dvorak
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ [ │ ] │▒▒▒▒▒│BKSPC│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ TAB │ ' │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ = │ \ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│CAPSL│ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │▒▒▒▒▒│ENTER│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSHFT│▒▒▒▒▒│ ; │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘
|
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, LBRC, RBRC, NO, BSPC, \
|
||||||
|
TAB, QUOT, COMM, DOT, P, Y, F, G, C, R, L, SLSH, EQL, BSLS, \
|
||||||
|
CAPS, A, O, E, U, I, D, H, T, N, S, MINS, NO, ENT, \
|
||||||
|
LSFT, NO, SCLN, Q, J, K, X, B, M, W, V, Z, NO, RSFT, NO, \
|
||||||
|
LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), |
||||||
|
/* 3: workman
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ TAB │ Q │ D │ E │ W │ B │ J │ F │ U │ P │ ; │ [ │ ] │ \ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│BKSPC│ A │ S │ H │ T │ G │ Y │ N │ E │ O │ I │ ' │▒▒▒▒▒│ENTER│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSHFT│▒▒▒▒▒│ Z │ X │ M │ C │ V │ K │ L │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \
|
||||||
|
TAB, Q, D, R, W, B, J, F, U, P, SCLN, LBRC, RBRC, BSLS, \
|
||||||
|
BSPC, A, S, H, T, G, Y, N, E, O, I, QUOT, NO, ENT, \
|
||||||
|
LSFT, NO, Z, X, M, C, V, K, L, COMM, DOT, SLSH, NO, RSFT, NO, \
|
||||||
|
LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), |
||||||
|
/* 4: Poker with Arrow
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ Up │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ │█████│█████│█████│ │Left │Down │Right│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, UP, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, LEFT, DOWN, RGHT), |
||||||
|
/* 5: Poker with Esc
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ ESC │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
ESC, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), |
||||||
|
/* 6: Poker Fn
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ FnQ │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ FnL │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Tsk │ End │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ FnS │█████│█████│█████│ │ │ │ │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
|
||||||
|
Fn: to Fn overlay |
||||||
|
FnL: to Layout selector overaly |
||||||
|
FnQ: toggle Esc overlay |
||||||
|
FnS: toggle Arrow overlay |
||||||
|
|
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \
|
||||||
|
TRNS, FN2, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, FN4, \
|
||||||
|
TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN3, END, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, FN1, TRNS, TRNS, TRNS, TRNS), |
||||||
|
/* 7: Layout selector
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ Lq │ Lc │ Ld │ Lw │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ Lq │ Lw │ │ │ │ │ │ │ │ │ │ │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ Ld │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ │ │ Lc │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
|
||||||
|
Lq: set Qwerty layout |
||||||
|
Lc: set Colemak layout |
||||||
|
Ld: set Dvorak layout |
||||||
|
Lw: set Workman layout |
||||||
|
|
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
FN5, FN6, FN7, FN8, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, FN5, FN8, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, FN7, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, FN6, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), |
||||||
|
}; |
||||||
|
const uint16_t PROGMEM fn_actions[] = { |
||||||
|
/* Poker Layout */ |
||||||
|
[0] = ACTION_LAYER_MOMENTARY(6), // to Fn overlay
|
||||||
|
[1] = ACTION_LAYER_TOGGLE(4), // toggle arrow overlay
|
||||||
|
[2] = ACTION_LAYER_TOGGLE(5), // toggle Esc overlay
|
||||||
|
[3] = ACTION_MODS_KEY(MOD_RCTL|MOD_RSFT, KC_ESC), // Task(RControl,RShift+Esc)
|
||||||
|
[4] = ACTION_LAYER_MOMENTARY(7), // to Layout selector
|
||||||
|
[5] = ACTION_DEFAULT_LAYER_SET(0), // set qwerty layout
|
||||||
|
[6] = ACTION_DEFAULT_LAYER_SET(1), // set colemak layout
|
||||||
|
[7] = ACTION_DEFAULT_LAYER_SET(2), // set dvorak layout
|
||||||
|
[8] = ACTION_DEFAULT_LAYER_SET(3), // set workman layout
|
||||||
|
}; |
@ -0,0 +1,110 @@ |
|||||||
|
#include "s60-x.h" |
||||||
|
|
||||||
|
// Poker fix with toggle and bit operation
|
||||||
|
// Fn + Esc = `
|
||||||
|
// Fn + {left, down, up, right} = {home, pgdown, pgup, end}
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
||||||
|
/* 0: qwerty
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \
|
||||||
|
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \
|
||||||
|
LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \
|
||||||
|
LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \
|
||||||
|
LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), |
||||||
|
/* 4: Poker Default + Fn'd
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│Caps │ Fn2 │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Fn4 │ End │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ Fn1 │█████│█████│█████│ │ │ │ │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
[4] = LEGACY_KEYMAP( |
||||||
|
TRNS, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \
|
||||||
|
CAPS, FN2, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, TRNS, \
|
||||||
|
TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN4, END, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, FN1, TRNS, TRNS, TRNS, TRNS), |
||||||
|
/* 5: Poker with Arrow
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│PgUp │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ │█████│█████│█████│ Fn3 │Home │PgDwn│ End │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PGUP, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, FN3, HOME, PGDN, END), |
||||||
|
/* 6: Poker with Esc
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ ESC │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
ESC, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), |
||||||
|
/* 7: Poker with Arrow + Fn'd
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ Up │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ │█████│█████│█████│ │Left │Down │Right│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, UP, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, LEFT, DOWN, RGHT), |
||||||
|
}; |
||||||
|
const uint16_t PROGMEM fn_actions[] = { |
||||||
|
/* Poker Layout */ |
||||||
|
[0] = ACTION_LAYER_BIT_XOR(1, 0b0101, ON_BOTH), // Poker Fn(with fix for Esc)
|
||||||
|
[1] = ACTION_LAYER_TOGGLE(5), // Poker Arrow toggle
|
||||||
|
[2] = ACTION_LAYER_TOGGLE(6), // Poker Esc toggle
|
||||||
|
[3] = ACTION_LAYER_BIT_XOR(1, 0b1101, ON_BOTH), // Poker Fn(with fix for Arrow)
|
||||||
|
[4] = ACTION_MODS_KEY(MOD_RCTL|MOD_RSFT, KC_ESC), // FN3 Task(RControl,RShift+Esc)
|
||||||
|
}; |
@ -0,0 +1,178 @@ |
|||||||
|
#include "s60-x.h" |
||||||
|
|
||||||
|
// Poker fix with set(state transition)
|
||||||
|
// Fn + Esc = `
|
||||||
|
// Fn + {left, down, up, right} = {home, pgdown, pgup, end}
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
||||||
|
/* 0: qwerty
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│GRAVE│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_WIN│L_ALT│█████│█████│█████│ SPC │█████│█████│█████│ Fn0 │R_WIN│ APP │RCTRL│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \
|
||||||
|
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \
|
||||||
|
LCTL, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \
|
||||||
|
LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \
|
||||||
|
LCTL, LGUI, LALT, SPC, FN0, RGUI, APP, RCTL), |
||||||
|
/* 1: Poker with Arrow
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ Up │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ │█████│█████│█████│ Fn1 │Left │Down │Right│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, UP, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, FN1, LEFT, DOWN, RGHT), |
||||||
|
/* 2: Poker with Esc
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ ESC │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ │█████│█████│█████│ Fn2 │ │ │ │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
ESC, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, FN2, TRNS, TRNS, TRNS), |
||||||
|
/* 3: Poker with Arrow and Esc
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ Esc │ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ │ │ │ │ │ │ │ │ │ │▒▒▒▒▒│ Up │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ │█████│█████│█████│ Fn3 │Left │Down │Right│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
ESC, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, UP, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, FN3, LEFT, DOWN, RGHT), |
||||||
|
/* 4: Poker Fn'd
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ Fn6 │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Fn8 │ End │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ Fn5 │█████│█████│█████│ Fn4 │ │ │ │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \
|
||||||
|
TRNS, FN6, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, TRNS, \
|
||||||
|
TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN8, END, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, FN5, FN4, TRNS, TRNS, TRNS), |
||||||
|
/* 5: Poker Fn'd arrow
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ Esc │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ Fn7 │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Fn8 │ End │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│PgUp │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ Fn4 │█████│█████│█████│ Fn5 │Home │PgDwn│ End │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \
|
||||||
|
TRNS, FN7, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, TRNS, \
|
||||||
|
TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN8, END, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, PGUP, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, FN4, FN5, HOME, PGDN, END), |
||||||
|
/* 6: Poker Fn'd Esc
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ Fn4 │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Fn8 │ End │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│ │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ Fn7 │█████│█████│█████│ Fn6 │ │ │ │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \
|
||||||
|
TRNS, FN4, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, TRNS, \
|
||||||
|
TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN8, END, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, FN7, FN6, TRNS, TRNS, TRNS), |
||||||
|
/* 7: Poker Fn'd Arrow + Esc
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│Grave│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ Fn5 │ Up │ │ │ │ │ │ │ Cal │ │Home │ Ins │ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │Left │Down │Right│ │ │ Psc │ Slk │Pause│ │ Fn8 │ End │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ Del │ │ Web │Mute │ VoU │ VoD │ │PgUp │PgDwn│ Del │▒▒▒▒▒│PgUp │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ Fn6 │█████│█████│█████│ Fn7 │Home │PgDwn│ End │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, \
|
||||||
|
TRNS, FN5, UP, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, CALC, TRNS, HOME, INS, TRNS, \
|
||||||
|
TRNS, LEFT, DOWN, RGHT, TRNS, TRNS, PSCR, SLCK, PAUS, TRNS, FN8, END, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, DEL, TRNS, WHOM, MUTE, VOLU, VOLD, TRNS, PGUP, PGDN, DEL, TRNS, PGUP, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, FN6, FN7, HOME, PGDN, END), |
||||||
|
}; |
||||||
|
|
||||||
|
/*
|
||||||
|
* Fn action definition |
||||||
|
*/ |
||||||
|
const uint16_t PROGMEM fn_actions[] = { |
||||||
|
/* Poker Layout */ |
||||||
|
[0] = ACTION_LAYER_SET(4, ON_PRESS), // FN0 move to Fn'd when press
|
||||||
|
[1] = ACTION_LAYER_SET(5, ON_PRESS), // FN1 move to Fn'd arrow when press
|
||||||
|
[2] = ACTION_LAYER_SET(6, ON_PRESS), // FN2 move to Fn'd Esc when press
|
||||||
|
[3] = ACTION_LAYER_SET(7, ON_PRESS), // FN3 move to Fn'd arrow + Esc when press
|
||||||
|
|
||||||
|
//[4] = ACTION_LAYER_CLEAR(ON_RELEASE), // FN4 clear overlay when release
|
||||||
|
[4] = ACTION_LAYER_SET(0, ON_RELEASE), // FN4 clear overlay when release
|
||||||
|
[5] = ACTION_LAYER_SET(1, ON_RELEASE), // FN5 move to arrow when release
|
||||||
|
[6] = ACTION_LAYER_SET(2, ON_RELEASE), // FN6 move to Esc when release
|
||||||
|
[7] = ACTION_LAYER_SET(3, ON_RELEASE), // FN7 move to arrow + Esc when release
|
||||||
|
|
||||||
|
[8] = ACTION_MODS_KEY(MOD_RCTL|MOD_RSFT, KC_ESC), // FN8 Task(RControl,RShift+Esc)
|
||||||
|
}; |
@ -0,0 +1,55 @@ |
|||||||
|
#include "s60-x.h" |
||||||
|
|
||||||
|
/*
|
||||||
|
* SpaceFN |
||||||
|
* http://geekhack.org/index.php?topic=51069.0
|
||||||
|
*/ |
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
||||||
|
/* Keymap 0: Default Layer
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │▒▒▒▒▒│BKSPC│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│CAPSL│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │▒▒▒▒▒│ENTER│█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LSHFT│▒▒▒▒▒│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │▒▒▒▒▒│RSHFT│▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│LCTRL│L_GUI│L_ALT│█████│█████│█████Spc/Fn0█████│█████│█████│R_ALT│R_GUI│ APP │RCTRL│█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS, EQL, NO, BSPC, \
|
||||||
|
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, RBRC, BSLS, \
|
||||||
|
CAPS, A, S, D, F, G, H, J, K, L, SCLN, QUOT, NO, ENT, \
|
||||||
|
LSFT, NO, Z, X, C, V, B, N, M, COMM, DOT, SLSH, NO, RSFT, NO, \
|
||||||
|
LCTL, LGUI, LALT, FN0, RALT, RGUI, APP, RCTL), |
||||||
|
|
||||||
|
/* Overlay 1: SpaceFN
|
||||||
|
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ |
||||||
|
│ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │▒▒▒▒▒│ Del │ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ Esc │ │ │ │Home │ Up │ End │Pscr │Slck │Pause│ Ins │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │ │ │ │PgUp │Left │Down │Right│ │ │▒▒▒▒▒│ │█████│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │▒▒▒▒▒│ │ │ │Space│PgDwn│ ` │ ~ │ │ │ │▒▒▒▒▒│ │▒▒▒▒▒│ |
||||||
|
├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ |
||||||
|
│ │ │ │█████│█████│█████│ │█████│█████│█████│ │ │ │ │█████│ |
||||||
|
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘ |
||||||
|
*/ |
||||||
|
LEGACY_KEYMAP( |
||||||
|
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, DEL, \
|
||||||
|
TRNS, TRNS, TRNS, ESC, TRNS, TRNS, TRNS, HOME, UP, END, PSCR, SLCK, PAUS, INS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, PGUP, LEFT, DOWN, RGHT, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, SPC, PGDN, GRV, FN1, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
|
||||||
|
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS), |
||||||
|
}; |
||||||
|
|
||||||
|
/*
|
||||||
|
* Fn action definition |
||||||
|
*/ |
||||||
|
const uint16_t PROGMEM fn_actions[] = { |
||||||
|
[0] = ACTION_LAYER_TAP_KEY(1, KC_SPACE), |
||||||
|
[1] = ACTION_MODS_KEY(MOD_LSFT, KC_GRV), // tilde
|
||||||
|
}; |
@ -0,0 +1,28 @@ |
|||||||
|
#include "s60-x.h" |
||||||
|
|
||||||
|
void matrix_init_kb(void) { |
||||||
|
// put your keyboard start-up code here
|
||||||
|
// runs once when the firmware starts up
|
||||||
|
|
||||||
|
matrix_init_user(); |
||||||
|
} |
||||||
|
|
||||||
|
void matrix_scan_kb(void) { |
||||||
|
// put your looping keyboard code here
|
||||||
|
// runs every cycle (a lot)
|
||||||
|
|
||||||
|
matrix_scan_user(); |
||||||
|
} |
||||||
|
|
||||||
|
bool process_record_kb(uint16_t keycode, keyrecord_t *record) { |
||||||
|
// put your per-action keyboard code here
|
||||||
|
// runs for every action, just before processing by the firmware
|
||||||
|
|
||||||
|
return process_record_user(keycode, record); |
||||||
|
} |
||||||
|
|
||||||
|
void led_set_kb(uint8_t usb_led) { |
||||||
|
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
|
||||||
|
|
||||||
|
led_set_user(usb_led); |
||||||
|
} |
@ -0,0 +1,69 @@ |
|||||||
|
/*
|
||||||
|
Copyright 2012,2013 Jun Wako <wakojun@gmail.com> |
||||||
|
Copyright 2015 Vinícius Nery Cordeiro <vinicius.nery.cordeiro@gmail.com> |
||||||
|
Copyright 2016 Felix Uhl <ifreilicht@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/>.
|
||||||
|
*/ |
||||||
|
|
||||||
|
#ifndef S60X_H |
||||||
|
#define S60X_H |
||||||
|
|
||||||
|
#include "quantum.h" |
||||||
|
|
||||||
|
#ifdef __INTELLISENSE__ |
||||||
|
#define PROGMEM |
||||||
|
#include "config.h" |
||||||
|
#endif |
||||||
|
|
||||||
|
/* S60-X keymap definition macro
|
||||||
|
* K31 is the extra key next to short left ISO shift |
||||||
|
* K2C is the moved key next to enter on ISO boards |
||||||
|
* K3C is the extra key next to short right JIS shift |
||||||
|
* K0D is extra key from split backspace |
||||||
|
* K3E is extra key from HHKB-style split right shift |
||||||
|
*/ |
||||||
|
|
||||||
|
#define KEYMAP( \ |
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
|
||||||
|
K40, K41, K42, K46, K4A, K4B, K4C, K4D \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
|
||||||
|
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, KC_NO } \
|
||||||
|
} |
||||||
|
|
||||||
|
/*This special definition is used for S60-X keymaps that were ported from TMK
|
||||||
|
* QMK has a lot of keycodes that don't start with KC_, so using the regular KEYMAP macro is recommended |
||||||
|
*/ |
||||||
|
#define LEGACY_KEYMAP( \ |
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
|
||||||
|
K40, K41, K42, K46, K4A, K4B, K4C, K4D \
|
||||||
|
) { \
|
||||||
|
{ KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K0C, KC_##K0D, KC_##K0E }, \
|
||||||
|
{ KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K1C, KC_##K1D, KC_NO }, \
|
||||||
|
{ KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K2C, KC_##K2D, KC_NO }, \
|
||||||
|
{ KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K3C, KC_##K3D, KC_##K3E }, \
|
||||||
|
{ KC_##K40, KC_##K41, KC_##K42, KC_NO, KC_NO, KC_NO, KC_##K46, KC_NO, KC_NO, KC_NO, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D, KC_NO } \
|
||||||
|
} |
||||||
|
|
||||||
|
#endif |