Merge remote-tracking branch 'upstream/develop' into fl16-sleep-fix
This commit is contained in:
@@ -5,6 +5,3 @@
|
||||
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
/* Tap dancing params */
|
||||
#define TAPPING_TERM 250
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
"pid": "0x2020",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"tapping": {
|
||||
"term": 250
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["D4", "C6", "D7", "E6", "B4"],
|
||||
"rows": ["B3", "B2"]
|
||||
|
||||
@@ -17,9 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
#define TAPPING_TERM 400
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
"pid": "0x3660",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"tapping": {
|
||||
"term": 400
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["D2", "D3", "C6", "C7", "D5", "D4", "D7", "B4", "B5", "B6", "F7", "F6", "F5", "F4", "F1"],
|
||||
"rows": ["B0", "B1", "B2", "B3", "B7"]
|
||||
|
||||
@@ -4,5 +4,3 @@
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#define TAPPING_TERM 100
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
"pid": "0x0000",
|
||||
"device_version": "0.0.3"
|
||||
},
|
||||
"tapping": {
|
||||
"term": 100
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["F5", "F6", "F7", "F0", "F1", "F4", "B6", "B5", "D7", "C7", "D6", "B7"],
|
||||
"rows": ["D2", "D3", "D0", "D1"]
|
||||
|
||||
@@ -17,12 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RGBLED_NUM 10
|
||||
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
|
||||
#define RGBLIGHT_HUE_STEP 10
|
||||
#define RGBLIGHT_SAT_STEP 17
|
||||
#define RGBLIGHT_VAL_STEP 17
|
||||
// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
#define RGB_MATRIX_LED_COUNT 10
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
|
||||
@@ -8,6 +8,10 @@
|
||||
"pid": "0x0037",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"hue_steps": 10,
|
||||
"led_count": 10
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D2"
|
||||
},
|
||||
|
||||
@@ -22,6 +22,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define RCPC_KEYS KC_RCTL, KC_TRNS, KC_PGDN
|
||||
#define LSPO_KEYS KC_LSFT, KC_TRNS, KC_HOME
|
||||
#define LCPO_KEYS KC_LCTL, KC_TRNS, KC_END
|
||||
|
||||
/* Enable double tab */
|
||||
#define TAPPING_TERM 175
|
||||
|
||||
@@ -18,6 +18,9 @@
|
||||
"levels": 5,
|
||||
"breathing": true
|
||||
},
|
||||
"tapping": {
|
||||
"term": 175
|
||||
},
|
||||
"processor": "at90usb1286",
|
||||
"bootloader": "halfkay",
|
||||
"layouts": {
|
||||
|
||||
@@ -17,8 +17,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#pragma once
|
||||
|
||||
// https://docs.qmk.fm/using-qmk/software-features/tap_hold
|
||||
#define TAPPING_TERM 200
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
#define MATRIX_HAS_GHOST
|
||||
|
||||
@@ -31,9 +31,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* Aranck-specific definitions END
|
||||
*/
|
||||
|
||||
|
||||
#define TAPPING_TERM 200
|
||||
|
||||
/*
|
||||
* Feature disable options
|
||||
* These options are also useful to firmware size reduction.
|
||||
|
||||
@@ -96,9 +96,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t * record) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void led_set_user(uint8_t usb_led)
|
||||
bool led_update_user(led_t led_state)
|
||||
{
|
||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
||||
if (led_state.caps_lock) {
|
||||
// output high
|
||||
DDRD |= (1<<6);
|
||||
PORTD |= (1<<6);
|
||||
@@ -107,7 +107,7 @@ void led_set_user(uint8_t usb_led)
|
||||
DDRD &= ~(1<<6);
|
||||
PORTD &= ~(1<<6);
|
||||
}
|
||||
if (usb_led & (1<<USB_LED_NUM_LOCK)) {
|
||||
if (led_state.num_lock) {
|
||||
// output low
|
||||
DDRC |= (1<<7);
|
||||
PORTC |= ~(1<<7);
|
||||
@@ -116,4 +116,5 @@ void led_set_user(uint8_t usb_led)
|
||||
DDRC &= ~(1<<7);
|
||||
PORTC &= ~(1<<7);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -109,9 +109,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t * record) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void led_set_user(uint8_t usb_led)
|
||||
bool led_update_user(led_t led_state)
|
||||
{
|
||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
||||
if (led_state.caps_lock) {
|
||||
// output high
|
||||
DDRD |= (1<<6);
|
||||
PORTD |= (1<<6);
|
||||
@@ -120,7 +120,7 @@ void led_set_user(uint8_t usb_led)
|
||||
DDRD &= ~(1<<6);
|
||||
PORTD &= ~(1<<6);
|
||||
}
|
||||
if (usb_led & (1<<USB_LED_NUM_LOCK)) {
|
||||
if (led_state.num_lock) {
|
||||
// output low
|
||||
DDRC |= (1<<7);
|
||||
PORTC |= ~(1<<7);
|
||||
@@ -129,4 +129,5 @@ void led_set_user(uint8_t usb_led)
|
||||
DDRC &= ~(1<<7);
|
||||
PORTC &= ~(1<<7);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -96,9 +96,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t * record) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void led_set_user(uint8_t usb_led)
|
||||
bool led_update_user(led_t led_state)
|
||||
{
|
||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
||||
if (led_state.caps_lock) {
|
||||
// output high
|
||||
DDRD |= (1<<6);
|
||||
PORTD |= (1<<6);
|
||||
@@ -107,7 +107,7 @@ void led_set_user(uint8_t usb_led)
|
||||
DDRD &= ~(1<<6);
|
||||
PORTD &= ~(1<<6);
|
||||
}
|
||||
if (usb_led & (1<<USB_LED_NUM_LOCK)) {
|
||||
if (led_state.num_lock) {
|
||||
// output low
|
||||
DDRC |= (1<<7);
|
||||
PORTC |= ~(1<<7);
|
||||
@@ -116,4 +116,5 @@ void led_set_user(uint8_t usb_led)
|
||||
DDRC &= ~(1<<7);
|
||||
PORTC &= ~(1<<7);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -33,10 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
||||
#define RGBLED_NUM 12 // Number of LEDs
|
||||
#define RGBLIGHT_HUE_STEP 10
|
||||
#define RGBLIGHT_SAT_STEP 17
|
||||
#define RGBLIGHT_VAL_STEP 17
|
||||
|
||||
/*
|
||||
* Feature disable options
|
||||
|
||||
@@ -8,6 +8,10 @@
|
||||
"pid": "0x040D",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"hue_steps": 10,
|
||||
"led_count": 12
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "C6"
|
||||
},
|
||||
|
||||
@@ -16,11 +16,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RGBLED_NUM 4
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
|
||||
@@ -8,6 +8,12 @@
|
||||
"pid": "0xDAD3",
|
||||
"device_version": "1.0.0"
|
||||
},
|
||||
"rgblight": {
|
||||
"saturation_steps": 8,
|
||||
"brightness_steps": 8,
|
||||
"led_count": 4,
|
||||
"sleep": true
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D3"
|
||||
},
|
||||
|
||||
@@ -42,10 +42,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
/* Enables This makes it easier for fast typists to use dual-function keys */
|
||||
#define PERMISSIVE_HOLD
|
||||
|
||||
#define RGBLED_NUM 28 // Number of LEDs
|
||||
|
||||
#define RGBLIGHT_SPLIT
|
||||
|
||||
/*
|
||||
* Feature disable options
|
||||
* These options are also useful to firmware size reduction.
|
||||
@@ -61,6 +57,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
//#define NO_ACTION_LAYER
|
||||
//#define NO_ACTION_TAPPING
|
||||
//#define NO_ACTION_ONESHOT
|
||||
|
||||
//#define TAPPING_TERM 150
|
||||
//#define QUICK_TAP_TERM 0
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
"pin": "D3"
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 28,
|
||||
"split": true,
|
||||
"max_brightness": 120
|
||||
},
|
||||
"split": {
|
||||
|
||||
@@ -22,5 +22,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#define RGBLED_NUM 4
|
||||
|
||||
@@ -17,6 +17,9 @@
|
||||
"pin": "B6",
|
||||
"levels": 7
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 4
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D3"
|
||||
},
|
||||
|
||||
@@ -11,5 +11,3 @@ NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||
DEFAULT_FOLDER = handwired/ck4x4
|
||||
|
||||
|
||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
||||
|
||||
@@ -36,8 +36,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#define RGBLIGHT_EFFECT_TWINKLE
|
||||
|
||||
#define RGBLED_NUM 16
|
||||
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
|
||||
|
||||
#define RGB_MATRIX_KEYPRESSES
|
||||
|
||||
@@ -12,6 +12,9 @@
|
||||
"pin": "B8",
|
||||
"breathing": true
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 16
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "A7",
|
||||
"driver": "spi"
|
||||
|
||||
@@ -16,7 +16,4 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
/* LEDs are not used in the standard 64key configuration. */
|
||||
#define RGBLED_NUM 0
|
||||
|
||||
#define PERMISSIVE_HOLD
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
"pid": "0x3632",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 0
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D3"
|
||||
},
|
||||
|
||||
@@ -16,11 +16,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RGBLED_NUM 6
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
|
||||
@@ -8,6 +8,12 @@
|
||||
"pid": "0x3332",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"saturation_steps": 8,
|
||||
"brightness_steps": 8,
|
||||
"led_count": 6,
|
||||
"sleep": true
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "F4"
|
||||
},
|
||||
|
||||
@@ -16,11 +16,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RGBLED_NUM 6
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
|
||||
@@ -8,6 +8,12 @@
|
||||
"pid": "0x3432",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"saturation_steps": 8,
|
||||
"brightness_steps": 8,
|
||||
"led_count": 6,
|
||||
"sleep": true
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "F4"
|
||||
},
|
||||
|
||||
@@ -16,11 +16,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RGBLED_NUM 6
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
|
||||
@@ -8,6 +8,12 @@
|
||||
"pid": "0x3433",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"saturation_steps": 8,
|
||||
"brightness_steps": 8,
|
||||
"led_count": 6,
|
||||
"sleep": true
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "F4"
|
||||
},
|
||||
|
||||
@@ -16,11 +16,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RGBLED_NUM 6
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
|
||||
@@ -8,6 +8,12 @@
|
||||
"pid": "0x3433",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"saturation_steps": 8,
|
||||
"brightness_steps": 8,
|
||||
"led_count": 6,
|
||||
"sleep": true
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "F4"
|
||||
},
|
||||
|
||||
@@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RGBLED_NUM 42
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_SLEEP
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
|
||||
@@ -8,6 +8,12 @@
|
||||
"pid": "0x6146",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"saturation_steps": 8,
|
||||
"brightness_steps": 8,
|
||||
"led_count": 42,
|
||||
"sleep": true
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "C4"
|
||||
},
|
||||
|
||||
@@ -28,10 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define WS2812_DMA_CHANNEL 3
|
||||
#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB
|
||||
|
||||
#define RGBLED_NUM 12
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
|
||||
@@ -8,6 +8,11 @@
|
||||
"pid": "0x432A",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"saturation_steps": 8,
|
||||
"brightness_steps": 8,
|
||||
"led_count": 12
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "B4",
|
||||
"driver": "pwm"
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
# Wildcard to allow APM32 MCU
|
||||
DFU_SUFFIX_ARGS = -v FFFF -p FFFF
|
||||
|
||||
# Do not put the microcontroller into power saving mode
|
||||
# when we get USB suspend event. We want it to keep updating
|
||||
# backlight effects.
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
|
||||
@@ -2,10 +2,6 @@
|
||||
|
||||
/* RGB Underglow */
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
#define RGBLED_NUM 14
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_EFFECT_BREATHING
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
@@ -35,9 +31,6 @@
|
||||
#define OLED_TIMEOUT 0
|
||||
// #define OLED_SCROLL_TIMEOUT 1000
|
||||
|
||||
/* Taps (encoder tap_code) */
|
||||
#define TAP_CODE_DELAY 10
|
||||
|
||||
/* I2C */
|
||||
//#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
|
||||
//#define PAL_MODE_STM32_ALTERNATE_OPENDRAIN (PAL_MODE_ALTERNATE(4) | PAL_STM32_OTYPE_OPENDRAIN)
|
||||
|
||||
@@ -8,6 +8,11 @@
|
||||
"pid": "0x6060",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"saturation_steps": 8,
|
||||
"brightness_steps": 8,
|
||||
"led_count": 14
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "A15"
|
||||
},
|
||||
@@ -22,6 +27,9 @@
|
||||
{"pin_a": "A0", "pin_b": "A1"}
|
||||
]
|
||||
},
|
||||
"qmk": {
|
||||
"tap_keycode_delay": 10
|
||||
},
|
||||
"processor": "STM32F303",
|
||||
"bootloader": "stm32-dfu",
|
||||
"board": "QMK_PROTON_C",
|
||||
|
||||
@@ -37,10 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define MOUSEKEY_MAX_SPEED 7
|
||||
#define MOUSEKEY_WHEEL_DELAY 0
|
||||
|
||||
#define TAPPING_TOGGLE 1
|
||||
|
||||
#define TAPPING_TERM 200
|
||||
|
||||
/* key combination for command */
|
||||
#define IS_COMMAND() ( \
|
||||
get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
|
||||
|
||||
@@ -11,6 +11,9 @@
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "halfkay",
|
||||
"debounce": 15,
|
||||
"tapping": {
|
||||
"toggle": 1
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_dactyl": {
|
||||
"layout": [
|
||||
|
||||
117
keyboards/handwired/dactyl_cc/info.json
Normal file
117
keyboards/handwired/dactyl_cc/info.json
Normal file
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"keyboard_name": "Dactyl CC",
|
||||
"manufacturer": "mjohns",
|
||||
"url": "https://github.com/mjohns/dactyl-cc",
|
||||
"maintainer": "qmk",
|
||||
"usb": {
|
||||
"vid": "0xFEED",
|
||||
"pid": "0x3060",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"mousekey": true,
|
||||
"extrakey": true,
|
||||
"console": false,
|
||||
"command": true,
|
||||
"nkro": false
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["D4", "C6", "D7", "E6", "B4", "B5"],
|
||||
"rows": ["F6", "F7", "B1", "B3", "B2", "B6"]
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"split": {
|
||||
"enabled": true,
|
||||
"soft_serial_pin": "D0"
|
||||
},
|
||||
"development_board": "promicro",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
|
||||
{"matrix": [6, 0], "x": 11, "y": 0},
|
||||
{"matrix": [6, 1], "x": 12, "y": 0},
|
||||
{"matrix": [6, 2], "x": 13, "y": 0},
|
||||
{"matrix": [6, 3], "x": 14, "y": 0},
|
||||
{"matrix": [6, 4], "x": 15, "y": 0},
|
||||
{"matrix": [6, 5], "x": 16, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1},
|
||||
|
||||
{"matrix": [7, 0], "x": 11, "y": 1},
|
||||
{"matrix": [7, 1], "x": 12, "y": 1},
|
||||
{"matrix": [7, 2], "x": 13, "y": 1},
|
||||
{"matrix": [7, 3], "x": 14, "y": 1},
|
||||
{"matrix": [7, 4], "x": 15, "y": 1},
|
||||
{"matrix": [7, 5], "x": 16, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5, "y": 2},
|
||||
|
||||
{"matrix": [8, 0], "x": 11, "y": 2},
|
||||
{"matrix": [8, 1], "x": 12, "y": 2},
|
||||
{"matrix": [8, 2], "x": 13, "y": 2},
|
||||
{"matrix": [8, 3], "x": 14, "y": 2},
|
||||
{"matrix": [8, 4], "x": 15, "y": 2},
|
||||
{"matrix": [8, 5], "x": 16, "y": 2},
|
||||
|
||||
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5, "y": 3},
|
||||
|
||||
{"matrix": [9, 0], "x": 11, "y": 3},
|
||||
{"matrix": [9, 1], "x": 12, "y": 3},
|
||||
{"matrix": [9, 2], "x": 13, "y": 3},
|
||||
{"matrix": [9, 3], "x": 14, "y": 3},
|
||||
{"matrix": [9, 4], "x": 15, "y": 3},
|
||||
{"matrix": [9, 5], "x": 16, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 1, "y": 4},
|
||||
{"matrix": [4, 1], "x": 2, "y": 4},
|
||||
{"matrix": [4, 2], "x": 3, "y": 4},
|
||||
{"matrix": [4, 3], "x": 4, "y": 4},
|
||||
|
||||
{"matrix": [10, 2], "x": 12, "y": 4},
|
||||
{"matrix": [10, 3], "x": 13, "y": 4},
|
||||
{"matrix": [10, 4], "x": 14, "y": 4},
|
||||
{"matrix": [10, 5], "x": 15, "y": 4},
|
||||
|
||||
{"matrix": [4, 4], "x": 6, "y": 5},
|
||||
{"matrix": [4, 5], "x": 7, "y": 5},
|
||||
|
||||
{"matrix": [10, 0], "x": 9, "y": 5},
|
||||
{"matrix": [10, 1], "x": 10, "y": 5},
|
||||
|
||||
{"matrix": [5, 2], "x": 5, "y": 6, "h": 2},
|
||||
{"matrix": [5, 3], "x": 6, "y": 6, "h": 2},
|
||||
{"matrix": [5, 5], "x": 7, "y": 6},
|
||||
|
||||
{"matrix": [11, 0], "x": 9, "y": 6},
|
||||
{"matrix": [11, 2], "x": 10, "y": 6, "h": 2},
|
||||
{"matrix": [11, 3], "x": 11, "y": 6, "h": 2},
|
||||
|
||||
{"matrix": [5, 4], "x": 7, "y": 7},
|
||||
{"matrix": [11, 1], "x": 9, "y": 7}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
28
keyboards/handwired/dactyl_cc/keymaps/default/config.h
Normal file
28
keyboards/handwired/dactyl_cc/keymaps/default/config.h
Normal file
@@ -0,0 +1,28 @@
|
||||
// Copyright 2022 mjohns
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
/* 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
|
||||
|
||||
/* Enables This makes it easier for fast typists to use dual-function keys */
|
||||
#define PERMISSIVE_HOLD
|
||||
|
||||
/* mouse config */
|
||||
#define MOUSEKEY_DELAY 0
|
||||
// Lowering MOUSEKEY_INTERVAL raises the cursor speed significantly, you may want to lower MOUSEKEY_MAX_SPEED (default: 10)
|
||||
#define MOUSEKEY_INTERVAL 20
|
||||
#define MOUSEKEY_MAX_SPEED 7
|
||||
#define MOUSEKEY_WHEEL_DELAY 0
|
||||
|
||||
/* layer config */
|
||||
#define TAPPING_TOGGLE 1
|
||||
|
||||
/* disable action features */
|
||||
//#define NO_ACTION_LAYER
|
||||
//#define NO_ACTION_TAPPING
|
||||
//#define NO_ACTION_ONESHOT
|
||||
37
keyboards/handwired/dactyl_cc/keymaps/default/keymap.c
Normal file
37
keyboards/handwired/dactyl_cc/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,37 @@
|
||||
// Copyright 2022 mjohns
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layers {
|
||||
BASE,
|
||||
NAV
|
||||
};
|
||||
|
||||
#define CTL_ESC LCTL_T(KC_ESC)
|
||||
#define CTL_CAP LCTL_T(KC_CAPS)
|
||||
#define ALT_BSP LALT_T(KC_BSPC)
|
||||
#define LT_SCLN LT(NAV, KC_SCLN)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[BASE] = LAYOUT(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_HOME,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
CTL_CAP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT_SCLN, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
TT(NAV), KC_DEL, KC_PGUP, KC_RCTL,
|
||||
KC_BSPC, CTL_ESC, KC_LGUI, KC_PGDN, KC_ENT, KC_SPC,
|
||||
KC_LALT, KC_RALT
|
||||
),
|
||||
[NAV] = LAYOUT(
|
||||
QK_BOOT, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, KC_BRIU, KC_P7, KC_P8, KC_P9, KC_NO, QK_BOOT,
|
||||
_______, KC_VOLU, KC_WBAK, KC_MS_U, KC_WFWD, KC_WH_U, KC_BRID, KC_P4, KC_P5, KC_P6, KC_PMNS, _______,
|
||||
_______, KC_VOLD, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_PPLS, KC_P1, KC_P2, KC_P3, KC_PSLS, _______,
|
||||
KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_NO, KC_PAST, KC_PCMM, KC_P0, KC_PDOT, KC_PENT, _______,
|
||||
KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
_______, _______, KC_HOME, _______,
|
||||
KC_BTN1, KC_BTN2, _______, KC_END, _______, _______,
|
||||
_______, ALT_BSP
|
||||
)
|
||||
};
|
||||
28
keyboards/handwired/dactyl_cc/keymaps/via/config.h
Normal file
28
keyboards/handwired/dactyl_cc/keymaps/via/config.h
Normal file
@@ -0,0 +1,28 @@
|
||||
// Copyright 2022 mjohns
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
/* 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
|
||||
|
||||
/* Enables This makes it easier for fast typists to use dual-function keys */
|
||||
#define PERMISSIVE_HOLD
|
||||
|
||||
/* mouse config */
|
||||
#define MOUSEKEY_DELAY 0
|
||||
// Lowering MOUSEKEY_INTERVAL raises the cursor speed significantly, you may want to lower MOUSEKEY_MAX_SPEED (default: 10)
|
||||
#define MOUSEKEY_INTERVAL 20
|
||||
#define MOUSEKEY_MAX_SPEED 7
|
||||
#define MOUSEKEY_WHEEL_DELAY 0
|
||||
|
||||
/* layer config */
|
||||
#define TAPPING_TOGGLE 1
|
||||
|
||||
/* disable action features */
|
||||
//#define NO_ACTION_LAYER
|
||||
//#define NO_ACTION_TAPPING
|
||||
//#define NO_ACTION_ONESHOT
|
||||
64
keyboards/handwired/dactyl_cc/keymaps/via/keymap.c
Normal file
64
keyboards/handwired/dactyl_cc/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,64 @@
|
||||
// Copyright 2022 mjohns
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layers {
|
||||
_BASE,
|
||||
_NAV,
|
||||
_SYS,
|
||||
_BLANK
|
||||
};
|
||||
|
||||
#define LT_1BSP LT(1, KC_BSPC)
|
||||
#define LT_2SPC LT(2, KC_SPC)
|
||||
#define MH_DEL MEH_T(KC_DEL)
|
||||
#define HY_ENT HYPR_T(KC_ENT)
|
||||
#define CA_PGDN LCA_T(KC_PGDN)
|
||||
#define CAG_END LCAG_T(KC_END)
|
||||
#define AG_PGUP LAG_T(KC_PGUP)
|
||||
#define CG_HOME MT(MOD_LGUI | MOD_LCTL, KC_HOME)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
KC_LCTL, KC_LALT, KC_RGUI, KC_RCTL,
|
||||
LT_1BSP, MH_DEL, CG_HOME, AG_PGUP, HY_ENT, LT_2SPC,
|
||||
CAG_END, CA_PGDN
|
||||
),
|
||||
[_NAV] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_NUM, KC_PEQL, KC_PSLS, KC_PAST, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
|
||||
_______, QK_BOOT, _______, _______, KC_SLEP, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______,
|
||||
_______, _______, _______, _______, _______, _______, KC_PDOT, KC_PENT,
|
||||
_______, _______, _______, KC_P0,
|
||||
_______, _______, _______, _______, _______, MO(3),
|
||||
_______, _______
|
||||
),
|
||||
[_SYS] = LAYOUT(
|
||||
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_VOLU, KC_WBAK, KC_MS_U, KC_WFWD, KC_WH_U, _______, KC_NO, KC_NO, KC_NO, KC_NO, _______,
|
||||
_______, KC_MUTE, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_PSCR, KC_PAUS, KC_INS, KC_SCRL, _______,
|
||||
_______, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, _______, KC_NO, KC_NO, KC_NO, KC_NO, _______,
|
||||
_______, _______, _______, _______, _______, _______, KC_UP, KC_RGHT,
|
||||
_______, _______, _______, _______,
|
||||
KC_BTN1, KC_BTN2, _______, _______, _______, _______,
|
||||
_______, _______
|
||||
|
||||
),
|
||||
[_BLANK] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO
|
||||
)
|
||||
};
|
||||
1
keyboards/handwired/dactyl_cc/keymaps/via/rules.mk
Normal file
1
keyboards/handwired/dactyl_cc/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
27
keyboards/handwired/dactyl_cc/readme.md
Normal file
27
keyboards/handwired/dactyl_cc/readme.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Dactyl-CC
|
||||
|
||||

|
||||
|
||||
Modelled on the *Kinesis Advantage* (KA) 1|2, though missing it's combined function and program row, the *Dactyl CC* retains the finger and thumb key placements of the KA but opts to split board into physical halves.
|
||||
|
||||
* Keyboard Maintainer: [Michael Johns](https://github.com/mjohns)
|
||||
* Hardware Supported: Pro micro controller or clones of
|
||||
* Hardware Availability: [Dactyl CC GitHub](https://github.com/mjohns/dactyl-cc)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/dactyl_cc:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make handwired/dactyl_cc:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
0
keyboards/handwired/dactyl_cc/rules.mk
Normal file
0
keyboards/handwired/dactyl_cc/rules.mk
Normal file
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"keyboard_name": "Dactyl-Manuform (6x6+4)",
|
||||
"manufacturer": "tshort",
|
||||
"keyboard_name": "Dactyl Kinesis",
|
||||
"manufacturer": "dmik",
|
||||
"url": "",
|
||||
"maintainer": "dmik",
|
||||
"usb": {
|
||||
@@ -8,6 +8,20 @@
|
||||
"pid": "0x3636",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": false,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": false,
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"rgblight": false
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 12
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D3"
|
||||
},
|
||||
@@ -17,12 +31,12 @@
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"split": {
|
||||
"enabled": true,
|
||||
"soft_serial_pin": "D0"
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "caterina",
|
||||
"development_board": "promicro",
|
||||
"layouts": {
|
||||
"LAYOUT_6x6_kinesis": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
@@ -104,22 +118,22 @@
|
||||
{"matrix": [12, 4], "x": 14, "y": 5},
|
||||
{"matrix": [12, 5], "x": 15, "y": 5},
|
||||
|
||||
{"matrix": [5, 4], "x": 5, "y": 7, "h": 2},
|
||||
{"matrix": [5, 5], "x": 6, "y": 7, "h": 2},
|
||||
|
||||
{"matrix": [12, 0], "x": 10, "y": 7, "h": 2},
|
||||
{"matrix": [12, 1], "x": 11, "y": 7, "h": 2},
|
||||
|
||||
{"matrix": [6, 4], "x": 6, "y": 6},
|
||||
{"matrix": [6, 5], "x": 7, "y": 6},
|
||||
|
||||
{"matrix": [13, 0], "x": 9, "y": 6},
|
||||
{"matrix": [13, 1], "x": 10, "y": 6},
|
||||
|
||||
{"matrix": [6, 2], "x": 7, "y": 8},
|
||||
{"matrix": [6, 3], "x": 7, "y": 7},
|
||||
{"matrix": [5, 4], "x": 5, "y": 7, "h": 2},
|
||||
{"matrix": [5, 5], "x": 6, "y": 7, "h": 2},
|
||||
|
||||
{"matrix": [12, 0], "x": 10, "y": 7, "h": 2},
|
||||
{"matrix": [12, 1], "x": 11, "y": 7, "h": 2},
|
||||
|
||||
{"matrix": [6, 3], "x": 7, "y": 7},
|
||||
{"matrix": [13, 2], "x": 9, "y": 7},
|
||||
|
||||
{"matrix": [6, 2], "x": 7, "y": 8},
|
||||
{"matrix": [13, 3], "x": 9, "y": 8}
|
||||
]
|
||||
}
|
||||
38
keyboards/handwired/dactyl_kinesis/keymaps/default/keymap.c
Normal file
38
keyboards/handwired/dactyl_kinesis/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,38 @@
|
||||
// Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
// Copyright 2021 Dmitriy Kuminov (@dmik)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum custom_layers {
|
||||
_QWERTY,
|
||||
_LOWER
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT(
|
||||
KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_CAPS,
|
||||
KC_EQL , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS,
|
||||
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSLS,
|
||||
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_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
|
||||
KC_GRV , LOWER , KC_LEFT, KC_RGHT, KC_UP , KC_DOWN, KC_LBRC, KC_RBRC,
|
||||
KC_LGUI, KC_LALT, KC_RCTL, KC_RGUI,
|
||||
KC_BSPC, KC_DEL, KC_HOME, KC_PGUP, KC_ENT , KC_SPC ,
|
||||
KC_END , KC_PGDN
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT(
|
||||
_______, KC_F11 , KC_F12 , _______, _______, _______, KC_BRID, KC_BRIU, KC_MUTE, KC_VOLD, KC_VOLU, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, KC_INS , _______, _______, _______, _______,
|
||||
_______, _______
|
||||
)
|
||||
};
|
||||
109
keyboards/handwired/dactyl_kinesis/readme.md
Normal file
109
keyboards/handwired/dactyl_kinesis/readme.md
Normal file
@@ -0,0 +1,109 @@
|
||||
# Dactyl Kinesis
|
||||
|
||||
Essentially a Dactyl CC physical key layout with an additional top row, further emulating the Kinesis Advantage (*1|2*) physical key layout.
|
||||
|
||||
* Keyboard Maintainer: [dmik](https://github.com/dmik)
|
||||
* Hardware Supported: Pro Micro controller, or clone of
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/dactyl_kinesis:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make handwired/dactyl_kinesis:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Kinesis Advantage Keymap
|
||||
|
||||
### About
|
||||
|
||||
This keymap is designed after Kinesis Advantage's QWERTY layout with the following key differences:
|
||||
- There are only 10 F-keys in the main layer, F1 and F2 are moved to additional LOWER layer.
|
||||
- The INS key acts like a LOWER layer activation key and Del in LOWER layer ats like INS.
|
||||
- LCtl is placed where CAPS should be and CAPS is moved to a free key after F10.
|
||||
- Brigtness and volume control keys are added to LOWER layer.
|
||||
|
||||
The keymap file also contains RAISE layer but it is currently equivalent to LOWER layer and does
|
||||
not have an activation key mapped. It is intended for possible extensions.
|
||||
|
||||
### Keymap
|
||||
|
||||
Main QUERTY layer:
|
||||
,-------------------------------------------. ,-------------------------------------------.
|
||||
| ESC | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | CAPS |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| LCtl | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| LShift | Z | X | C | V | B | | N | M | , | . | / | RShift |
|
||||
`--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
| ` | LOWER| Left | Rght | | Up | Dn | [ | ] |
|
||||
`---------------------------' `---------------------------'
|
||||
,-------------. ,-------------.
|
||||
| LGui | LAlt | | RCtl | RGui |
|
||||
,------|------|------| |------+------+------.
|
||||
| | | Home | | PgUp | | |
|
||||
| BkSp | Del |------| |------|Enter |Space |
|
||||
| | | End | | PgDn | | |
|
||||
`--------------------' `--------------------'
|
||||
|
||||
LOWER layer:
|
||||
,-------------------------------------------. ,-------------------------------------------.
|
||||
| | F11 | F12 | | | | |BriDn |BriUp |VMute |VolDn |VolUp | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | | | | | | | | | | | | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | | | | | | | | | | | | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | | | | | | | | | | | | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | | | | | | | | | | | | |
|
||||
`--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
| | | | | | | | | |
|
||||
`---------------------------' `---------------------------'
|
||||
,-------------. ,-------------.
|
||||
| | | | | |
|
||||
,------|------|------| |------+------+------.
|
||||
| | | | | | | |
|
||||
| | INS |------| |------| | |
|
||||
| | | | | | | |
|
||||
`--------------------' `--------------------'
|
||||
|
||||
### Key Matrix Wiring
|
||||
|
||||
The below picture shows correspondence between the keys and the row/column wires of the left and
|
||||
right halves:
|
||||
|
||||
,-------------------------------------------. ,-------------------------------------------.
|
||||
| L00 | L01 | L02 | L03 | L04 | L05 | | R00 | R01 | R02 | R03 | R04 | R05 |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| L10 | L11 | L12 | L13 | L14 | L15 | | R10 | R11 | R12 | R13 | R14 | R15 |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| L20 | L21 | L22 | L23 | L24 | L25 | | R20 | R21 | R22 | R23 | R24 | R25 |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| L30 | L31 | L32 | L33 | L34 | L35 | | R30 | R31 | R32 | R33 | R34 | R35 |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| L40 | L41 | L42 | L43 | L44 | L45 | | R40 | R41 | R42 | R43 | R44 | R45 |
|
||||
`--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
| L50 | L51 | L52 | L53 | | R52 | R53 | R54 | R55 |
|
||||
`---------------------------' `---------------------------'
|
||||
,-------------. ,-------------.
|
||||
| L64 | L65 | | R60 | R61 |
|
||||
,------|------|------| |------+------+------.
|
||||
| | | L63 | | R62 | | |
|
||||
| L54 | L55 |------| |------| R50 | R51 |
|
||||
| | | L62 | | R63 | | |
|
||||
`--------------------' `--------------------'
|
||||
|
||||
## Bootloader
|
||||
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
1
keyboards/handwired/dactyl_kinesis/rules.mk
Normal file
1
keyboards/handwired/dactyl_kinesis/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
# This file intentionally left blank
|
||||
@@ -1,22 +0,0 @@
|
||||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// WS2812 RGB LED strip input and number of LEDs
|
||||
#define RGBLED_NUM 12
|
||||
@@ -8,6 +8,9 @@
|
||||
"pid": "0x3435",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 12
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D3"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"keyboard_name": "Dactyl Manuform 4x5 5 thumb keys",
|
||||
"keyboard_name": "Dactyl ManuForm 4x5_5",
|
||||
"manufacturer": "ssedrick",
|
||||
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/dactyl_manuform/4x5_5",
|
||||
"maintainer": "ssedrick",
|
||||
@@ -16,9 +16,7 @@
|
||||
"split": {
|
||||
"soft_serial_pin": "D0"
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "atmel-dfu",
|
||||
"community_layouts": ["split_3x5_3"],
|
||||
"development_board": "promicro",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
@@ -28,11 +26,11 @@
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
|
||||
{"matrix": [5, 0], "x": 6, "y": 0},
|
||||
{"matrix": [5, 1], "x": 7, "y": 0},
|
||||
{"matrix": [5, 2], "x": 8, "y": 0},
|
||||
{"matrix": [5, 3], "x": 9, "y": 0},
|
||||
{"matrix": [5, 4], "x": 10, "y": 0},
|
||||
{"matrix": [5, 0], "x": 8, "y": 0},
|
||||
{"matrix": [5, 1], "x": 9, "y": 0},
|
||||
{"matrix": [5, 2], "x": 10, "y": 0},
|
||||
{"matrix": [5, 3], "x": 11, "y": 0},
|
||||
{"matrix": [5, 4], "x": 12, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
@@ -40,11 +38,11 @@
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1},
|
||||
|
||||
{"matrix": [6, 0], "x": 6, "y": 1},
|
||||
{"matrix": [6, 1], "x": 7, "y": 1},
|
||||
{"matrix": [6, 2], "x": 8, "y": 1},
|
||||
{"matrix": [6, 3], "x": 9, "y": 1},
|
||||
{"matrix": [6, 4], "x": 10, "y": 1},
|
||||
{"matrix": [6, 0], "x": 8, "y": 1},
|
||||
{"matrix": [6, 1], "x": 9, "y": 1},
|
||||
{"matrix": [6, 2], "x": 10, "y": 1},
|
||||
{"matrix": [6, 3], "x": 11, "y": 1},
|
||||
{"matrix": [6, 4], "x": 12, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
@@ -52,82 +50,31 @@
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4, "y": 2},
|
||||
|
||||
{"matrix": [7, 0], "x": 6, "y": 2},
|
||||
{"matrix": [7, 1], "x": 7, "y": 2},
|
||||
{"matrix": [7, 2], "x": 8, "y": 2},
|
||||
{"matrix": [7, 3], "x": 9, "y": 2},
|
||||
{"matrix": [7, 4], "x": 10, "y": 2},
|
||||
{"matrix": [7, 0], "x": 8, "y": 2},
|
||||
{"matrix": [7, 1], "x": 9, "y": 2},
|
||||
{"matrix": [7, 2], "x": 10, "y": 2},
|
||||
{"matrix": [7, 3], "x": 11, "y": 2},
|
||||
{"matrix": [7, 4], "x": 12, "y": 2},
|
||||
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
|
||||
{"matrix": [8, 2], "x": 8, "y": 3},
|
||||
{"matrix": [8, 3], "x": 9, "y": 3},
|
||||
{"matrix": [8, 2], "x": 10, "y": 3},
|
||||
{"matrix": [8, 3], "x": 11, "y": 3},
|
||||
|
||||
{"matrix": [3, 3], "x": 3, "y": 4},
|
||||
{"matrix": [3, 4], "x": 4, "y": 4},
|
||||
{"matrix": [4, 4], "x": 5, "y": 4},
|
||||
|
||||
{"matrix": [8, 1], "x": 7, "y": 4},
|
||||
{"matrix": [8, 1], "x": 9, "y": 4},
|
||||
{"matrix": [9, 0], "x": 7, "y": 4},
|
||||
{"matrix": [8, 0], "x": 8, "y": 4},
|
||||
|
||||
{"matrix": [3, 4], "x": 3, "y": 5},
|
||||
{"matrix": [4, 4], "x": 4, "y": 5},
|
||||
{"matrix": [4, 2], "x": 4, "y": 5},
|
||||
{"matrix": [4, 3], "x": 5, "y": 5},
|
||||
|
||||
{"matrix": [9, 0], "x": 6, "y": 5},
|
||||
{"matrix": [8, 0], "x": 7, "y": 5},
|
||||
|
||||
{"matrix": [4, 2], "x": 3, "y": 6},
|
||||
{"matrix": [4, 3], "x": 4, "y": 6},
|
||||
|
||||
{"matrix": [9, 1], "x": 6, "y": 6},
|
||||
{"matrix": [9, 2], "x": 7, "y": 6}
|
||||
]
|
||||
},
|
||||
"LAYOUT_split_3x5_3": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
|
||||
{"matrix": [5, 0], "x": 6, "y": 0},
|
||||
{"matrix": [5, 1], "x": 7, "y": 0},
|
||||
{"matrix": [5, 2], "x": 8, "y": 0},
|
||||
{"matrix": [5, 3], "x": 9, "y": 0},
|
||||
{"matrix": [5, 4], "x": 10, "y": 0},
|
||||
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1},
|
||||
|
||||
{"matrix": [6, 0], "x": 6, "y": 1},
|
||||
{"matrix": [6, 1], "x": 7, "y": 1},
|
||||
{"matrix": [6, 2], "x": 8, "y": 1},
|
||||
{"matrix": [6, 3], "x": 9, "y": 1},
|
||||
{"matrix": [6, 4], "x": 10, "y": 1},
|
||||
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4, "y": 2},
|
||||
|
||||
{"matrix": [7, 0], "x": 6, "y": 2},
|
||||
{"matrix": [7, 1], "x": 7, "y": 2},
|
||||
{"matrix": [7, 2], "x": 8, "y": 2},
|
||||
{"matrix": [7, 3], "x": 9, "y": 2},
|
||||
{"matrix": [7, 4], "x": 10, "y": 2},
|
||||
|
||||
{"matrix": [3, 3], "x": 3, "y": 4},
|
||||
|
||||
{"matrix": [8, 1], "x": 7, "y": 4},
|
||||
|
||||
{"matrix": [3, 4], "x": 3, "y": 5},
|
||||
{"matrix": [4, 4], "x": 4, "y": 5},
|
||||
|
||||
{"matrix": [9, 0], "x": 6, "y": 5},
|
||||
{"matrix": [8, 0], "x": 7, "y": 5}
|
||||
{"matrix": [9, 1], "x": 7, "y": 5},
|
||||
{"matrix": [9, 2], "x": 8, "y": 5}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "print.h"
|
||||
|
||||
enum key_layers {
|
||||
_BASE,
|
||||
@@ -11,145 +10,45 @@ enum key_layers {
|
||||
_LOWER
|
||||
};
|
||||
|
||||
enum layer_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
COLEMAK,
|
||||
};
|
||||
|
||||
#define RAISE MO(_RAISE)
|
||||
#define LOWER MO(_LOWER)
|
||||
#define SH_ESC SFT_T(KC_ESC)
|
||||
#define ____ KC_TRANSPARENT
|
||||
#define ____ KC_TRNS
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Base (qwerty)
|
||||
* ,----------------------------------, ,----------------------------------,
|
||||
* | q | w | e | r | t | | y | u | i | o | p |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | a | s | d | f | g | | h | j | k | l | ; |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | z | x | c | v | b | | n | m | , | . | / |
|
||||
* '------+------+------+-------------' '------+------+------+------+------'
|
||||
* | [ | ] | | ' | `~ |
|
||||
* '-------------+------, ,------|-------------'
|
||||
* | ESC | | BSPC |
|
||||
* |-------------, ,------+------|
|
||||
* | GUI | TAB | | SHIFT| SPACE|
|
||||
* |------+------| |------+------|
|
||||
* | RAISE| CTRL | | LOWER| ENTER|
|
||||
* '-------------' '-------------'
|
||||
*/
|
||||
[_BASE] = LAYOUT(
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
KC_LBRC, KC_RBRC, KC_QUOT, KC_GRV,
|
||||
SH_ESC, KC_BSPC,
|
||||
KC_LGUI, KC_TAB, KC_RSFT, KC_SPC,
|
||||
RAISE, KC_LCTL, LOWER, KC_ENT
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
KC_LBRC, KC_RBRC, KC_QUOT, KC_GRV,
|
||||
SH_ESC, KC_LGUI, KC_TAB, KC_RSFT, KC_SPC, KC_BSPC,
|
||||
RAISE, KC_LCTL, LOWER, KC_ENT
|
||||
),
|
||||
|
||||
/* Colemak
|
||||
* ,----------------------------------, ,----------------------------------,
|
||||
* | q | w | f | p | g | | j | l | u | y | ; |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | a | r | s | t | d | | h | n | e | i | o |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | z | x | c | v | b | | k | m | , | . | / |
|
||||
* '------+------+------+-------------' '------+------+------+------+------'
|
||||
* | [ | ] | | ' | `~ |
|
||||
* '-------------+------, ,------|-------------'
|
||||
* | ESC | | BSPC |
|
||||
* |-------------, ,------+------|
|
||||
* | GUI | TAB | | SHIFT| SPACE|
|
||||
* |------+------| |------+------|
|
||||
* | RAISE| CTRL | | LOWER| ENTER|
|
||||
* '-------------' '-------------'
|
||||
*/
|
||||
[_COLEMAK] = LAYOUT(
|
||||
KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
|
||||
KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
|
||||
KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
KC_LBRC, KC_RBRC, KC_QUOT, KC_GRV,
|
||||
KC_ESC, KC_BSPC,
|
||||
KC_LGUI, KC_TAB, KC_RSFT, KC_SPC,
|
||||
RAISE, KC_LCTL, LOWER, KC_ENT
|
||||
),
|
||||
/* RAISE
|
||||
* ,----------------------------------, ,----------------------------------,
|
||||
* | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | ( | ) | { | } | = | | - | 4 | 5 | 6 | ; |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | QK_BOOT| BOOT | [ | ] | | | | 1 | 2 | 3 | |
|
||||
* |------+------+------+-------------| |------+------+------+------+------,
|
||||
* | | | | 0 | . |
|
||||
* '-------------+------, ,------|-------------'
|
||||
* | ESC | | BSPC |
|
||||
* |-------------, ,------+------|
|
||||
* | GUI | TAB | | SHIFT| SPACE|
|
||||
* |------+------| |------+------|
|
||||
* | RAISE| CTRL | | LOWER| ENTER|
|
||||
* '-------------' '-------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT(
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||
S(KC_9), S(KC_0), KC_LCBR, KC_RCBR, KC_EQL, KC_MINS, KC_4, KC_5, KC_6, KC_QUOT,
|
||||
QK_RBT, QK_BOOT, KC_LBRC, KC_RBRC, ____, ____, KC_1, KC_2, KC_3, ____,
|
||||
____, ____, KC_0, KC_DOT,
|
||||
____, ____,
|
||||
____, ____, ____, ____,
|
||||
____, ____, ____, ____
|
||||
KC_ESC, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT(
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||
S(KC_9), S(KC_0), KC_LCBR, KC_RCBR, KC_EQL, KC_MINS, KC_4, KC_5, KC_6, KC_QUOT,
|
||||
QK_RBT, QK_BOOT, KC_LBRC, KC_RBRC, ____, ____, KC_1, KC_2, KC_3, ____,
|
||||
____, ____, KC_0, KC_DOT,
|
||||
____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____
|
||||
),
|
||||
|
||||
/* LOWER
|
||||
* ,----------------------------------, ,----------------------------------,
|
||||
* | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | ( | ) | { | } | = | | | - | + | | | |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | | | | | | | | LEFT | DOWN | UP | RIGHT|
|
||||
* |------+------+------+-------------| |------+------+------+------+------,
|
||||
* | | | |QWERTY|COLEMA|
|
||||
* '-------------+------, ,------|-------------'
|
||||
* | ESC | | BSPC |
|
||||
* |-------------, ,------+------|
|
||||
* | GUI | TAB | | SHIFT| SPACE|
|
||||
* |------+------| |------+------|
|
||||
* | RAISE| CTRL | | LOWER| ENTER|
|
||||
* '-------------' '-------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT(
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
|
||||
S(KC_9), S(KC_0), KC_LBRC, KC_RBRC, KC_EQL, ____, KC_MINS, KC_EQL, KC_PIPE, ____,
|
||||
____, ____, ____, ____, ____, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
____, ____, QWERTY, COLEMAK,
|
||||
____, ____,
|
||||
____, ____, ____, ____,
|
||||
____, ____, ____, ____
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
|
||||
S(KC_9), S(KC_0), KC_LBRC, KC_RBRC, KC_EQL, ____, KC_MINS, KC_EQL, KC_PIPE, ____,
|
||||
____, ____, ____, ____, ____, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
____, ____, KC_QUOT, KC_GRV,
|
||||
____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____
|
||||
)
|
||||
};
|
||||
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
// If console is enabled, it will print the matrix position and status of each key pressed
|
||||
#ifdef CONSOLE_ENABLE
|
||||
uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %d, time: %u, interrupt: %d, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
|
||||
#endif
|
||||
switch (keycode) {
|
||||
case QWERTY:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_BASE);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case COLEMAK:
|
||||
if (record->event.pressed) {
|
||||
set_single_persistent_default_layer(_COLEMAK);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@ enum layer_keycodes {
|
||||
COLEMAK,
|
||||
};
|
||||
|
||||
|
||||
#define RAISE TT(_RAISE)
|
||||
#define LOWER MO(_LOWER)
|
||||
#define SH_ESC SFT_T(KC_ESC)
|
||||
@@ -28,111 +27,40 @@ enum layer_keycodes {
|
||||
#define TAPPING_TOGGLE 2
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Base (qwerty)
|
||||
* ,----------------------------------, ,----------------------------------,
|
||||
* | q | w | e | r | t | | y | u | i | o | p |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | a | s | d | f | g | | h | j | k | l | ; |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | z | x | c | v | b | | n | m | , | . | / |
|
||||
* '------+------+------+-------------' '------+------+------+------+------'
|
||||
* | { | } | | ' | `~ |
|
||||
* '-------------+------, ,------|-------------'
|
||||
* | ESC | | ENTER|
|
||||
* |-------------, ,------+------|
|
||||
* | GUI | TAB | | BCKSP| SPACE|
|
||||
* |------+------| |------+------|
|
||||
* | RAISE| CTRL | | SHIFT| LOWER|
|
||||
* '-------------' '-------------'
|
||||
*/
|
||||
[_BASE] = LAYOUT(
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
KC_LCBR, KC_RCBR, KC_QUOT, KC_GRV,
|
||||
SH_ESC, KC_ENT,
|
||||
KC_LGUI, KC_TAB, KC_RSFT, KC_SPC,
|
||||
RAISE, KC_LCTL, KC_BSPC, LOWER
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
KC_LCBR, KC_RCBR, KC_QUOT, KC_GRV,
|
||||
SH_ESC, KC_LGUI, KC_TAB, KC_RSFT, KC_SPC, KC_ENT,
|
||||
RAISE, KC_LCTL, KC_BSPC, LOWER
|
||||
),
|
||||
|
||||
/* Colemak
|
||||
* ,----------------------------------, ,----------------------------------,
|
||||
* | q | w | f | p | g | | j | l | u | y | ; |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | a | r | s | t | d | | h | n | e | i | o |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | z | x | c | v | b | | k | m | , | . | / |
|
||||
* '------+------+------+-------------' '------+------+------+------+------'
|
||||
* | [ | ] | | ' | `~ |
|
||||
* '-------------+------, ,------|-------------'
|
||||
* | ESC | | BSPC |
|
||||
* |-------------, ,------+------|
|
||||
* | GUI | TAB | | SHIFT| SPACE|
|
||||
* |------+------| |------+------|
|
||||
* | RAISE| CTRL | | LOWER| ENTER|
|
||||
* '-------------' '-------------'
|
||||
*/
|
||||
|
||||
[_COLEMAK] = LAYOUT(
|
||||
KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
|
||||
KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
KC_LCBR, KC_RCBR, KC_QUOT, KC_GRV,
|
||||
SH_ESC, KC_ENT,
|
||||
KC_LGUI, KC_TAB, KC_RSFT, KC_SPC,
|
||||
RAISE, KC_LCTL, KC_BSPC, LOWER
|
||||
KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
|
||||
KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
KC_LCBR, KC_RCBR, KC_QUOT, KC_GRV,
|
||||
____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____
|
||||
),
|
||||
/* RAISE
|
||||
* ,----------------------------------, ,----------------------------------,
|
||||
* | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | ( | ) | [ | ] | = | | _ | 4 | 5 | 6 | ; |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | QK_BOOT| BOOT | | | | | | 1 | 2 | 3 | |
|
||||
* |------+------+------+-------------| |------+------+------+------+------,
|
||||
* |MAC_LC| | | 0 | . |
|
||||
* '-------------+------, ,------|-------------'
|
||||
* | ESC | | BSPC |
|
||||
* |-------------, ,------+------|
|
||||
* | GUI | TAB | | SHIFT| SPACE|
|
||||
* |------+------| |------+------|
|
||||
* | RAISE| CTRL | | LOWER| ENTER|
|
||||
* '-------------' '-------------'
|
||||
*/
|
||||
|
||||
[_RAISE] = LAYOUT(
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||
S(KC_9), S(KC_0), KC_LBRC, KC_RBRC, KC_EQL, KC_MINS, KC_4, KC_5, KC_6, KC_QUOT,
|
||||
QK_RBT, QK_BOOT, ____, ____, ____, ____, KC_1, KC_2, KC_3, ____,
|
||||
MAC_LOCK, ____, KC_0, KC_DOT,
|
||||
____, ____,
|
||||
____, ____, ____, ____,
|
||||
____, ____, ____, ____
|
||||
____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____
|
||||
),
|
||||
|
||||
/* LOWER
|
||||
* ,----------------------------------, ,----------------------------------,
|
||||
* | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | ( | ) | { | } | = | | _ | - | + | \ | | |
|
||||
* |------+------+------+------+------| |------+------+------+------+------|
|
||||
* | NEXT | PLAY | VOLU | VOLD | | | | LEFT | DOWN | UP | RIGHT|
|
||||
* |------+------+------+-------------| |------+------+------+------+------,
|
||||
* | | | |QWERTY|COLEMA|
|
||||
* '-------------+------, ,------|-------------'
|
||||
* | ESC | | BSPC |
|
||||
* |-------------, ,------+------|
|
||||
* | GUI | TAB | | SHIFT| SPACE|
|
||||
* |------+------| |------+------|
|
||||
* | RAISE| CTRL | | LOWER| ENTER|
|
||||
* '-------------' '-------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT(
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
|
||||
S(KC_9), S(KC_0), KC_LBRC, KC_RBRC, KC_EQL, UNDSC, KC_MINS, KC_EQL, KC_BSLS, KC_PIPE,
|
||||
KC_MNXT, KC_MPLY, KC_VOLU, KC_VOLD, ____, ____, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
|
||||
____, ____, QWERTY, COLEMAK,
|
||||
____, ____,
|
||||
____, ____, ____, ____,
|
||||
____, ____, ____, ____
|
||||
____, ____, ____, ____, ____, ____,
|
||||
____, ____, ____, ____
|
||||
)
|
||||
};
|
||||
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// WS2812 RGB LED strip input and number of LEDs
|
||||
#define RGBLED_NUM 12
|
||||
@@ -8,6 +8,9 @@
|
||||
"pid": "0x3436",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 12
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D3"
|
||||
},
|
||||
|
||||
@@ -60,5 +60,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
N_PASTE , N_UNDO , KC_BSPC , KC_DEL
|
||||
|
||||
),
|
||||
|
||||
};
|
||||
|
||||
@@ -8,3 +8,4 @@ COMMAND_ENABLE = no
|
||||
NKRO_ENABLE = yes
|
||||
RGBLIGHT_ENABLE = yes
|
||||
DEBOUNCE_TYPE = asym_eager_defer_pk
|
||||
USER_NAME := scheiklp
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// WS2812 RGB LED strip input and number of LEDs
|
||||
#define RGBLED_NUM 12
|
||||
@@ -8,6 +8,9 @@
|
||||
"pid": "0x3436",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 12
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D3"
|
||||
},
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// WS2812 RGB LED strip input and number of LEDs
|
||||
#define RGBLED_NUM 12
|
||||
@@ -8,6 +8,9 @@
|
||||
"pid": "0x3536",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 12
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D3"
|
||||
},
|
||||
|
||||
@@ -3,14 +3,25 @@
|
||||
"manufacturer": "kpagratis",
|
||||
"url": "",
|
||||
"maintainer": "kpagratis",
|
||||
"bootloader": "caterina",
|
||||
"processor": "atmega32u4",
|
||||
"development_board": "promicro",
|
||||
"usb": {
|
||||
"vid": "0xFEED",
|
||||
"pid": "0x0016",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": true,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": true,
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"rgblight": false
|
||||
},
|
||||
"split": {
|
||||
"enabled": true,
|
||||
"soft_serial_pin": "D0"
|
||||
},
|
||||
"matrix_pins": {
|
||||
@@ -21,80 +32,89 @@
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0, "matrix": [0, 0]},
|
||||
{"x": 1, "y": 0, "matrix": [0, 1]},
|
||||
{"x": 2, "y": 0, "matrix": [0, 2]},
|
||||
{"x": 3, "y": 0, "matrix": [0, 3]},
|
||||
{"x": 4, "y": 0, "matrix": [0, 4]},
|
||||
{"x": 5, "y": 0, "matrix": [0, 5]},
|
||||
{"x": 14, "y": 0, "matrix": [6, 0]},
|
||||
{"x": 15, "y": 0, "matrix": [6, 1]},
|
||||
{"x": 16, "y": 0, "matrix": [6, 2]},
|
||||
{"x": 17, "y": 0, "matrix": [6, 3]},
|
||||
{"x": 18, "y": 0, "matrix": [6, 4]},
|
||||
{"x": 19, "y": 0, "matrix": [6, 5]},
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
{"matrix": [0, 2], "x": 2, "y": 0},
|
||||
{"matrix": [0, 3], "x": 3, "y": 0},
|
||||
{"matrix": [0, 4], "x": 4, "y": 0},
|
||||
{"matrix": [0, 5], "x": 5, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1, "matrix": [1, 0]},
|
||||
{"x": 1, "y": 1, "matrix": [1, 1]},
|
||||
{"x": 2, "y": 1, "matrix": [1, 2]},
|
||||
{"x": 3, "y": 1, "matrix": [1, 3]},
|
||||
{"x": 4, "y": 1, "matrix": [1, 4]},
|
||||
{"x": 5, "y": 1, "matrix": [1, 5]},
|
||||
{"x": 14, "y": 1, "matrix": [7, 0]},
|
||||
{"x": 15, "y": 1, "matrix": [7, 1]},
|
||||
{"x": 16, "y": 1, "matrix": [7, 2]},
|
||||
{"x": 17, "y": 1, "matrix": [7, 3]},
|
||||
{"x": 18, "y": 1, "matrix": [7, 4]},
|
||||
{"x": 19, "y": 1, "matrix": [7, 5]},
|
||||
{"matrix": [6, 0], "x": 11, "y": 0},
|
||||
{"matrix": [6, 1], "x": 12, "y": 0},
|
||||
{"matrix": [6, 2], "x": 13, "y": 0},
|
||||
{"matrix": [6, 3], "x": 14, "y": 0},
|
||||
{"matrix": [6, 4], "x": 15, "y": 0},
|
||||
{"matrix": [6, 5], "x": 16, "y": 0},
|
||||
|
||||
{"x": 0, "y": 2, "matrix": [2, 0]},
|
||||
{"x": 1, "y": 2, "matrix": [2, 1]},
|
||||
{"x": 2, "y": 2, "matrix": [2, 2]},
|
||||
{"x": 3, "y": 2, "matrix": [2, 3]},
|
||||
{"x": 4, "y": 2, "matrix": [2, 4]},
|
||||
{"x": 5, "y": 2, "matrix": [2, 5]},
|
||||
{"x": 14, "y": 2, "matrix": [8, 0]},
|
||||
{"x": 15, "y": 2, "matrix": [8, 1]},
|
||||
{"x": 16, "y": 2, "matrix": [8, 2]},
|
||||
{"x": 17, "y": 2, "matrix": [8, 3]},
|
||||
{"x": 18, "y": 2, "matrix": [8, 4]},
|
||||
{"x": 19, "y": 2, "matrix": [8, 5]},
|
||||
{"matrix": [1, 0], "x": 0, "y": 1},
|
||||
{"matrix": [1, 1], "x": 1, "y": 1},
|
||||
{"matrix": [1, 2], "x": 2, "y": 1},
|
||||
{"matrix": [1, 3], "x": 3, "y": 1},
|
||||
{"matrix": [1, 4], "x": 4, "y": 1},
|
||||
{"matrix": [1, 5], "x": 5, "y": 1},
|
||||
|
||||
{"x": 0, "y": 3, "matrix": [3, 0]},
|
||||
{"x": 1, "y": 3, "matrix": [3, 1]},
|
||||
{"x": 2, "y": 3, "matrix": [3, 2]},
|
||||
{"x": 3, "y": 3, "matrix": [3, 3]},
|
||||
{"x": 4, "y": 3, "matrix": [3, 4]},
|
||||
{"x": 5, "y": 3, "matrix": [3, 5]},
|
||||
{"x": 14, "y": 3, "matrix": [9, 0]},
|
||||
{"x": 15, "y": 3, "matrix": [9, 1]},
|
||||
{"x": 16, "y": 3, "matrix": [9, 2]},
|
||||
{"x": 17, "y": 3, "matrix": [9, 3]},
|
||||
{"x": 18, "y": 3, "matrix": [9, 4]},
|
||||
{"x": 19, "y": 3, "matrix": [9, 5]},
|
||||
{"matrix": [7, 0], "x": 11, "y": 1},
|
||||
{"matrix": [7, 1], "x": 12, "y": 1},
|
||||
{"matrix": [7, 2], "x": 13, "y": 1},
|
||||
{"matrix": [7, 3], "x": 14, "y": 1},
|
||||
{"matrix": [7, 4], "x": 15, "y": 1},
|
||||
{"matrix": [7, 5], "x": 16, "y": 1},
|
||||
|
||||
{"x": 0, "y": 4, "matrix": [4, 0]},
|
||||
{"x": 1, "y": 4, "matrix": [4, 1]},
|
||||
{"x": 2, "y": 4, "matrix": [4, 2]},
|
||||
{"x": 3, "y": 4, "matrix": [4, 3]},
|
||||
{"x": 16, "y": 4, "matrix": [10, 2]},
|
||||
{"x": 17, "y": 4, "matrix": [10, 3]},
|
||||
{"x": 18, "y": 4, "matrix": [10, 4]},
|
||||
{"x": 19, "y": 4, "matrix": [10, 5]},
|
||||
{"matrix": [2, 0], "x": 0, "y": 2},
|
||||
{"matrix": [2, 1], "x": 1, "y": 2},
|
||||
{"matrix": [2, 2], "x": 2, "y": 2},
|
||||
{"matrix": [2, 3], "x": 3, "y": 2},
|
||||
{"matrix": [2, 4], "x": 4, "y": 2},
|
||||
{"matrix": [2, 5], "x": 5, "y": 2},
|
||||
|
||||
{"x": 5, "y": 5, "matrix": [5, 0]},
|
||||
{"x": 6, "y": 5, "matrix": [5, 1]},
|
||||
{"x": 7, "y": 5, "matrix": [5, 2]},
|
||||
{"x": 13, "y": 5, "matrix": [11, 0]},
|
||||
{"x": 14, "y": 5, "matrix": [11, 1]},
|
||||
{"x": 15, "y": 5, "matrix": [11, 2]},
|
||||
{"matrix": [8, 0], "x": 11, "y": 2},
|
||||
{"matrix": [8, 1], "x": 12, "y": 2},
|
||||
{"matrix": [8, 2], "x": 13, "y": 2},
|
||||
{"matrix": [8, 3], "x": 14, "y": 2},
|
||||
{"matrix": [8, 4], "x": 15, "y": 2},
|
||||
{"matrix": [8, 5], "x": 16, "y": 2},
|
||||
|
||||
{"x": 5, "y": 6, "matrix": [5, 3]},
|
||||
{"x": 6, "y": 6, "matrix": [5, 4]},
|
||||
{"x": 7, "y": 6, "matrix": [5, 5]},
|
||||
{"x": 13, "y": 6, "matrix": [11, 3]},
|
||||
{"x": 14, "y": 6, "matrix": [11, 4]},
|
||||
{"x": 15, "y": 6, "matrix": [11, 5]}
|
||||
{"matrix": [3, 0], "x": 0, "y": 3},
|
||||
{"matrix": [3, 1], "x": 1, "y": 3},
|
||||
{"matrix": [3, 2], "x": 2, "y": 3},
|
||||
{"matrix": [3, 3], "x": 3, "y": 3},
|
||||
{"matrix": [3, 4], "x": 4, "y": 3},
|
||||
{"matrix": [3, 5], "x": 5, "y": 3},
|
||||
|
||||
{"matrix": [9, 0], "x": 11, "y": 3},
|
||||
{"matrix": [9, 1], "x": 12, "y": 3},
|
||||
{"matrix": [9, 2], "x": 13, "y": 3},
|
||||
{"matrix": [9, 3], "x": 14, "y": 3},
|
||||
{"matrix": [9, 4], "x": 15, "y": 3},
|
||||
{"matrix": [9, 5], "x": 16, "y": 3},
|
||||
|
||||
{"matrix": [4, 0], "x": 0, "y": 4},
|
||||
{"matrix": [4, 1], "x": 1, "y": 4},
|
||||
{"matrix": [4, 2], "x": 2, "y": 4},
|
||||
{"matrix": [4, 3], "x": 3, "y": 4},
|
||||
|
||||
{"matrix": [10, 2], "x": 13, "y": 4},
|
||||
{"matrix": [10, 3], "x": 14, "y": 4},
|
||||
{"matrix": [10, 4], "x": 15, "y": 4},
|
||||
{"matrix": [10, 5], "x": 16, "y": 4},
|
||||
|
||||
{"matrix": [4, 4], "x": 4, "y": 5},
|
||||
{"matrix": [4, 5], "x": 5, "y": 5},
|
||||
|
||||
{"matrix": [10, 0], "x": 11, "y": 5},
|
||||
{"matrix": [10, 1], "x": 12, "y": 5},
|
||||
|
||||
{"matrix": [5, 4], "x": 6, "y": 6},
|
||||
{"matrix": [5, 5], "x": 7, "y": 6},
|
||||
|
||||
{"matrix": [11, 0], "x": 9, "y": 6},
|
||||
{"matrix": [11, 1], "x": 10, "y": 6},
|
||||
|
||||
{"matrix": [5, 2], "x": 6, "y": 7},
|
||||
{"matrix": [5, 3], "x": 7, "y": 7},
|
||||
|
||||
{"matrix": [11, 2], "x": 9, "y": 7},
|
||||
{"matrix": [11, 3], "x": 10, "y": 7}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,39 +5,45 @@
|
||||
|
||||
enum custom_layers {
|
||||
_QWERTY,
|
||||
_LAYER2,
|
||||
_LOWER,
|
||||
_RAISE
|
||||
};
|
||||
|
||||
#define GUI_J RGUI_T(KC_J)
|
||||
#define GUI_F LGUI_T(KC_F)
|
||||
#define SFT_A LSFT_T(KC_A)
|
||||
#define CTL_S LCTL_T(KC_S)
|
||||
#define ALT_D LALT_T(KC_D)
|
||||
#define ALT_K RALT_T(KC_K)
|
||||
#define CTL_L RCTL_T(KC_L)
|
||||
#define SFT_SC RSFT_T(KC_SCLN)
|
||||
#define IMPORTS LALT(LCTL(KC_O)) //Intellij Organize Imports
|
||||
#define LINES LALT(LGUI(KC_L)) //Intellij Reformat Code
|
||||
#define USAGES LALT(KC_F7) //Intelllj Find Usages
|
||||
#define RENAME LSFT(KC_F6) //Intellij Refactor Rename
|
||||
#define RAISE MO(_RAISE)
|
||||
#define LOWER MO(_LOWER)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT(
|
||||
KC_EQL , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS,
|
||||
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSLS,
|
||||
KC_ESC , SFT_A , CTL_S , ALT_D , GUI_F , KC_G , KC_H , GUI_J , ALT_K , CTL_L , SFT_SC , KC_QUOT,
|
||||
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
|
||||
KC_GRV , KC_INS , KC_LEFT, KC_RGHT, KC_DOWN, KC_UP , KC_LBRC, KC_RBRC,
|
||||
KC_LCTL, KC_LALT, KC_HOME, KC_DEL , KC_PGUP, KC_BSPC,
|
||||
KC_SPC , KC_DEL , KC_END , MO(_LAYER2), KC_PGDN, KC_ENT
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LCTL, KC_LALT, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_RALT, KC_RCTL,
|
||||
RAISE, KC_SPC, KC_ENT, LOWER,
|
||||
KC_HOME, KC_BSPC, KC_DEL, KC_END,
|
||||
KC_PGUP, KC_LGUI, KC_RGUI, KC_PGDN
|
||||
),
|
||||
[_LAYER2] = LAYOUT(
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
|
||||
XXXXXXX, IMPORTS, XXXXXXX, USAGES , RENAME , XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, LINES , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, _______,XXXXXXX, XXXXXXX
|
||||
|
||||
[_LOWER] = LAYOUT(
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
_______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, _______,
|
||||
_______, KC_SCRL, KC_INS, KC_PAUS, KC_PSCR, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______,
|
||||
_______, _______, _______, _______, KC_P0, KC_PDOT, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT(
|
||||
KC_F12, KC_F1, KC_F2, KC_F3 , KC_F4, KC_F5, KC_F6, KC_F7 , KC_F8, KC_F9, KC_F10 , KC_F11,
|
||||
_______, _______, _______, _______, _______, KC_TRNS, KC_TRNS, _______, KC_NUM, _______, _______, KC_MUTE,
|
||||
_______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_VOLU,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Dactyl Manuform
|
||||
# Dactyl Manuform 5x6_68
|
||||
|
||||
This is a 5x6 manuform with a 4 key bottom row and 6 key thumb clusters.
|
||||
This is a Dactyl ManuForm 5x6 with an extended, 4 key, bottom row; totalling 68 keys.
|
||||
|
||||
This results in a 68 key 5x6
|
||||

|
||||
|
||||
@@ -1,13 +1 @@
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
SPLIT_KEYBOARD = yes
|
||||
# This file intentionally left blank
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// WS2812 RGB LED strip input and number of LEDs
|
||||
#define RGBLED_NUM 12
|
||||
@@ -8,6 +8,9 @@
|
||||
"pid": "0x3537",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 12
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D3"
|
||||
},
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
/* Copyright 2019
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// WS2812 RGB LED strip input and number of LEDs
|
||||
#define RGBLED_NUM 12
|
||||
@@ -7,6 +7,9 @@
|
||||
"split": {
|
||||
"soft_serial_pin": "D0"
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 12
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D3"
|
||||
},
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// WS2812 RGB LED strip input and number of LEDs
|
||||
#define RGBLED_NUM 12
|
||||
@@ -8,6 +8,9 @@
|
||||
"pid": "0x3636",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 12
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D3"
|
||||
},
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// WS2812 RGB LED strip input and number of LEDs
|
||||
#define RGBLED_NUM 12
|
||||
@@ -1,52 +0,0 @@
|
||||
// Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
// Copyright 2021 Dmitriy Kuminov (@dmik)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum custom_layers {
|
||||
_QWERTY,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
};
|
||||
|
||||
#define RAISE MO(_RAISE)
|
||||
#define LOWER MO(_LOWER)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT_6x6_kinesis(
|
||||
KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_CAPS,
|
||||
KC_EQL , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS,
|
||||
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSLS,
|
||||
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_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
|
||||
KC_GRV , LOWER , KC_LEFT, KC_RGHT, KC_UP , KC_DOWN, KC_LBRC, KC_RBRC,
|
||||
KC_BSPC, KC_DEL , KC_ENT , KC_SPC ,
|
||||
KC_LGUI, KC_LALT, KC_RCTL, KC_RGUI,
|
||||
KC_END , KC_HOME, KC_PGUP, KC_PGDN
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_6x6_kinesis(
|
||||
_______, KC_F11 , KC_F12 , _______, _______, _______, KC_BRID, KC_BRIU, KC_MUTE, KC_VOLD, KC_VOLU, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_INS , _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_6x6_kinesis(
|
||||
_______, KC_F11 , KC_F12 , _______, _______, _______, KC_BRID, KC_BRIU, KC_MUTE, KC_VOLD, KC_VOLU, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_INS , _______, _______,
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
@@ -1,85 +0,0 @@
|
||||
# Kinesis Advantage Keymap
|
||||
|
||||
## About this keymap
|
||||
|
||||
This keymap is designed after Kinesis Advantage's QWERTY layout with the following key differences:
|
||||
- There are only 10 F-keys in the main layer, F1 and F2 are moved to additional LOWER layer.
|
||||
- The INS key acts like a LOWER layer activation key and Del in LOWER layer ats like INS.
|
||||
- LCtl is placed where CAPS should be and CAPS is moved to a free key after F10.
|
||||
- Brigtness and volume control keys are added to LOWER layer.
|
||||
|
||||
The keymap file also contains RAISE layer but it is currently equivalent to LOWER layer and does
|
||||
not have an activation key mapped. It is intended for possible extensions.
|
||||
|
||||
## Mapping details
|
||||
|
||||
Main QUERTY layer:
|
||||
,-------------------------------------------. ,-------------------------------------------.
|
||||
| ESC | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | CAPS |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| = | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| Tab | Q | W | E | R | T | | Y | U | I | O | P | \ |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| LCtl | A | S | D | F | G | | H | J | K | L | ; | ' |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| LShift | Z | X | C | V | B | | N | M | , | . | / | RShift |
|
||||
`--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
| ` | LOWER| Left | Rght | | Up | Dn | [ | ] |
|
||||
`---------------------------' `---------------------------'
|
||||
,-------------. ,-------------.
|
||||
| LGui | LAlt | | RCtl | RGui |
|
||||
,------|------|------| |------+------+------.
|
||||
| | | Home | | PgUp | | |
|
||||
| BkSp | Del |------| |------|Enter |Space |
|
||||
| | | End | | PgDn | | |
|
||||
`--------------------' `--------------------'
|
||||
|
||||
LOWER layer:
|
||||
,-------------------------------------------. ,-------------------------------------------.
|
||||
| | F11 | F12 | | | | |BriDn |BriUp |VMute |VolDn |VolUp | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | | | | | | | | | | | | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | | | | | | | | | | | | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | | | | | | | | | | | | |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| | | | | | | | | | | | | |
|
||||
`--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
| | | | | | | | | |
|
||||
`---------------------------' `---------------------------'
|
||||
,-------------. ,-------------.
|
||||
| | | | | |
|
||||
,------|------|------| |------+------+------.
|
||||
| | | | | | | |
|
||||
| | INS |------| |------| | |
|
||||
| | | | | | | |
|
||||
`--------------------' `--------------------'
|
||||
|
||||
## Soldering details
|
||||
|
||||
The below picture shows correspondence between the keys and the row/column wires of the left and
|
||||
right halves:
|
||||
|
||||
LOWER layer:
|
||||
,-------------------------------------------. ,-------------------------------------------.
|
||||
| L00 | L01 | L02 | L03 | L04 | L05 | | R00 | R01 | R02 | R03 | R04 | R05 |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| L10 | L11 | L12 | L13 | L14 | L15 | | R10 | R11 | R12 | R13 | R14 | R15 |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| L20 | L21 | L22 | L23 | L24 | L25 | | R20 | R21 | R22 | R23 | R24 | R25 |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| L30 | L31 | L32 | L33 | L34 | L35 | | R30 | R31 | R32 | R33 | R34 | R35 |
|
||||
|--------+------+------+------+------+------| |------+------+------+------+------+--------|
|
||||
| L40 | L41 | L42 | L43 | L44 | L45 | | R40 | R41 | R42 | R43 | R44 | R45 |
|
||||
`--------+------+------+------+------+------' `------+------+------+------+------+--------'
|
||||
| L50 | L51 | L52 | L53 | | R52 | R53 | R54 | R55 |
|
||||
`---------------------------' `---------------------------'
|
||||
,-------------. ,-------------.
|
||||
| L64 | L65 | | R60 | R61 |
|
||||
,------|------|------| |------+------+------.
|
||||
| | | L63 | | R62 | | |
|
||||
| L54 | L55 |------| |------| R50 | R51 |
|
||||
| | | L62 | | R63 | | |
|
||||
`--------------------' `--------------------'
|
||||
@@ -1,13 +0,0 @@
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
SPLIT_KEYBOARD = yes
|
||||
@@ -1,22 +0,0 @@
|
||||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
// WS2812 RGB LED strip input and number of LEDs
|
||||
#define RGBLED_NUM 12
|
||||
@@ -8,21 +8,35 @@
|
||||
"pid": "0x3636",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"features": {
|
||||
"bootmagic": true,
|
||||
"command": true,
|
||||
"console": false,
|
||||
"extrakey": true,
|
||||
"mousekey": true,
|
||||
"nkro": false,
|
||||
"audio": false,
|
||||
"backlight": false,
|
||||
"rgblight": false
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D3"
|
||||
},
|
||||
"matrix_pins": {
|
||||
"cols": ["D4", "C6", "D7", "E6", "B4", "B5", "B7"],
|
||||
"cols": ["D4", "C6", "D7", "E6", "B4", "B5", "D1"],
|
||||
"rows": ["F5", "F6", "F7", "B1", "B3", "B2", "B6"]
|
||||
},
|
||||
"diode_direction": "COL2ROW",
|
||||
"split": {
|
||||
"enabled": true,
|
||||
"soft_serial_pin": "D0"
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "caterina",
|
||||
"rgblight": {
|
||||
"led_count": 12
|
||||
},
|
||||
"development_board": "promicro",
|
||||
"layouts": {
|
||||
"LAYOUT_6x7": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"matrix": [0, 0], "x": 0, "y": 0},
|
||||
{"matrix": [0, 1], "x": 1, "y": 0},
|
||||
|
||||
@@ -12,7 +12,7 @@ enum custom_layer {
|
||||
#define LOWER MO(_LOWER)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT_6x7(
|
||||
[_QWERTY] = LAYOUT(
|
||||
KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10, KC_F11, KC_F12 , _______,
|
||||
_______, KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_LBRC , KC_RBRC,
|
||||
_______, KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_QUOT , KC_BSLS,
|
||||
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_BSPC,KC_GRV, KC_LGUI, KC_LALT
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_6x7(
|
||||
[_LOWER] = LAYOUT(
|
||||
KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 , _______,
|
||||
_______, KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL , _______,
|
||||
_______, _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS, _______,
|
||||
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
_______,_______, _______,_______
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_6x7(
|
||||
[_RAISE] = LAYOUT(
|
||||
_______,KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 , _______,
|
||||
_______,_______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NUM ,KC_INS ,KC_SCRL,KC_MUTE, _______,
|
||||
_______,_______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, _______,
|
||||
|
||||
@@ -10,7 +10,7 @@ enum custom_layer {
|
||||
#define RAISE MO(_RAISE)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTZ] = LAYOUT_6x7(
|
||||
[_QWERTZ] = LAYOUT(
|
||||
KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_HOME,
|
||||
KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_END ,
|
||||
XXXXXXX, KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC,
|
||||
@@ -18,12 +18,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_LCTL, KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_MPLY,
|
||||
KC_LEFT, KC_RGHT, KC_UP , KC_DOWN,
|
||||
KC_SPC , KC_LSFT, KC_RALT, KC_ENT ,
|
||||
|
||||
KC_LGUI, KC_LALT, KC_BSPC, KC_DEL ,
|
||||
KC_PGDN, KC_PGUP, KC_TAB , KC_INS
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_6x7(
|
||||
[_RAISE] = LAYOUT(
|
||||
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
@@ -31,7 +30,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_MPRV, KC_MNXT, KC_VOLU, KC_VOLD,
|
||||
_______, _______, _______, _______,
|
||||
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______, _______
|
||||
)
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
SPLIT_KEYBOARD = yes
|
||||
|
||||
@@ -5,5 +5,3 @@
|
||||
#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#define RGBLIGHT_EFFECT_CHRISTMAS_STEP 1
|
||||
#define RGBLED_NUM 6 // Used when chaining strips
|
||||
#define RGBLED_SPLIT { 3, 3 } // Used when not chaining strips
|
||||
|
||||
@@ -10,6 +10,10 @@
|
||||
"pid": "0x3632",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 6,
|
||||
"split_count": [3, 3]
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D1"
|
||||
},
|
||||
|
||||
@@ -1,188 +1,112 @@
|
||||
# Dactyl Manuform (4x5, 5x6, 5x7, 6x6, 6x7)
|
||||
# Dactyl ManuForm
|
||||
|
||||
the [Dactyl-Manuform](https://github.com/tshort/dactyl-keyboard) is a split curved keyboard based on the design of [adereth dactyl](https://github.com/adereth/dactyl-keyboard) and thumb cluster design of the [manuform](https://geekhack.org/index.php?topic=46015.0) keyboard, the hardware is similar to the let's split keyboard. all information needed for making one is in the first link.
|
||||

|
||||

|
||||
*Pair of Dactyl Manuform 4x6*
|
||||
|
||||
## First Time Setup
|
||||
Forked from the [Dactyl](/keyboards/handwired/dactyl), the *Dactyl ManuForm* is a parameterized, handwired, split bodied, tented, concave key-well design that incorporates the thumb cluster from the [ManuForm](https://geekhack.org/index.php?topic=46015.0).
|
||||
|
||||
Download or clone the `qmk_firmware` repo and navigate to its top level directory. Once your build environment is setup, you'll be able to generate the default .hex using:
|
||||
* Keyboard Maintainer: [Tom Short](https://github.com/tshort)
|
||||
* Hardware Supported: Pro Micro, or clone of
|
||||
* Hardware Availability: [Github](https://github.com/tshort/dactyl-keyboard)
|
||||
|
||||
Depending on your Layout chose one of the follwing commands:
|
||||
## Variants
|
||||
|
||||
```
|
||||
$ make handwired/dactyl_manuform/YOUR_LAYOUT:YOUR_KEYMAP_NAME
|
||||
```
|
||||
*Dactyl ManuForm's* are built in variations that cater for different row and column counts, and thumb clusters.
|
||||
|
||||
example:
|
||||
As standard:
|
||||
- The finger keywell bottom row has 2 keys, 1 each in ring and middle columns
|
||||
- Exception to this rule is the `5x7` variant - that has two additional keys, per half, in this row
|
||||
- The thumb cluster has 6 keys, arranged in a staggered 2 columns by 3 rows
|
||||
|
||||
```
|
||||
$ make handwired/dactyl_manuform/4x5:default
|
||||
```
|
||||
Variants are denoted as `RowCount`*x*`ColumnCount`*(_`Alteration`)*
|
||||
|
||||
If everything worked correctly you will see a file:
|
||||
### Row
|
||||
| Count | Description |
|
||||
| :---: | :---: |
|
||||
| 4 | Three rows, typically for alphabet and some puncuation characters, with 2 key (finger keywell) bottom row |
|
||||
| 5 | As *4 row* with number row above |
|
||||
| 6 | As *5 row* with function row above |
|
||||
|
||||
```
|
||||
dactyl_manuform_YOUR_LAYOUT_YOUR_KEYMAP_NAME.hex
|
||||
```
|
||||
### Column
|
||||
| Count | Description |
|
||||
| :---: | :---: |
|
||||
| 5 | A column for each finger with additional column for first finger |
|
||||
| 6 | As *5 column* with additional pinky finger column |
|
||||
| 7 | As *6 column* with either an additional first finger column (`5x7`) or additional pinky column (`6x7`) |
|
||||
|
||||
For more information on customizing keymaps, take a look at the primary documentation for [Customizing Your Keymap](/docs/faq_keymap.md) in the main readme.md.
|
||||
### Alteration
|
||||
| Code | Description |
|
||||
| :---: | :---: |
|
||||
| 5 | Thumb cluster replaced with five key thumb cluster of [Dactyl Manuform Mini](https://github.com/l4u/dactyl-manuform-mini-keyboard) |
|
||||
| 2_5 | Same as code *5* with two additional keys added to finger key-well bottom row |
|
||||
|
||||
## Case Files Generator
|
||||
|
||||
[Dactyl Generator](https://ryanis.cool/dactyl), created by [rianadon](https://github.com/rianadon), is a web based file generator that negates having to compose case files using programming languages, which was the matter when using the original *Dactyl* and *Dactyl ManuForm* GitHub repos, by instead compiling case files based on options and parameters configured in a web front end.
|
||||
|
||||
## Compile
|
||||
|
||||
Make example for this keyboard (after setting up your build environment) in the 5x6 variant:
|
||||
|
||||
make handwired/dactyl_manuform/5x6:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make handwired/dactyl_manuform/5x6:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Keymaps
|
||||
|
||||
### [Keymaps 4x5](/keyboards/handwired/dactyl_manuform/4x5/keymaps/)
|
||||
### Default
|
||||
|
||||
#### Default
|
||||
The default functional layout, based on QWERTY, and every variant has this keymap; used as a starting point/template for custom keymaps and for debugging purposes when soldering key matrix to controller.
|
||||
|
||||
Simple QWERTY layout with 3 Layers.
|
||||
### VIA
|
||||
Similar to *Default* but adds support for the [VIA](https://usevia.app/) keymap configurator. Layer count set to 4 to comply with VIA defaults, and remaps keys to accommodate this constraint, if applicable.
|
||||
|
||||
#### Dvorak
|
||||
Variants with VIA support:
|
||||
- 4x6
|
||||
- 5x6_5
|
||||
- 5x7
|
||||
|
||||
### [Keymaps 5x6](/keyboards/handwired/dactyl_manuform/5x6/keymaps/)
|
||||
### Miryoku
|
||||
|
||||
#### Default
|
||||
For more information on this layout schematic, please see the [Miryoku Reference Manual](https://github.com/manna-harbour/miryoku/tree/master/docs/reference).
|
||||
For QMK specifics, please see [Miryoku QMK](https://github.com/manna-harbour/miryoku_qmk/tree/miryoku/users/manna-harbour_miryoku).
|
||||
|
||||
Just a copy of the Impstyle keymap. Feel free to adjust it.
|
||||
Variants with *Miryoku* support:
|
||||
- 4x5
|
||||
- 4x5_5
|
||||
- 4x6
|
||||
- 4x6_5
|
||||
- 5x6
|
||||
|
||||
#### Impstyle
|
||||
## Non-Pro Micro Controller Compilation
|
||||
|
||||
A simple QWERTY keymap with 3 Layers. Both sides are connected via serial and the Left ist the master.
|
||||
|
||||
### [Keymaps 5x6_5](/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/)
|
||||
|
||||
Similar layout to 5x6 but with only 5 thumb keys per side instead of 6.
|
||||
|
||||
#### Default
|
||||
QWERTY layout with 7 Layers.
|
||||
|
||||
#### Via
|
||||
Similar to Default but adds support for the [Via](https://www.caniusevia.com/) keymap configurator. Reduces the number of layers to 4 to comply with Via defaults, and remaps
|
||||
some keys to accomodate that constraint.
|
||||
|
||||
### [Keymaps 5x7 aka almost Ergodox](/keyboards/handwired/dactyl_manuform/5x7/keymaps/)
|
||||
|
||||
#### Default
|
||||
|
||||
Keymap of Loligagger from geekhack.
|
||||
|
||||
### [Keymaps 6x6](/keyboards/handwired/dactyl_manuform/6x6/keymaps/)
|
||||
|
||||
#### Default
|
||||
|
||||
Simple QWERTY layout with 3 Layers.
|
||||
|
||||
### [Keymaps 6x7](/keyboards/handwired/dactyl_manuform/6x7/keymaps/)
|
||||
|
||||
#### Default
|
||||
|
||||
Simple QWERTY layout with 3 Layers.
|
||||
|
||||
### [Keymaps 3x5_3](/keyboards/handwired/dactyl_manuform/3x5_3/keymaps/)
|
||||
|
||||
#### Dlford
|
||||
|
||||
QWERTY/Colemak layout with per key RGB and other features
|
||||
|
||||
## Required Hardware
|
||||
|
||||
Apart from diodes and key switches for the keyboard matrix in each half, you
|
||||
will need:
|
||||
|
||||
- 2 Arduino Pro Micros. You can find these on AliExpress for ≈3.50USD each.
|
||||
- 2 TRRS sockets and 1 TRRS cable, or 2 TRS sockets and 1 TRS cable
|
||||
|
||||
Alternatively, you can use any sort of cable and socket that has at least 3
|
||||
wires. If you want to use I2C to communicate between halves, you will need a
|
||||
cable with at least 4 wires and 2x 4.7kΩ pull-up resistors
|
||||
|
||||
## Optional Hardware
|
||||
|
||||
A speaker can be hooked-up to either side to the `5` (`C6`) pin and `GND`, and turned on via `AUDIO_ENABLE`.
|
||||
|
||||
## Wiring
|
||||
|
||||
The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and digital pin 3 (i.e.
|
||||
PD0 on the ATmega32u4) between the two Pro Micros.
|
||||
|
||||
Next, wire your key matrix to any of the remaining 17 IO pins of the pro micro
|
||||
and modify the `matrix.c` accordingly.
|
||||
|
||||
The wiring for serial:
|
||||
|
||||

|
||||
|
||||
The wiring for i2c:
|
||||
|
||||

|
||||
|
||||
The pull-up resistors may be placed on either half. It is also possible
|
||||
to use 4 resistors and have the pull-ups in both halves, but this is
|
||||
unnecessary in simple use cases.
|
||||
|
||||
You can change your configuration between serial and i2c by modifying your `config.h` file.
|
||||
|
||||
## Notes on Software Configuration
|
||||
|
||||
the keymaps in here are for the 4x5 layout of the keyboard only.
|
||||
If building a Dactyl Manuform with controllers that aren't a pro micro, the Converter feature of QMK will allow compilation of firmware for the intended variant and supported controller without having to create a new QMK keyboard/keymap.
|
||||
Please see [Converters](https://docs.qmk.fm/#/feature_converters?id=supported-converters) documentation for list of controllers that are supported converting from `pro_micro` and how to implement conversion.
|
||||
|
||||
## Flashing
|
||||
|
||||
To flash your firmware take a look at: [Flashing Instructions and Bootloader Information](https://docs.qmk.fm/#/flashing)
|
||||
To flash your board with generated firmware file, please see [Flashing Instructions and Bootloader Information](https://docs.qmk.fm/#/flashing)
|
||||
|
||||
## Choosing which board to plug the USB cable into (choosing Master)
|
||||
## Handedness configurations
|
||||
|
||||
Because the two boards are identical, the firmware has logic to differentiate the left and right board.
|
||||
See [Handedness](https://docs.qmk.fm/#/config_options?id=setting-handedness) documentation for more information on configuring handedness/master half.
|
||||
|
||||
It uses two strategies to figure things out: looking at the EEPROM (memory on the chip) or looking if the current board has the usb cable.
|
||||
|
||||
The EEPROM approach requires additional setup (flashing the eeprom) but allows you to swap the usb cable to either side.
|
||||
|
||||
The USB cable approach is easier to setup and if you just want the usb cable on the left board, you do not need to do anything extra.
|
||||
|
||||
### Setting the left hand as master
|
||||
|
||||
If you always plug the usb cable into the left board, nothing extra is needed as this is the default. Comment out `EE_HANDS` and comment out `I2C_MASTER_RIGHT` or `MASTER_RIGHT` if for some reason it was set.
|
||||
|
||||
### Setting the right hand as master
|
||||
|
||||
If you always plug the usb cable into the right board, add an extra flag to your `config.h`
|
||||
## VIA Configuration
|
||||
|
||||
Variants with a `via` keymap are VIA capable.
|
||||
Compile firmware, for [enabled variant](#via), with it's `via` keymap and flash board with this firmware file.
|
||||
```
|
||||
#define MASTER_RIGHT
|
||||
qmk compile -kb handwired/dactyl_manuform/4x6 -km via
|
||||
```
|
||||
|
||||
### Setting EE_hands to use either hands as master
|
||||
## Bootloader
|
||||
|
||||
If you define `EE_HANDS` in your `config.h`, you will need to set the
|
||||
EEPROM for the left and right halves.
|
||||
Enter the bootloader in 3 ways:
|
||||
|
||||
The EEPROM is used to store whether the
|
||||
half is left handed or right handed. This makes it so that the same firmware
|
||||
file will run on both hands instead of having to flash left and right handed
|
||||
versions of the firmware to each half. To flash the EEPROM file for the left
|
||||
half run:
|
||||
|
||||
```
|
||||
make handwired/dactyl_promicro:default:dfu-split-left
|
||||
make handwired/dactyl_promicro:default:dfu-split-right
|
||||
```
|
||||
|
||||
After you have flashed the EEPROM, you then need to set `EE_HANDS` in your config.h, rebuild the hex files and reflash.
|
||||
|
||||
Note that you need to program both halves, but you have the option of using
|
||||
different keymaps for each half. You could program the left half with a QWERTY
|
||||
layout and the right half with a Colemak layout using bootmagic's default layout option.
|
||||
Then if you connect the left half to a computer by USB the keyboard will use QWERTY and Colemak when the
|
||||
right half is connected.
|
||||
|
||||
## Notes on Using Pro Micro 3.3V
|
||||
|
||||
Do update the `F_CPU` parameter in `rules.mk` to `8000000` which reflects
|
||||
the frequency on the 3.3V board.
|
||||
|
||||
Also, if the slave board is producing weird characters in certain columns,
|
||||
update the following line in `matrix.c` to the following:
|
||||
|
||||
```
|
||||
// wait_us(30); // without this wait read unstable value.
|
||||
wait_us(300); // without this wait read unstable value.
|
||||
```
|
||||
* **Bootmagic reset**: If enabled, hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB or controller - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
|
||||
@@ -33,8 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
/* Enables This makes it easier for fast typists to use dual-function keys */
|
||||
#define PERMISSIVE_HOLD
|
||||
|
||||
#define RGBLED_NUM 12 // Number of LEDs
|
||||
|
||||
/*
|
||||
* Feature disable options
|
||||
* These options are also useful to firmware size reduction.
|
||||
|
||||
@@ -16,6 +16,9 @@
|
||||
"split": {
|
||||
"soft_serial_pin": "D0"
|
||||
},
|
||||
"rgblight": {
|
||||
"led_count": 12
|
||||
},
|
||||
"ws2812": {
|
||||
"pin": "D3"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,22 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
/*
|
||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
||||
Copyright 2015 Jack Humbert
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define _QWERTY 0
|
||||
#define _LOWER 1
|
||||
|
||||
@@ -1,93 +1,30 @@
|
||||
# Dactyl with Arduino Pro Micro
|
||||
# Dactyl (Pro Micro)
|
||||
|
||||
See https://github.com/adereth/dactyl-keyboard for the original Version.
|
||||

|
||||
|
||||
This Dactyl uses the Arduino Pro Mirco (2x).
|
||||
Wiring is a 6x6 Matrix like the [Dactyl Manuform](https://github.com/qmk/qmk_firmware/tree/master/keyboards/handwired/dactyl_manuform)
|
||||
A split body, concave shaped key well, columnar keyboard with a 6 key thumb cluster that takes inspiration from the Kinesis Advantage keyboard range. This rendition of the *Dactyl* requires two micro controllers rather than the [original implementation](/keyboards/handwired/dactyl/) of a micro controller and I/O expander.
|
||||
|
||||
* Keyboard Maintainer: [Matt Adereth](https://github.com/adereth)
|
||||
* Hardware Supported: Pro Micro controller, or clones of
|
||||
* Hardware Availability: [GitHub](https://github.com/adereth/dactyl-keyboard)
|
||||
|
||||
## Build the Firmware:
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
- Build the firmware with `make handwired/dactyl_promicro:<keymapname>`, for example `make handwired/dactyl:default`
|
||||
- This will result in a hex file called `handwired_dactyl_promicro_<keymapname>.hex`, e.g.
|
||||
`handwired_dactyl_promicro_default.hex`
|
||||
make handwired/dactyl_promicro:default
|
||||
|
||||
How to setup your build enviroment can be found here: [Installing Build Tools](https://docs.qmk.fm/#/getting_started_build_tools)
|
||||
Flashing example for this keyboard:
|
||||
|
||||
## Required Hardware
|
||||
make handwired/dactyl_promicro:default:flash
|
||||
|
||||
Apart from diodes and key switches for the keyboard matrix in each half, you
|
||||
will need:
|
||||
|
||||
* 2 Arduino Pro Micros. You can find these on AliExpress for ≈3.50USD each.
|
||||
* 2 TRRS sockets and 1 TRRS cable, or 2 TRS sockets and 1 TRS cable
|
||||
|
||||
Alternatively, you can use any sort of cable and socket that has at least 3
|
||||
wires. If you want to use I2C to communicate between halves, you will need a
|
||||
cable with at least 4 wires and 2x 4.7kΩ pull-up resistors
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
## Optional Hardware
|
||||
|
||||
A speaker can be hooked-up to either side to the `5` (`C6`) pin and `GND`, and turned on via `AUDIO_ENABLE`.
|
||||
|
||||
## Wiring
|
||||
## Bootloader
|
||||
|
||||
The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and digital pin 3 (i.e.
|
||||
PD0 on the ATmega32u4) between the two Pro Micros.
|
||||
Enter the bootloader in 2 ways:
|
||||
|
||||
Next, wire your key matrix to any of the remaining 17 IO pins of the pro micro
|
||||
and modify the `matrix.c` accordingly.
|
||||
|
||||
The wiring for serial:
|
||||
|
||||

|
||||
|
||||
The wiring for i2c:
|
||||
|
||||

|
||||
|
||||
The pull-up resistors may be placed on either half. It is also possible
|
||||
to use 4 resistors and have the pull-ups in both halves, but this is
|
||||
unnecessary in simple use cases.
|
||||
|
||||
You can change your configuration between serial and i2c by modifying your `config.h` file.
|
||||
|
||||
## Notes on Software Configuration
|
||||
|
||||
the keymaps in here are for the 4x5 layout of the keyboard only.
|
||||
|
||||
## Flashing
|
||||
|
||||
To flash your firmware take a look at: [Flashing Instructions and Bootloader Information](https://docs.qmk.fm/#/flashing).
|
||||
|
||||
Under Windows the most convenient way is installing the [QMK Drivers](https://github.com/qmk/qmk_driver_installer/releases) and use the [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases).
|
||||
|
||||
|
||||
## Choosing which board to plug the USB cable into (choosing Master)
|
||||
|
||||
### Setting the right or left hand as master
|
||||
|
||||
If you always plug the usb cable into the right board, add an extra flag to your `config.h`
|
||||
```
|
||||
#define MASTER_RIGHT
|
||||
```
|
||||
|
||||
OR
|
||||
|
||||
```
|
||||
#define MASTER_LEFT
|
||||
```
|
||||
|
||||
|
||||
Notes on Using Pro Micro 3.3V
|
||||
-----------------------------
|
||||
|
||||
Do update the `F_CPU` parameter in `rules.mk` to `8000000` which reflects
|
||||
the frequency on the 3.3V board.
|
||||
|
||||
Also, if the slave board is producing weird characters in certain columns,
|
||||
update the following line in `matrix.c` to the following:
|
||||
|
||||
```
|
||||
// _delay_us(30); // without this wait read unstable value.
|
||||
_delay_us(300); // without this wait read unstable value.
|
||||
```
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
|
||||
|
||||
@@ -24,9 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define MOUSEKEY_MAX_SPEED 7
|
||||
#define MOUSEKEY_WHEEL_DELAY 0
|
||||
|
||||
/* layer config */
|
||||
#define TAPPING_TOGGLE 1
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
|
||||
|
||||
@@ -18,6 +18,9 @@
|
||||
},
|
||||
"processor": "atmega32u4",
|
||||
"bootloader": "caterina",
|
||||
"tapping": {
|
||||
"toggle": 1
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_6x6": {
|
||||
"layout": [
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
// Copyright 2022 bwprobably
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
/*
|
||||
* 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 TAP_CODE_DELAY 100
|
||||
@@ -28,6 +28,9 @@
|
||||
{"pin_a": "D1", "pin_b": "D0"}
|
||||
]
|
||||
},
|
||||
"qmk": {
|
||||
"tap_keycode_delay": 100
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user