Custom QMK keymap for Corne Keyboard
Hysp keymap - developed by Álvaro Prieto Lauroba
🇬🇧 Description 🇪🇸 Descripción ⬇️ Descarga / download
Option / Alt al mantener. ⇥ Tab al presionar | |
Command / Control al mantener. - guión al presionarl | |
Control / Windows al mantener. ` Acento inverso al presionar |
Modificador | Comportamiento |
---|---|
Shift pasivo si se presiona en solitario o combinado con cualquiera de los modificadores grises. Capa rosa al ser interrumpido por otra tecla (en combinación). _ Guión bajo tras una pulsación rápida sin interrupciones. ¿Cuál es el propósito de este funcionamiento? Un shift pasivo puede ser util para muchas tareas, como por ejemplo seleccionar múltiples archivos, distorsionar proporcionalmente una imagen en Photoshop, etc. mientras utilizas la mano derecha sobre tu ratón. También puede resultar de utilidad tener un shift en el lado izquierdo para utilizarse en combos de modificadores, como por ejemplo Command+Shift+E. Se ha de utilizar el shift del pulgar derecho para escribir en mayúsculas o alternativamente caps word o caps lock si se quiere escribir una palabra / texto en mayúsculas de manera continuada. | |
Capa morada al mantener. ; Punto y coma al presionar | |
Shift al mantener. ⏎ Enter al presionar. Si se presiona en conjunto con se activa o desactiva el bloqueo de mayúsculas | |
Capa roja al mantener. = Igual al presionar | |
Capa verde al mantener. : Dos puntos al presionar | |
Capa azul al mantener. " Comillas al presionar | |
Capa lima al mantener. ' Apóstrofe al presionar | |
Capa amarilla al mantener. + Más al presionar | |
Tilde inteligente ¿Qué es la tilde inteligente? |
El Corne es un teclado muy compacto, y por ello nos vemos forzados a pensar en mecanismos para reducir el número de teclas necesarias y hacerlo de la manera más útil posible. Se trata de un modificador latente (dead key), que modifica el comportamiento de la siguiente tecla pulsada sin necesidad de mantenerla presionada, es decir, funciona tanto como combinación como secuencia. A diferencia de la tilde, el modificador aplicado depende de la tecla destino, agregando adicionalmente la posibilidad de entrar en modos especiales (caps word, modo borrado, etc...). Es posible que la implementación cambie en el futuro, pero por ahora así es como actúa:
- Como ´ tilde española cuando la siguiente letra es una vocal, por ejemplo camión
- Como ' apóstrofe cuando la siguiente letra puede usarse tras el apóstrofe inglés (s, l, m, d, r, t, c), por ejemplo McDonald's
- Como ñ eñe cuando se pulsa seguida de la letra n, por ejemplo España
- Como g + ¨ diéresis cuando se pulsa seguida de la letra g, por ejemplo cigüeña
- Como tecla de borrado rápido de palabras completas (si se pulsa más de una vez)
- Como $ dolar si se pulsa seguida de un espacio
- Como ; + intro si se pulsa seguido del modificador (útil para programadores)
- Activa el modo Caps word al presionarse en conjunto con . En este modo podrás escribir palabras completas o identificadores de variable en mayúsculas sin necesidad de mantener presionado el shift (útil para programadores)
La tecla hyper , habitualmente se puede utilizar con programas de mapeo de atajos de teclado. Por ejemplo, Hyper + i puede al mismo tiempo significar invertir colores
en Photoshop, indentar
en un editor de código, e itálica
en un procesador de Textos. Misma combinación física de teclas, distintas salidas. Puedes implementar comportamientos como estos empleando programas de terceros como Karabiner-Elements, Hammerspoon, Keyboard Maestro y muchos otros. A grandes rasgos y siguiendo con el ejemplo, el funcionamiento es el siguiente: cuando el programa detecta hyper + i lo traduce en la combinación de teclas deseada en la aplicación que tiene el foco (control + k en el caso de Microsoft Word para poner un texto en itálica).
Cuando el teclado se encuentra en modo hyper
, o hyper lock
se iluminará en un determinado color para hacérnoslo saber, al igual que en cualquiera de los otros posibles modos (bloqueo de mayúsculas, bloqueo numérico, etc.)
El propósito de esta filosofía es múltiple:
- Facilidad para recordar los atajos de teclado
- Independencia del sistema operativo y del programa que recibe el atajo
- Ergonomía al tener que presionar menos teclas o estar mejor ubicadas
- Minimizar el uso de alt, control, etc...
Cursor arriba | Cursor abajo | Cursor derecha | Cursor izquierda |
Página arriba | Página abajo | Palabra a la derecha | Palabra a la izquierda |
Inicio de documento | Fin de documento | Inicio de línea | Fin de línea |
Realizar selecciones es muy sencillo y no es necesario que muevas la mano de su posición de reposo. Para ello, combina cualquiera de las teclas de navegación listadas arriba con el espacio (situado bajo tu pulgar izquierdo) . Al pulsar el espacio combinado con cualquiera de los modificadores , o el espacio actuará como Shift en su lugar para permitir seleccionar caracteres
/ palabras
/ líneas
/ páginas
/ documento
Si alternativamente deseas seleccionarlo todo
, puedes presionar en su lugar.
Borrar | Suprimir | Borrar palabra | Borrar línea | Borrar archivo | Destruir archivo |
Play / pausa | Anterior | Siguiente |
Brillo + | Billo - | Apagar pantalla |
Volumen + | Volumen - | Silenciar |
Mac / Windows | Tema RGB | Brillo RGB | TAP 2: Bootloader |
- Sistemas operativos implementados por ahora:
macOS
(por defecto) yWindows
Apagar | Reiniciar | Logout Apagar pantalla |
Apagar pantalla Bloquear teclado (firmware password) |
Apagar pantalla (sin password) |
- El password por defecto es: «yo»
Todo diseño parte de una serie de premisas y objetivos. Este keymap se se ha diseñado partiendo de la premisa de que vivimos en un mundo caótico en el que no exite consenso a la hora de establecer atajos de teclado, ni entre sistemas operativos ni entre aplicaciones. El objetivo del keymap es por tanto abstraer y unificar todos los atajos, llegando a tener un teclado unico para gobernarlos a todos. Un teclado para encontrarlos, un teclado para atraerlos y atarlos en las tinieblas en la Tierra de Mordor donde se extienden las sombras...
¿Cómo? Por un lado, los atajos de teclado a nivel de SO más comunes se han implementado como teclas dedicadas (copiar, pegar, minimizar, apagar la pantalla, etc...), de manera que en función del sistema operativo en el que nos encontremos la misma pulsación de teclas generará el atajo esperado en el sistema operativo destino. Por ejemplo, copiar
en macOS generará la salida ⌘ + C mientras que en Windows será Control + C
Por otro lado, el concepto de la tecla o "capa virtual" hyper
, que nos permite a nivel de software unificar y personalizar los atajos concretos de cada aplicación sin necesidad de memorizar combinaciones complicadas ni de recurrir a teclas como control, alt, etc. Hyper se puede considerar como una capa personalizada para la aplicación que tiene el foco, y como nuestro teclado no tiene la capacidad de detectar esto nos vemos obligados a utilizar programas externos a nivel del sistema operativo.
Firmware para el Teclado Corne «CRKBD», especialmente diseñado para desarrolladores de software que utilizan macOS y Windows.
Algunos de los conceptos que se han tenido en cuenta:
- Posibilidad de alternar entre sistemas operativos presionando
CFG + O
oM1 + OS
. MacOS por defecto. - Los atajos de teclas son independientes del sistema operativo: las mismas combinaciones de teclas realizan las mismas acciones ya estemos en macOS o en Windows (copiar, pegar, capturar la pantalla, apagar el ordenador, cambiar entre escritorios, reordenar las ventanas, etc ...).
- Compatible con teclas y combinaciones de teclas dependientes del sistema operativo de manera sencilla. También soporta secuencias de caracteres y salida de caracteres unicode personalizadas en función del OS.
- Las teclas de modificación pueden tener muchos comportamientos simultáneamente. Modificador pasivo: mantiene presionada una tecla mientras se mantengan presionada de manera independiente, pulsación normal: cuando la tecla modificadora es accionada y liberada en un lapso corto de tiempo, modificador común: cuando se mantiene pulsada al mismo tiempo que se presiona una segunda tecla. Las teclas de modificación se han representado con un color diferencial en el mapa de teclas y se han implementado desde cero para tener mayor control.
- Se ha creado una tecla Hyper (y su correspondiente Bloqueo Hyper), para permitir atajos de teclado personalizables a nivel de aplicación. De esta manera
hyper + i
puede significar "indentar" en un editor de código, "invertir colores" en Photoshop, o poner un texto en "italica" en un procesador de texto. Las posibilidades son infinitas. Este tipo de comportamiento se puede conseguir en combiación con programas como Karabiner-Elements. - Soporte para temas visuales (
CFG + R
) y alertas luminosas empleando los LEDs. Se incluye un editor de temas online. - Tap dance avanzado: algunas teclas actúan de manera diferente cuando son presionadas varias veces seguidas en un lapso corto de tiempo. Compatible con teclas y combinaciones de teclas dependientes del sistema operativo, secuencias, y codigos extendidos uint16_t.
- Algunas teclas se han reubicado para mejorar la ergonomía. En el futuro es posible que poco a poco la distribución de teclas vaya pareciéndose un poco más a la distribución Workman, pero he preferido hacer el salto gradual.
- Posibilidad de bloquear el teclado con password, útil para cuando te levantas unos minutos de tu puesto de trabajo. Presiona
M6 + L
oM6 + ➕
si también quieres apagar la pantalla. Escribe "yo" para desbloquear el teclado. - App visual para aprender la disposición de teclas, (compatible con macOS y Windows) que muestra la distribución del teclado por encima de otras apps: Visual Keymap
Algunas características requieren instalar y configurar aplicaciones de terceros; algunas no tienen equivalencia directa entre sistemas operativos.
- Atajos de teclado por aplicación empleando la tecla hyper (Karabiner Elements).
- Funciones de pantalla partida en macOS (BetterSnapTool).
- Mover una aplicación a un escritorio en concreto.
- Algunas salidas especiales se han conseguido con aplicaciones de mapeo como Karabiner.
- En la configuración del sistema de macOS -> teclado: desabilitar "Usar F1, F2, etc. como teclas de función".
- En Windows instalar WinCompose para dar soporte a las teclas unicode.
- La combinación de teclas para apagar el sistema operativo en Windows puede variar en función del idioma de tu sistema operativo. Actualmente compatible con versión en Español.
- La posibilidad de alternar entre escritorios en macOS requiere de 3 escritorios y activar los atajos en: teclado -> funciones rápidas -> mission control.
- Si estas experimentando problemas con caracteres como
ª
,>
y otras teclas que generan salidas inesperadas, comprueba la configuración regional de tu teclado en el sistema operativo. En Karabiner, seleccionaCountry code: 1
para tu teclado Corne. La configuración regional en macOS ha de establecerse enEspañol - ISO
.
Para más información acudir al archivo keymap.c
. Se han realizado algunas modificaciones mínimas en el código de QMK para poder compilar este keymap; dichos cambios han sido listados en la sección Settings
.
Agradecimientos a Fauxpark, Drashna, Sigprof, Getreuer, Thomas Baart y a todos los desarrolladores de QMK y los miembros de su canal en Discord.
Si vas a crear o publicar un keymap derivado, por favor incluye una referencia este repositorio mencionándome como el autor original.
Option / Alt on hold. Tab ⇥ on press | |
Command / Control on hold. - minus on press | |
Control / Windows on hold. Backtick ` on press |
Modifier | Behaviour |
---|---|
Pasive Shift on hold by its own or with any of the gray modifiers above. Pink layer on hold and interrupted. _ Underscore on short press. ¿Why this strange behaviour? Because a pasive shift is required for many tasks, such as selecting files, proportional distorsion in Photoshop, and so on while using your right hand on the mouse. Also because a shift key can be required in the left hand to make custom combos, such as Command+Shift+E. Use the right thumb shift for capital leters. | |
Purple layer on hold. ; Semicolon on short press | |
Shift on hold. ⏎ Enter on short press. Press in conjunction with M6 to toggle Caps lock | |
Red layer on hold. = Equal on short press | |
Green layer on hold. : Colon on short press | |
Blue layer on hold. " Quotation mark on short press | |
Lime layer on hold. ' Apostrophe on short press | |
Yellow layer on hold. + Plus on short press | |
Smart tilde what is the smart tilde? |
The Corne keyboard has a very compact layout, and so we are encouraged to think of mechanisms to reduce the number of keys needed to make it as useful as possible. Smart tilde is a latent modifier (dead key), which modifies the behavior of the next key pressed without the need to keep it pressed. Unlike the tilde, the applied modifier depends on the target key, with the additional possibility of entering in special input modes (caps word, deleted mode, etc...). Maybe it will change in the future, but for now this is how it works:
- As a Spanish ´ tilde when the following letter is a vowel, for example camión
- As ' apostrophe when the next letter can be used after the English apostrophe (s, l, m, d, r, t, c), for example McDonald's
- As ñ when pressed followed by the letter n, for example España
- As g + ¨ umlaut when pressed followed by the letter g, for example cigüeña
- As a whole word delete key (if pressed more than once in a row)
- As $ dollar if pressed followed by a space
- As ; + enter if pressed followed by the modifier (useful for programmers)
- Enables Caps word mode when pressed in conjunction with . In this mode you will be able to write whole words or variable identifiers in uppercase without having to hold down shift (useful for programmers)
In my case it is going to be used to activate custom actions
/shortcuts
depending on the focused application. For example, Hyper + I could mean italic
in Word while being indent
in a code editor and invert colors
in Photoshop. You can implement this kind of behaviour using programs such as Karabiner-Elements, Hammerspoon, and many others.
When keyboard is in configuration
mode, hyper
, hyper lock
or caps lock
mode, certain keys will glow their associated color.
Cursor up | Cursor down | Cursor right | Cursor left |
Page up | Page down | Word right | Word left |
Document start | Document end | Line end | Line start |
Selection is easy and you don't even need to move your hand from its resting position. Combine any of the navigation keys above with the Spacebar (located right under your thumb) and it will act like Shift instead to be able to select text
/ words
/ lines
/ pages
/ document
If you want to select everything
, you could press instead.
Play / pause | Previous song | Next song |
Brightness + | Brightness - | Screen off |
Vol up | Vol down | Mute |
Keyboard OS | Next RGB theme | RGB brightness |
- Implemented OS:
macOS
(default) andWindows
Shut down | Logout + screen off | Screen off + Lock keyboard (firmware password) |
Screen off (no password) |
- Default firmware password: «yo»
Every design starts from a series of premises and objectives. This keymap has been designed based on the premise that we live in a chaotic world in which there is no consensus when it comes to establishing keyboard shortcuts, neither between operating systems nor between applications. The goal of this keymap is therefore to abstract and unify all the shortcuts, adding several intermediate layers that allow us to have a single keyboard to rule them all. One keyboard to find them, one keymap to bring them all, and in the darkness bind them; In the Land of Mordor where the shadows lie.
Keymap for Corne Keyboard specially designed for software developers using macOS and Windows and writting in Spanish and English.
This keymap features the following concepts:
- Possibility to switch between operating systems by pressing
CFG + O
orM1 + OS
. MacOS by default. - Keyboard shortcuts are OS independent: the same key combinations perform the same actions whether you are on a macOS or Windows machine (copy, paste, screen capture, turn off the computer, switch between desktops, reorder the windows, and many more ... ).
- Compatible with OS dependent keys / key combinations in a simple and customizable fashion. It also supports character sequences and unicode character output depending on the OS.
- Modifiers can have many behaviors simultaneously. Passive modifiers: hold down a non printable keycode as long as no other key is pressed; normal keystroke: when the modifier key is actuated and released within a short period of time; common modifier: when it is held pressed in conjunction with a second key. Modifier keys have been represented with a differential color on the keymap and have been implemented from scratch for greater control.
- A
Hyper key
(and its correspondingHyper Lock
) has been created, to allow customizable keyboard shortcuts per application. In this wayhyper + i
can mean "indent" in a code editor, "invert colors" in Photoshop, or "italic" in a word processor. Possibilities are endless. This type of behavior can be achieved in combination with programs like Karabiner-Elements. - Support for visual themes (
CFG + R
) and light alerts using LEDs. An online theme editor is included . - Advanced tap dance: some keys act differently when pressed multiple times in a short amount of time. Compatible with operating system dependent keys and key combinations, sequences, and uint16_t extended codes.
- Some keys have been relocated to improve ergonomics. In the future probably it will look a bit more like the Workman layout, but I preferred to make a gradual transition.
- Possibility of locking the keyboard with a password, useful if you leave your workstation for a few minutes. Press
M6 + L
orM6 + ➕
if you also want to turn off the screen. Type "yo" to unlock the keyboard (it means "it is me" in spanish, you can customize it). - Always-on-top visual keymap app, to make your life easier while you are learning your new keymap.
Some features require installing and configuring third-party applications; some do not have direct equivalence between operating systems.
- Keyboard shortcuts per application using the
hyper key
(Karabiner Elements). - Split screen functions in macOS (BetterSnapTool).
- Move an application to a specific desktop.
- Some special outputs have been achieved with remapping apps such as Karabiner, Hammerspoon, ...
- In macOS system settings -> keyboard: disable: "Use F1, F2 , etc. keys as standard function keys"
- On Windows install WinCompose to support unicode keys.
- The key combination to shut down the computer may vary in Windows depending on the language of your operating system. Currently compatible with the Spanish version.
- The ability to switch between desktops in macOS requires 3 desktops and activate its shortcuts in: keyboard -> shortcuts -> mission control.
- If you are experiencing problems with characters such as
ª
,>
and other keys generating unexpected outputs, check the regional settings of your keyboard in the operating system. The regional configuration in macOS has to be set toSpanish - ISO
. In Karabiner, selectCountry code: 1
for your Corne keyboard.
For further information check the file keymap.c
. Some minor modifications have been made to the QMK code in order to compile this keymap; these changes have been listed in the Settings
section.
Greetings to Fauxpark, Drashna, Sigprof, Getreuer, Thomas Baart and all the QMK developers and members of its Discord channel.
If you are going to create or publish a derived keymap, please include a reference to this repository mentioning me as the original author.