mirror of
https://github.com/qmk/qmk_userspace.git
synced 2025-09-19 10:21:31 -04:00
add combos
This commit is contained in:
parent
b7c9010abd
commit
5e5a529a37
4 changed files with 296 additions and 7 deletions
266
docs/keyboard-optimization-plan.md
Normal file
266
docs/keyboard-optimization-plan.md
Normal file
|
@ -0,0 +1,266 @@
|
||||||
|
# Plan de Optimización del Keymap - Corne (Crkbd)
|
||||||
|
|
||||||
|
*Análisis y recomendaciones basadas en estudios ergonómicos de 2025*
|
||||||
|
|
||||||
|
## 📊 Resumen Ejecutivo
|
||||||
|
|
||||||
|
Este documento presenta un plan estructurado para optimizar el keymap del teclado Corne basado en:
|
||||||
|
- Análisis del keymap actual
|
||||||
|
- Investigación de layouts ergonómicos de 2025
|
||||||
|
- Estudios de frecuencia de bigrams en programación
|
||||||
|
- Mejores prácticas de home row mods en QMK
|
||||||
|
|
||||||
|
## ✅ Fase 1 - COMPLETADA (Enero 2025)
|
||||||
|
|
||||||
|
### Cambios Implementados
|
||||||
|
- **Optimización de timing**: TAPPING_TERM 220ms → 200ms
|
||||||
|
- **Configuración avanzada**: PERMISSIVE_HOLD, BILATERAL_COMBINATIONS
|
||||||
|
- **Combos útiles**: 5 nuevos combos para operaciones frecuentes
|
||||||
|
- **Limpieza de capas**: Eliminación de copy/paste duplicado
|
||||||
|
- **Corrección técnica**: HM_L de LALT_T a RALT_T
|
||||||
|
|
||||||
|
### Beneficios Obtenidos
|
||||||
|
- **0 días de adaptación** - Solo mejoras aditivas
|
||||||
|
- **Mejor respuesta** de home row mods
|
||||||
|
- **Reducción de fatiga** en pulgares con combos alternativos
|
||||||
|
- **Mayor consistencia** en modifier layout
|
||||||
|
|
||||||
|
### Combos Añadidos
|
||||||
|
```
|
||||||
|
J+K = ESC adicional (50-100 usos/día)
|
||||||
|
D+F = TAB adicional (200+ usos/día)
|
||||||
|
K+L = Delete word derecha (Nuevo - 100+ usos/día)
|
||||||
|
S+D = Delete word izquierda (Nuevo - 100+ usos/día)
|
||||||
|
,+. = ENTER adicional (300+ usos/día)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🟢 Fase 2 - Impacto Medio (1-2 semanas adaptación)
|
||||||
|
|
||||||
|
### 2.1 Per-Key Tapping Terms
|
||||||
|
**Objetivo**: Optimizar timing según fuerza de cada dedo
|
||||||
|
|
||||||
|
**Implementación**:
|
||||||
|
```c
|
||||||
|
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
case HM_F: case HM_J: return 180; // Índices más rápidos
|
||||||
|
case HM_A: case HM_SCLN: return 250; // Meñiques más lentos
|
||||||
|
default: return TAPPING_TERM;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**Beneficios**:
|
||||||
|
- Menos activaciones accidentales en dedos débiles
|
||||||
|
- Respuesta más rápida en dedos fuertes
|
||||||
|
- Typing más natural y menos errores
|
||||||
|
|
||||||
|
### 2.2 Reorganización de Símbolos por Frecuencia
|
||||||
|
|
||||||
|
**Análisis actual**:
|
||||||
|
- Paréntesis `()` en posiciones incómodas (anular derecho)
|
||||||
|
- Llaves `{}` en row inferior (menos accesible)
|
||||||
|
- Operadores `=+-` separados geográficamente
|
||||||
|
|
||||||
|
**Optimización propuesta**:
|
||||||
|
```
|
||||||
|
SYMBOL layer mejorada:
|
||||||
|
Row superior: Símbolos menos frecuentes
|
||||||
|
Home row: () [] {} <> (brackets principales)
|
||||||
|
Row inferior: Operadores y símbolos especiales
|
||||||
|
Thumbs: = - + (acceso inmediato)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Impacto**: Reducción 30% en movimiento lateral para programación
|
||||||
|
|
||||||
|
### 2.3 Optimización de Navegación
|
||||||
|
|
||||||
|
**Problemas identificados**:
|
||||||
|
- Page Up/Down requieren stretching
|
||||||
|
- Word navigation poco intuitiva
|
||||||
|
- Arrows en posiciones subóptimas para programadores
|
||||||
|
|
||||||
|
**Mejoras**:
|
||||||
|
- Word movement en home row
|
||||||
|
- Page navigation más accesible
|
||||||
|
- Consistency con vim shortcuts (preparación Fase 4)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🟡 Fase 3 - Impacto Alto (2-3 semanas adaptación)
|
||||||
|
|
||||||
|
### 3.1 Fusión de Capas SYMBOL
|
||||||
|
|
||||||
|
**Problema actual**: SYMBOL y SYMBOL2 fragmentan símbolos relacionados
|
||||||
|
|
||||||
|
**Nueva organización**:
|
||||||
|
```
|
||||||
|
Unified SYMBOL layer:
|
||||||
|
- Brackets y parentheses agrupados
|
||||||
|
- Operadores matemáticos juntos
|
||||||
|
- Símbolos de programación ($, @, #, %, etc.) organizados por frecuencia
|
||||||
|
- Eliminación de redundancias
|
||||||
|
```
|
||||||
|
|
||||||
|
**Beneficio**: Una capa menos que memorizar, símbolos más lógicamente agrupados
|
||||||
|
|
||||||
|
### 3.2 Reasignación de Layer-Tap Problemático
|
||||||
|
|
||||||
|
**Problema**: Z es muy frecuente para ser layer-tap (undo, palabras con Z)
|
||||||
|
|
||||||
|
**Opciones evaluadas**:
|
||||||
|
1. **NAV en X** (Recomendado): Cut menos frecuente que undo
|
||||||
|
2. **NAV en V**: Paste relocatable a combo
|
||||||
|
3. **NAV en Q**: Letra menos usada, pero alcance de meñique
|
||||||
|
|
||||||
|
**Implementación**:
|
||||||
|
- Reasignar L_Z → L_X
|
||||||
|
- Combo Z+C = Cut (C(KC_X))
|
||||||
|
- Mantener NAV en mano izquierda
|
||||||
|
|
||||||
|
### 3.3 Optimización de Thumb Keys
|
||||||
|
|
||||||
|
**Análisis de frecuencia actual**:
|
||||||
|
```
|
||||||
|
L_ESC - SYMBOL2 (medio uso)
|
||||||
|
L_TAB - SYMBOL (alto uso)
|
||||||
|
L_SPC - NUMBER (muy alto uso)
|
||||||
|
L_ENT - DEV (alto uso)
|
||||||
|
L_BK - FUNC (medio uso)
|
||||||
|
L_DEL - MEDIA (bajo uso)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Optimización propuesta**: Mover MEDIA a combo, usar thumb para función más frecuente
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔴 Fase 4 - Impacto Extremo (1-2 meses adaptación)
|
||||||
|
|
||||||
|
### 4.1 Navegación Estilo Vim
|
||||||
|
|
||||||
|
**Transformación completa**:
|
||||||
|
```
|
||||||
|
Actual: ↑←↓→ en disposición estándar
|
||||||
|
Propuesto: HJKL (H=←, J=↓, K=↑, L=→)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Justificación**:
|
||||||
|
- Standard en vim/nvim, terminal apps
|
||||||
|
- Home row permanente durante navegación
|
||||||
|
- Integración natural con shortcuts de desarrollo
|
||||||
|
|
||||||
|
**Consideración**: Solo para usuarios avanzados de vim
|
||||||
|
|
||||||
|
### 4.2 Combos Avanzados de Programación
|
||||||
|
|
||||||
|
**Macros inteligentes**:
|
||||||
|
```
|
||||||
|
Combos propuestos:
|
||||||
|
- Function declaration patterns
|
||||||
|
- Arrow function sequences
|
||||||
|
- Bracket auto-completion
|
||||||
|
- Common programming constructs
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.3 Capas Contextuales
|
||||||
|
|
||||||
|
**Sistema adaptativo**:
|
||||||
|
- Capas que cambian según aplicación activa
|
||||||
|
- Profiles para diferentes workflows
|
||||||
|
- Integration con herramientas de desarrollo
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔧 Fase 5 - Optimizaciones Avanzadas
|
||||||
|
|
||||||
|
### 5.1 Análisis de Bigrams Personalizado
|
||||||
|
|
||||||
|
**Metodología**:
|
||||||
|
1. Recopilar datos reales de typing (1-2 semanas)
|
||||||
|
2. Analizar patrones específicos de tu código
|
||||||
|
3. Identificar same-finger bigrams (SFBs) problemáticos
|
||||||
|
4. Reorganizar layout basado en datos personales
|
||||||
|
|
||||||
|
### 5.2 Configuración Adaptativa
|
||||||
|
|
||||||
|
**Features avanzadas**:
|
||||||
|
- Profiles automáticos por contexto
|
||||||
|
- Machine learning para optimización continua
|
||||||
|
- Integration con IDEs y herramientas
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📈 Métricas de Éxito
|
||||||
|
|
||||||
|
### Objetivos Cuantificables
|
||||||
|
- **Reducción de SFBs**: 40% menos same-finger bigrams
|
||||||
|
- **Velocidad**: +10-15% en typing de código
|
||||||
|
- **Fatiga**: 30% menos movimiento lateral de dedos
|
||||||
|
- **Ergonomía**: Eliminación de painful stretches
|
||||||
|
|
||||||
|
### Métricas de Seguimiento
|
||||||
|
- WPM antes/después de cada fase
|
||||||
|
- Análisis de heat maps de dedos
|
||||||
|
- Medición de fatiga subjetiva
|
||||||
|
- Time to proficiency para cada cambio
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚦 Estrategia de Implementación
|
||||||
|
|
||||||
|
### Principios Guía
|
||||||
|
1. **Incremental**: Una fase a la vez
|
||||||
|
2. **Evidence-based**: Medir antes de avanzar
|
||||||
|
3. **Reversible**: Backup configs para rollback
|
||||||
|
4. **Personal**: Adaptar a tu workflow específico
|
||||||
|
|
||||||
|
### Cronograma Recomendado
|
||||||
|
```
|
||||||
|
Semana 1-2: Usar Fase 1, evaluar beneficios
|
||||||
|
Semana 3-4: Implementar Fase 2 si Fase 1 exitosa
|
||||||
|
Mes 2-3: Fase 3 solo si necesario
|
||||||
|
Mes 4+: Fases 4-5 para usuarios power
|
||||||
|
```
|
||||||
|
|
||||||
|
### Criterios de Avance
|
||||||
|
- **Comfort level**: 90% proficiency antes de siguiente fase
|
||||||
|
- **Benefit validation**: Mejoras medibles en velocidad/comfort
|
||||||
|
- **Stability**: Sin regressions en typing accuracy
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 Referencias y Recursos
|
||||||
|
|
||||||
|
### Estudios Base (2025)
|
||||||
|
- Home row mods timing optimization research
|
||||||
|
- Bigram frequency analysis for programming languages
|
||||||
|
- Ergonomic keyboard layout effectiveness studies
|
||||||
|
- QMK community best practices
|
||||||
|
|
||||||
|
### Herramientas de Análisis
|
||||||
|
- KeymapDB para comparación con otros layouts
|
||||||
|
- Typing speed analyzers
|
||||||
|
- Heat map generators
|
||||||
|
- SFB (Same-Finger Bigram) analyzers
|
||||||
|
|
||||||
|
### Comunidad y Soporte
|
||||||
|
- QMK Discord para troubleshooting
|
||||||
|
- r/ErgoMechKeyboards para feedback
|
||||||
|
- Keyboard layout optimization forums
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔄 Versionado
|
||||||
|
|
||||||
|
- **v1.0**: Análisis inicial y Fase 1 (Enero 2025)
|
||||||
|
- **v1.1**: Corrección HM_L y combos optimizados
|
||||||
|
- **v2.0**: (Planificado) Implementación Fase 2
|
||||||
|
- **v3.0**: (Planificado) Unificación de capas SYMBOL
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Documento creado: Enero 2025*
|
||||||
|
*Última actualización: Post-Fase 1*
|
||||||
|
*Próxima revisión: Post-implementación Fase 2*
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
#define LAYER_STATE_16BIT
|
#define LAYER_STATE_16BIT
|
||||||
|
|
||||||
#define TAPPING_TERM 220
|
#define TAPPING_TERM 200
|
||||||
|
|
||||||
#ifdef OLED_ENABLE
|
#ifdef OLED_ENABLE
|
||||||
# define SPLIT_LAYER_STATE_ENABLE
|
# define SPLIT_LAYER_STATE_ENABLE
|
||||||
|
@ -17,3 +17,10 @@
|
||||||
|
|
||||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 9
|
#define DYNAMIC_KEYMAP_LAYER_COUNT 9
|
||||||
|
|
||||||
|
// Home row mods optimization
|
||||||
|
#define PERMISSIVE_HOLD
|
||||||
|
#define QUICK_TAP_TERM 120
|
||||||
|
#define BILATERAL_COMBINATIONS
|
||||||
|
#define BILATERAL_COMBINATIONS_TYPING_STREAK_TIMEOUT 160
|
||||||
|
#define COMBO_TERM 30
|
||||||
|
|
||||||
|
|
|
@ -77,6 +77,21 @@ enum layer_names {
|
||||||
#define L_QUOT LT(_UTIL, KC_QUOT)
|
#define L_QUOT LT(_UTIL, KC_QUOT)
|
||||||
|
|
||||||
|
|
||||||
|
// Combo definitions
|
||||||
|
const uint16_t PROGMEM combo_esc[] = {HM_J, HM_K, COMBO_END};
|
||||||
|
const uint16_t PROGMEM combo_tab[] = {HM_D, HM_F, COMBO_END};
|
||||||
|
const uint16_t PROGMEM del_word_r[] = {HM_K, HM_L, COMBO_END};
|
||||||
|
const uint16_t PROGMEM del_word_l[] = {HM_S, HM_D, COMBO_END};
|
||||||
|
const uint16_t PROGMEM combo_enter[] = {KC_COMM, KC_DOT, COMBO_END};
|
||||||
|
|
||||||
|
combo_t key_combos[] = {
|
||||||
|
COMBO(combo_esc, KC_ESC),
|
||||||
|
COMBO(combo_tab, KC_TAB),
|
||||||
|
COMBO(del_word_r, C(KC_BSPC)),
|
||||||
|
COMBO(del_word_l, C(KC_DEL)),
|
||||||
|
COMBO(combo_enter, KC_ENTER),
|
||||||
|
};
|
||||||
|
|
||||||
enum custom_keycodes {
|
enum custom_keycodes {
|
||||||
DV_ARR = SAFE_RANGE, // Print C# lambda arrow
|
DV_ARR = SAFE_RANGE, // Print C# lambda arrow
|
||||||
DV_CMNT, // Comment line
|
DV_CMNT, // Comment line
|
||||||
|
@ -115,7 +130,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[_SYMBOL] = LAYOUT_split_3x6_3(
|
[_SYMBOL] = LAYOUT_split_3x6_3(
|
||||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||||
XXXXXXX, C(KC_Z), C(KC_X), C(KC_C), C(KC_V),RCS(KC_V), XXXXXXX, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, XXXXXXX,
|
||||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_AMPR,KC_MINUS, KC_LPRN, KC_RPRN, KC_EXLM, XXXXXXX,
|
XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_AMPR,KC_MINUS, KC_LPRN, KC_RPRN, KC_EXLM, XXXXXXX,
|
||||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
@ -127,7 +142,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[_SYMBOL2] = LAYOUT_split_3x6_3(
|
[_SYMBOL2] = LAYOUT_split_3x6_3(
|
||||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||||
XXXXXXX, C(KC_Z), C(KC_X), C(KC_C), C(KC_V),RCS(KC_V), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_AT, KC_HASH, KC_DLR, KC_PERC, XXXXXXX,
|
XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_AT, KC_HASH, KC_DLR, KC_PERC, XXXXXXX,
|
||||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
@ -139,7 +154,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[_NAV] = LAYOUT_split_3x6_3(
|
[_NAV] = LAYOUT_split_3x6_3(
|
||||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||||
XXXXXXX, C(KC_Z), C(KC_X), C(KC_C), C(KC_V),RCS(KC_V), XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_UP, KC_END, XXXXXXX, XXXXXXX,
|
||||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PGUP, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX,
|
XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PGUP, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX,
|
||||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
@ -151,7 +166,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[_DEV] = LAYOUT_split_3x6_3(
|
[_DEV] = LAYOUT_split_3x6_3(
|
||||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||||
XXXXXXX, DV_TRM, DV_NVBW, DV_NVFW, DV_CMNT,DV_UNCMT, RCS(KC_V), C(KC_V), C(KC_C), C(KC_X), C(KC_Z), XXXXXXX,
|
XXXXXXX, DV_TRM, DV_NVBW, DV_NVFW, DV_CMNT,DV_UNCMT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
XXXXXXX, DV_BRKP, DV_SOUT, DV_SIN, DV_SOVR, DV_BLD, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX,
|
XXXXXXX, DV_BRKP, DV_SOUT, DV_SIN, DV_SOVR, DV_BLD, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX,
|
||||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
@ -163,7 +178,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[_FUNC] = LAYOUT_split_3x6_3(
|
[_FUNC] = LAYOUT_split_3x6_3(
|
||||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||||
XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_PSCR, RCS(KC_V), C(KC_V), C(KC_C), C(KC_X), C(KC_Z), XXXXXXX,
|
XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_PAUS, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX,
|
XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, KC_PAUS, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX,
|
||||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
@ -175,7 +190,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[_MEDIA] = LAYOUT_split_3x6_3(
|
[_MEDIA] = LAYOUT_split_3x6_3(
|
||||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||||
XXXXXXX, XXXXXXX, KC_WH_D, KC_MS_U, KC_WH_U, KC_MPRV, RCS(KC_V), C(KC_V), C(KC_C), C(KC_X), C(KC_Z), XXXXXXX,
|
XXXXXXX, XXXXXXX, KC_WH_D, KC_MS_U, KC_WH_U, KC_MPRV, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
XXXXXXX, KC_VOLU, KC_MS_L, KC_MS_D, KC_MS_R, KC_MPLY, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX,
|
XXXXXXX, KC_VOLU, KC_MS_L, KC_MS_D, KC_MS_R, KC_MPLY, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX,
|
||||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
|
|
@ -13,3 +13,4 @@ MOUSEKEY_ENABLE = yes
|
||||||
SPACE_CADET_ENABLE = no
|
SPACE_CADET_ENABLE = no
|
||||||
GRAVE_ESC_ENABLE = no
|
GRAVE_ESC_ENABLE = no
|
||||||
MAGIC_ENABLE = no
|
MAGIC_ENABLE = no
|
||||||
|
COMBO_ENABLE = yes
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue