Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fb02593bd4 | ||
|
|
c0dbd81b2b | ||
|
|
385454e602 | ||
|
|
7164e8eeb5 | ||
|
|
f9521ffa21 | ||
|
|
2048df8832 | ||
|
|
99f3321e26 | ||
|
|
235da6973d | ||
|
|
5c41fa6062 | ||
|
|
99a58aa2b8 | ||
|
|
4ae87ab40a | ||
|
|
7e62705877 | ||
|
|
1604f79623 | ||
|
|
265c415f5e | ||
|
|
2b318ba01b | ||
|
|
2f3adc3e24 | ||
|
|
57581ad733 | ||
|
|
b663a5b248 | ||
|
|
f6ffa28b27 | ||
|
|
170261328e | ||
|
|
5a6737a778 | ||
|
|
a2cedf4555 | ||
|
|
397897180b | ||
|
|
36cde567ab | ||
|
|
572d3329eb | ||
|
|
c0fe8dbfb4 | ||
|
|
f0f161e572 | ||
|
|
3a7085dee4 | ||
|
|
583094aa26 | ||
|
|
f4fb0e1617 | ||
|
|
6a8c0a6468 | ||
|
|
d14573620d |
No files matched your search
+2
-2
@@ -18,7 +18,7 @@ pulls:
|
|||||||
activity in the last 45 days. It will be closed in 30 days if no further activity occurs.
|
activity in the last 45 days. It will be closed in 30 days if no further activity occurs.
|
||||||
Please feel free to give a status update now, or re-open when it's ready.
|
Please feel free to give a status update now, or re-open when it's ready.
|
||||||
|
|
||||||
For maintainers: Please label with `awaiting review`, `breaking_change`, `in progress, or `on hold` to prevent
|
For maintainers: Please label with `awaiting review`, `breaking_change`, `in progress`, or `on hold` to prevent
|
||||||
the issue from being re-flagged.
|
the issue from being re-flagged.
|
||||||
# Comment to post when closing a stale Issue or Pull Request.
|
# Comment to post when closing a stale Issue or Pull Request.
|
||||||
closeComment: >
|
closeComment: >
|
||||||
@@ -45,7 +45,7 @@ issues:
|
|||||||
last 90 days. It will be closed in the next 30 days unless it is tagged properly or other activity
|
last 90 days. It will be closed in the next 30 days unless it is tagged properly or other activity
|
||||||
occurs.
|
occurs.
|
||||||
|
|
||||||
For maintainers: Please label with `bug`, `in progress`, `on hold`, discussion` or `to do` to prevent
|
For maintainers: Please label with `bug`, `in progress`, `on hold`, `discussion` or `to do` to prevent
|
||||||
the issue from being re-flagged.
|
the issue from being re-flagged.
|
||||||
closeComment: >
|
closeComment: >
|
||||||
This issue has been automatically closed because it has not had activity in the last 30 days.
|
This issue has been automatically closed because it has not had activity in the last 30 days.
|
||||||
|
|||||||
+1
-1
@@ -111,7 +111,7 @@
|
|||||||
* [Support](de/support.md)
|
* [Support](de/support.md)
|
||||||
* [Übersetzungen](de/translating.md)
|
* [Übersetzungen](de/translating.md)
|
||||||
|
|
||||||
* QMK Internals (de/In Progress)
|
* QMK Internals (In Progress)
|
||||||
* [Defines](de/internals_defines.md)
|
* [Defines](de/internals_defines.md)
|
||||||
* [Input Callback Reg](de/internals_input_callback_reg.md)
|
* [Input Callback Reg](de/internals_input_callback_reg.md)
|
||||||
* [Midi Device](de/internals_midi_device.md)
|
* [Midi Device](de/internals_midi_device.md)
|
||||||
|
|||||||
+2
-2
@@ -19,7 +19,7 @@ De cualquier manera, también puedes descargarlo directamente en formatos ([zip]
|
|||||||
|
|
||||||
## Cómo compilar
|
## Cómo compilar
|
||||||
|
|
||||||
Antes de poder compilar, necesitarás [instalar un entorno](getting_started_build_tools.md) para el desarrollo de AVR y/o ARM. Una vez hayas completado este paso, usarás el comando `make` para compilar un teclado y keymap con la siguiente notación:
|
Antes de poder compilar, necesitarás [instalar un entorno](es/getting_started_build_tools.md) para el desarrollo de AVR y/o ARM. Una vez hayas completado este paso, usarás el comando `make` para compilar un teclado y keymap con la siguiente notación:
|
||||||
|
|
||||||
make planck/rev4:default
|
make planck/rev4:default
|
||||||
|
|
||||||
@@ -29,4 +29,4 @@ Este ejemplo compilaría la revisión `rev4` del teclado `planck` con el keymap
|
|||||||
|
|
||||||
## Cómo personalizar
|
## Cómo personalizar
|
||||||
|
|
||||||
QMK tiene montones de [características](features.md) para explorar, y una buena cantidad de [documentación de referencia](http://docs.qmk.fm) en la que sumergirse. Se pueden sacar provecho de la mayoría de las características modificando tu [keymap](keymap.md), y cambiando los [keycodes](keycodes.md).
|
QMK tiene montones de [características](es/features.md) para explorar, y una buena cantidad de [documentación de referencia](http://docs.qmk.fm) en la que sumergirse. Se pueden sacar provecho de la mayoría de las características modificando tu [keymap](es/keymap.md), y cambiando los [keycodes](es/keycodes.md).
|
||||||
+104
-104
@@ -1,121 +1,121 @@
|
|||||||
* [Guía completa para novatos](newbs.md)
|
* [Guía completa para novatos](es/newbs.md)
|
||||||
* [Empezando](newbs_getting_started.md)
|
* [Empezando](es/newbs_getting_started.md)
|
||||||
* [Construyendo tu primer firmare](newbs_building_firmware.md)
|
* [Construyendo tu primer firmare](es/newbs_building_firmware.md)
|
||||||
* [Flasheando el firmware](newbs_flashing.md)
|
* [Flasheando el firmware](es/newbs_flashing.md)
|
||||||
* [Testeando y depurando ](newbs_testing_debugging.md)
|
* [Testeando y depurando ](es/newbs_testing_debugging.md)
|
||||||
* [Mejores práticas](newbs_best_practices.md)
|
* [Mejores práticas](es/newbs_best_practices.md)
|
||||||
* [Recursos de aprendizaje](newbs_learn_more_resources.md)
|
* [Recursos de aprendizaje](es/newbs_learn_more_resources.md)
|
||||||
|
|
||||||
* [QMK Basics](README.md)
|
* [QMK Basics](es/README.md)
|
||||||
* [Introducción a QMK](getting_started_introduction.md)
|
* [Introducción a QMK](es/getting_started_introduction.md)
|
||||||
* [QMK CLI](cli.md)
|
* [QMK CLI](es/cli.md)
|
||||||
* [Configuración de QMK CLI](cli_configuration.md)
|
* [Configuración de QMK CLI](es/cli_configuration.md)
|
||||||
* [Contribuyendo a QMK](contributing.md)
|
* [Contribuyendo a QMK](es/contributing.md)
|
||||||
* [Cómo usar Github](getting_started_github.md)
|
* [Cómo usar Github](es/getting_started_github.md)
|
||||||
* [Obtener ayuda](getting_started_getting_help.md)
|
* [Obtener ayuda](es/getting_started_getting_help.md)
|
||||||
|
|
||||||
* [Cambios incompatibles](breaking_changes.md)
|
* [Cambios incompatibles](es/breaking_changes.md)
|
||||||
* [30 Ago 2019](ChangeLog/20190830.md)
|
* [30 Ago 2019](es/ChangeLog/20190830.md)
|
||||||
|
|
||||||
* [Preguntas frecuentes](faq.md)
|
* [Preguntas frecuentes](es/faq.md)
|
||||||
* [General](faq_general.md)
|
* [General](es/faq_general.md)
|
||||||
* [Construir/Compilar QMK](faq_build.md)
|
* [Construir/Compilar QMK](es/faq_build.md)
|
||||||
* [Depurando/Encontrando problemas en QMK](faq_debug.md)
|
* [Depurando/Encontrando problemas en QMK](es/faq_debug.md)
|
||||||
* [Keymap](faq_keymap.md)
|
* [Keymap](es/faq_keymap.md)
|
||||||
* [Instalación de drivers con Zadig](driver_installation_zadig.md)
|
* [Instalación de drivers con Zadig](es/driver_installation_zadig.md)
|
||||||
|
|
||||||
* Guías detalladas
|
* Guías detalladas
|
||||||
* [Instalar herramientas construcción](getting_started_build_tools.md)
|
* [Instalar herramientas construcción](es/getting_started_build_tools.md)
|
||||||
* [Guía Vagrant](getting_started_vagrant.md)
|
* [Guía Vagrant](es/getting_started_vagrant.md)
|
||||||
* [Instrucciones de Construcción/Compilado](getting_started_make_guide.md)
|
* [Instrucciones de Construcción/Compilado](es/getting_started_make_guide.md)
|
||||||
* [Flasheando Firmware](flashing.md)
|
* [Flasheando Firmware](es/flashing.md)
|
||||||
* [Personalizando funcionalidad](custom_quantum_functions.md)
|
* [Personalizando funcionalidad](es/custom_quantum_functions.md)
|
||||||
* [Visión general del Keymap](keymap.md)
|
* [Visión general del Keymap](es/keymap.md)
|
||||||
|
|
||||||
* [Hardware](hardware.md)
|
* [Hardware](es/hardware.md)
|
||||||
* [Procesadores AVR](hardware_avr.md)
|
* [Procesadores AVR](es/hardware_avr.md)
|
||||||
* [Drivers](hardware_drivers.md)
|
* [Drivers](es/hardware_drivers.md)
|
||||||
|
|
||||||
* Referencia
|
* Referencia
|
||||||
* [Pautas de teclados](hardware_keyboard_guidelines.md)
|
* [Pautas de teclados](es/hardware_keyboard_guidelines.md)
|
||||||
* [Opciones de configuración](config_options.md)
|
* [Opciones de configuración](es/config_options.md)
|
||||||
* [Keycodes](keycodes.md)
|
* [Keycodes](es/keycodes.md)
|
||||||
* [Convenciones de código - C](coding_conventions_c.md)
|
* [Convenciones de código - C](es/coding_conventions_c.md)
|
||||||
* [Convenciones de código - Python](coding_conventions_python.md)
|
* [Convenciones de código - Python](es/coding_conventions_python.md)
|
||||||
* [Mejores prácticas de documentación](documentation_best_practices.md)
|
* [Mejores prácticas de documentación](es/documentation_best_practices.md)
|
||||||
* [Plantillas de documentación](documentation_templates.md)
|
* [Plantillas de documentación](es/documentation_templates.md)
|
||||||
* [Glosario](reference_glossary.md)
|
* [Glosario](es/reference_glossary.md)
|
||||||
* [Tests unitarios](unit_testing.md)
|
* [Tests unitarios](es/unit_testing.md)
|
||||||
* [Funciones útiles](ref_functions.md)
|
* [Funciones útiles](es/ref_functions.md)
|
||||||
* [Sporte configurador](reference_configurator_support.md)
|
* [Sporte configurador](es/reference_configurator_support.md)
|
||||||
* [Formato info.json](reference_info_json.md)
|
* [Formato info.json](es/reference_info_json.md)
|
||||||
* [Desarrollo Python CLI](cli_development.md)
|
* [Desarrollo Python CLI](es/cli_development.md)
|
||||||
|
|
||||||
* [Características](features.md)
|
* [Características](es/features.md)
|
||||||
* [Keycodes Básicos](keycodes_basic.md)
|
* [Keycodes Básicos](es/keycodes_basic.md)
|
||||||
* [Teclas US ANSI Shifted](keycodes_us_ansi_shifted.md)
|
* [Teclas US ANSI Shifted](es/keycodes_us_ansi_shifted.md)
|
||||||
* [Keycodes Quantum](quantum_keycodes.md)
|
* [Keycodes Quantum](es/quantum_keycodes.md)
|
||||||
* [Keycodes Avanzados](feature_advanced_keycodes.md)
|
* [Keycodes Avanzados](es/feature_advanced_keycodes.md)
|
||||||
* [Audio](feature_audio.md)
|
* [Audio](es/feature_audio.md)
|
||||||
* [Auto Shift](feature_auto_shift.md)
|
* [Auto Shift](es/feature_auto_shift.md)
|
||||||
* [Retroiluminación](feature_backlight.md)
|
* [Retroiluminación](es/feature_backlight.md)
|
||||||
* [Bluetooth](feature_bluetooth.md)
|
* [Bluetooth](es/feature_bluetooth.md)
|
||||||
* [Bootmagic](feature_bootmagic.md)
|
* [Bootmagic](es/feature_bootmagic.md)
|
||||||
* [Combos](feature_combo.md)
|
* [Combos](es/feature_combo.md)
|
||||||
* [Comando](feature_command.md)
|
* [Comando](es/feature_command.md)
|
||||||
* [API Debounce](feature_debounce_type.md)
|
* [API Debounce](es/feature_debounce_type.md)
|
||||||
* [Switch DIP](feature_dip_switch.md)
|
* [Switch DIP](es/feature_dip_switch.md)
|
||||||
* [Macros Dinámicas](feature_dynamic_macros.md)
|
* [Macros Dinámicas](es/feature_dynamic_macros.md)
|
||||||
* [Encoders](feature_encoders.md)
|
* [Encoders](es/feature_encoders.md)
|
||||||
* [Grave Escape](feature_grave_esc.md)
|
* [Grave Escape](es/feature_grave_esc.md)
|
||||||
* [Feedback Háptico](feature_haptic_feedback.md)
|
* [Feedback Háptico](es/feature_haptic_feedback.md)
|
||||||
* [Controlador LCD HD44780](feature_hd44780.md)
|
* [Controlador LCD HD44780](es/feature_hd44780.md)
|
||||||
* [Key Lock](feature_key_lock.md)
|
* [Key Lock](es/feature_key_lock.md)
|
||||||
* [Layouts](feature_layouts.md)
|
* [Layouts](es/feature_layouts.md)
|
||||||
* [Tecla Leader](feature_leader_key.md)
|
* [Tecla Leader](es/feature_leader_key.md)
|
||||||
* [Matriz LED](feature_led_matrix.md)
|
* [Matriz LED](es/feature_led_matrix.md)
|
||||||
* [Macros](feature_macros.md)
|
* [Macros](es/feature_macros.md)
|
||||||
* [Teclas del ratón](feature_mouse_keys.md)
|
* [Teclas del ratón](es/feature_mouse_keys.md)
|
||||||
* [Driver OLED](feature_oled_driver.md)
|
* [Driver OLED](es/feature_oled_driver.md)
|
||||||
* [Teclas One Shot](feature_advanced_keycodes.md#one-shot-keys)
|
* [Teclas One Shot](es/feature_advanced_keycodes.md#one-shot-keys)
|
||||||
* [Dispositivo de apuntado](feature_pointing_device.md)
|
* [Dispositivo de apuntado](es/feature_pointing_device.md)
|
||||||
* [Ratón PS/2](feature_ps2_mouse.md)
|
* [Ratón PS/2](es/feature_ps2_mouse.md)
|
||||||
* [Iluminación RGB](feature_rgblight.md)
|
* [Iluminación RGB](es/feature_rgblight.md)
|
||||||
* [Matriz RGB](feature_rgb_matrix.md)
|
* [Matriz RGB](es/feature_rgb_matrix.md)
|
||||||
* [Cadete espacial](feature_space_cadet.md)
|
* [Cadete espacial](es/feature_space_cadet.md)
|
||||||
* [Teclado dividido](feature_split_keyboard.md)
|
* [Teclado dividido](es/feature_split_keyboard.md)
|
||||||
* [Stenografía](feature_stenography.md)
|
* [Stenografía](es/feature_stenography.md)
|
||||||
* [Swap Hands](feature_swap_hands.md)
|
* [Swap Hands](es/feature_swap_hands.md)
|
||||||
* [Tap Dance](feature_tap_dance.md)
|
* [Tap Dance](es/feature_tap_dance.md)
|
||||||
* [Terminal](feature_terminal.md)
|
* [Terminal](es/feature_terminal.md)
|
||||||
* [Impresora Térmica](feature_thermal_printer.md)
|
* [Impresora Térmica](es/feature_thermal_printer.md)
|
||||||
* [Unicode](feature_unicode.md)
|
* [Unicode](es/feature_unicode.md)
|
||||||
* [Userspace](feature_userspace.md)
|
* [Userspace](es/feature_userspace.md)
|
||||||
* [Velocikey](feature_velocikey.md)
|
* [Velocikey](es/feature_velocikey.md)
|
||||||
|
|
||||||
* Para Makers y Modders
|
* Para Makers y Modders
|
||||||
* [Guía de cableado a mano](hand_wire.md)
|
* [Guía de cableado a mano](es/hand_wire.md)
|
||||||
* [Guía de flasheado de ISP](isp_flashing_guide.md)
|
* [Guía de flasheado de ISP](es/isp_flashing_guide.md)
|
||||||
* [Guía de depuración de ARM](arm_debugging.md)
|
* [Guía de depuración de ARM](es/arm_debugging.md)
|
||||||
* [Driver I2C](i2c_driver.md)
|
* [Driver I2C](es/i2c_driver.md)
|
||||||
* [Controles GPIO](internals_gpio_control.md)
|
* [Controles GPIO](es/internals_gpio_control.md)
|
||||||
* [Conversión Proton C](proton_c_conversion.md)
|
* [Conversión Proton C](es/proton_c_conversion.md)
|
||||||
|
|
||||||
* Para entender en profundidad
|
* Para entender en profundidad
|
||||||
* [Cómo funcionan los teclados](how_keyboards_work.md)
|
* [Cómo funcionan los teclados](es/how_keyboards_work.md)
|
||||||
* [Entendiendo QMK](understanding_qmk.md)
|
* [Entendiendo QMK](es/understanding_qmk.md)
|
||||||
|
|
||||||
* Otros temas
|
* Otros temas
|
||||||
* [Usando Eclipse con QMK](other_eclipse.md)
|
* [Usando Eclipse con QMK](es/other_eclipse.md)
|
||||||
* [Usando VSCode con QMK](other_vscode.md)
|
* [Usando VSCode con QMK](es/other_vscode.md)
|
||||||
* [Soporte](support.md)
|
* [Soporte](es/support.md)
|
||||||
* [Cómo añadir traducciones](translating.md)
|
* [Cómo añadir traducciones](es/translating.md)
|
||||||
|
|
||||||
* QMK Internals (En progreso)
|
* QMK Internals (En progreso)
|
||||||
* [Defines](internals_defines.md)
|
* [Defines](es/internals_defines.md)
|
||||||
* [Input Callback Reg](internals_input_callback_reg.md)
|
* [Input Callback Reg](es/internals_input_callback_reg.md)
|
||||||
* [Dispositivo Midi](internals_midi_device.md)
|
* [Dispositivo Midi](es/internals_midi_device.md)
|
||||||
* [Proceso de configuración de un dispositivo Midi](internals_midi_device_setup_process.md)
|
* [Proceso de configuración de un dispositivo Midi](es/internals_midi_device_setup_process.md)
|
||||||
* [Utilidad Midi](internals_midi_util.md)
|
* [Utilidad Midi](es/internals_midi_util.md)
|
||||||
* [Funciones Send](internals_send_functions.md)
|
* [Funciones Send](es/internals_send_functions.md)
|
||||||
* [Herramientas Sysex](internals_sysex_tools.md)
|
* [Herramientas Sysex](es/internals_sysex_tools.md)
|
||||||
+7
-1
@@ -47,7 +47,7 @@ SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666"
|
|||||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", MODE:="0666"
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", MODE:="0666"
|
||||||
```
|
```
|
||||||
|
|
||||||
**/etc/udev/rules.d/55-catalina.rules:**
|
**/etc/udev/rules.d/55-caterina.rules:**
|
||||||
```
|
```
|
||||||
# ModemManager should ignore the following devices
|
# ModemManager should ignore the following devices
|
||||||
ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"
|
ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||||
@@ -69,6 +69,12 @@ SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", MODE:="066
|
|||||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE:="0666"
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE:="0666"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**/etc/udev/rules.d/57-bootloadhid.rules:**
|
||||||
|
```
|
||||||
|
# bootloadHID
|
||||||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", MODE:="0666"
|
||||||
|
```
|
||||||
|
|
||||||
### Serial device is not detected in bootloader mode on Linux
|
### Serial device is not detected in bootloader mode on Linux
|
||||||
Make sure your kernel has appropriate support for your device. If your device uses USB ACM, such as
|
Make sure your kernel has appropriate support for your device. If your device uses USB ACM, such as
|
||||||
Pro Micro (Atmega32u4), make sure to include `CONFIG_USB_ACM=y`. Other devices may require `USB_SERIAL` and any of its sub options.
|
Pro Micro (Atmega32u4), make sure to include `CONFIG_USB_ACM=y`. Other devices may require `USB_SERIAL` and any of its sub options.
|
||||||
|
|||||||
@@ -22,10 +22,10 @@ void matrix_scan_user(void) {
|
|||||||
SEND_STRING("QMK is awesome.");
|
SEND_STRING("QMK is awesome.");
|
||||||
}
|
}
|
||||||
SEQ_TWO_KEYS(KC_D, KC_D) {
|
SEQ_TWO_KEYS(KC_D, KC_D) {
|
||||||
SEND_STRING(SS_LCTRL("a")SS_LCTRL("c"));
|
SEND_STRING(SS_LCTL("a") SS_LCTL("c"));
|
||||||
}
|
}
|
||||||
SEQ_THREE_KEYS(KC_D, KC_D, KC_S) {
|
SEQ_THREE_KEYS(KC_D, KC_D, KC_S) {
|
||||||
SEND_STRING("https://start.duckduckgo.com"SS_TAP(X_ENTER));
|
SEND_STRING("https://start.duckduckgo.com\n");
|
||||||
}
|
}
|
||||||
SEQ_TWO_KEYS(KC_A, KC_S) {
|
SEQ_TWO_KEYS(KC_A, KC_S) {
|
||||||
register_code(KC_LGUI);
|
register_code(KC_LGUI);
|
||||||
@@ -115,11 +115,11 @@ void matrix_scan_user(void) {
|
|||||||
|
|
||||||
SEQ_ONE_KEY(KC_E) {
|
SEQ_ONE_KEY(KC_E) {
|
||||||
// Anything you can do in a macro.
|
// Anything you can do in a macro.
|
||||||
SEND_STRING(SS_LCTRL(SS_LSFT("t")));
|
SEND_STRING(SS_LCTL(SS_LSFT("t")));
|
||||||
did_leader_succeed = true;
|
did_leader_succeed = true;
|
||||||
} else
|
} else
|
||||||
SEQ_TWO_KEYS(KC_E, KC_D) {
|
SEQ_TWO_KEYS(KC_E, KC_D) {
|
||||||
SEND_STRING(SS_LGUI("r")"cmd"SS_TAP(KC_ENTER)SS_LCTRL("c"));
|
SEND_STRING(SS_LGUI("r") "cmd\n" SS_LCTL("c"));
|
||||||
did_leader_succeed = true;
|
did_leader_succeed = true;
|
||||||
}
|
}
|
||||||
leader_end();
|
leader_end();
|
||||||
|
|||||||
+11
-8
@@ -67,14 +67,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
case QMKURL:
|
case QMKURL:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
// when keycode QMKURL is pressed
|
// when keycode QMKURL is pressed
|
||||||
SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
|
SEND_STRING("https://qmk.fm/\n");
|
||||||
} else {
|
} else {
|
||||||
// when keycode QMKURL is released
|
// when keycode QMKURL is released
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MY_OTHER_MACRO:
|
case MY_OTHER_MACRO:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
SEND_STRING(SS_LCTRL("ac")); // selects all and copies
|
SEND_STRING(SS_LCTL("ac")); // selects all and copies
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -109,18 +109,21 @@ Which would send "VE" followed by a `KC_HOME` tap, and "LO" (spelling "LOVE" if
|
|||||||
|
|
||||||
There's also a couple of mod shortcuts you can use:
|
There's also a couple of mod shortcuts you can use:
|
||||||
|
|
||||||
* `SS_LCTRL(string)`
|
* `SS_LCTL(string)`
|
||||||
* `SS_LGUI(string)`
|
|
||||||
* `SS_LALT(string)`
|
|
||||||
* `SS_LSFT(string)`
|
* `SS_LSFT(string)`
|
||||||
* `SS_RALT(string)`
|
* `SS_LALT(string)`
|
||||||
|
* `SS_LGUI(string)`, `SS_LCMD(string)` or `SS_LWIN(string)`
|
||||||
|
* `SS_RCTL(string)`
|
||||||
|
* `SS_RSFT(string)`
|
||||||
|
* `SS_RALT(string)` or `SS_ALGR(string)`
|
||||||
|
* `SS_RGUI(string)`, `SS_RCMD(string)` or `SS_RWIN(string)`
|
||||||
|
|
||||||
These press the respective modifier, send the supplied string and then release the modifier.
|
These press the respective modifier, send the supplied string and then release the modifier.
|
||||||
They can be used like this:
|
They can be used like this:
|
||||||
|
|
||||||
SEND_STRING(SS_LCTRL("a"));
|
SEND_STRING(SS_LCTL("a"));
|
||||||
|
|
||||||
Which would send LCTRL+a (LCTRL down, a, LCTRL up) - notice that they take strings (eg `"k"`), and not the `X_K` keycodes.
|
Which would send Left Control+`a` (Left Control down, `a`, Left Control up) - notice that they take strings (eg `"k"`), and not the `X_K` keycodes.
|
||||||
|
|
||||||
### Alternative Keymaps
|
### Alternative Keymaps
|
||||||
|
|
||||||
|
|||||||
+14
-10
@@ -173,16 +173,20 @@ As mentioned earlier, the center of the keyboard by default is expected to be `{
|
|||||||
|
|
||||||
All RGB keycodes are currently shared with the RGBLIGHT system:
|
All RGB keycodes are currently shared with the RGBLIGHT system:
|
||||||
|
|
||||||
* `RGB_TOG` - toggle
|
|Key |Aliases |Description |
|
||||||
* `RGB_MOD` - cycle through modes
|
|-------------------|----------|--------------------------------------------------------------------------------------|
|
||||||
* `RGB_HUI` - increase hue
|
|`RGB_TOG` | |Toggle RGB lighting on or off |
|
||||||
* `RGB_HUD` - decrease hue
|
|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held |
|
||||||
* `RGB_SAI` - increase saturation
|
|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held |
|
||||||
* `RGB_SAD` - decrease saturation
|
|`RGB_HUI` | |Increase hue, decrease hue when Shift is held |
|
||||||
* `RGB_VAI` - increase value
|
|`RGB_HUD` | |Decrease hue, increase hue when Shift is held |
|
||||||
* `RGB_VAD` - decrease value
|
|`RGB_SAI` | |Increase saturation, decrease saturation when Shift is held |
|
||||||
* `RGB_SPI` - increase speed effect (no EEPROM support)
|
|`RGB_SAD` | |Decrease saturation, increase saturation when Shift is held |
|
||||||
* `RGB_SPD` - decrease speed effect (no EEPROM support)
|
|`RGB_VAI` | |Increase value (brightness), decrease value when Shift is held |
|
||||||
|
|`RGB_VAD` | |Decrease value (brightness), increase value when Shift is held |
|
||||||
|
|`RGB_SPI` | |Increase effect speed (does not support eeprom yet), decrease speed when Shift is held|
|
||||||
|
|`RGB_SPD` | |Decrease effect speed (does not support eeprom yet), increase speed when Shift is held|
|
||||||
|
|
||||||
* `RGB_MODE_*` keycodes will generally work, but are not currently mapped to the correct effects for the RGB Matrix system
|
* `RGB_MODE_*` keycodes will generally work, but are not currently mapped to the correct effects for the RGB Matrix system
|
||||||
|
|
||||||
## RGB Matrix Effects
|
## RGB Matrix Effects
|
||||||
|
|||||||
@@ -48,12 +48,12 @@ Changing the **Value** sets the overall brightness.<br>
|
|||||||
|`RGB_TOG` | |Toggle RGB lighting on or off |
|
|`RGB_TOG` | |Toggle RGB lighting on or off |
|
||||||
|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held |
|
|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held |
|
||||||
|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held|
|
|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held|
|
||||||
|`RGB_HUI` | |Increase hue |
|
|`RGB_HUI` | |Increase hue, decrease hue when Shift is held |
|
||||||
|`RGB_HUD` | |Decrease hue |
|
|`RGB_HUD` | |Decrease hue, increase hue when Shift is held |
|
||||||
|`RGB_SAI` | |Increase saturation |
|
|`RGB_SAI` | |Increase saturation, decrease saturation when Shift is held |
|
||||||
|`RGB_SAD` | |Decrease saturation |
|
|`RGB_SAD` | |Decrease saturation, increase saturation when Shift is held |
|
||||||
|`RGB_VAI` | |Increase value (brightness) |
|
|`RGB_VAI` | |Increase value (brightness), decrease value when Shift is held |
|
||||||
|`RGB_VAD` | |Decrease value (brightness) |
|
|`RGB_VAD` | |Decrease value (brightness), increase value when Shift is held |
|
||||||
|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode |
|
|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode |
|
||||||
|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode |
|
|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode |
|
||||||
|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode |
|
|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode |
|
||||||
|
|||||||
@@ -208,15 +208,15 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
clear_mods(); clear_oneshot_mods();
|
clear_mods(); clear_oneshot_mods();
|
||||||
SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP);
|
SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP);
|
||||||
#ifndef FLASH_BOOTLOADER
|
#ifndef FLASH_BOOTLOADER
|
||||||
if ( (temp_mod | temp_osm) & MOD_MASK_SHIFT )
|
if ((temp_mod | temp_osm) & MOD_MASK_SHIFT)
|
||||||
#endif
|
#endif
|
||||||
{ //
|
{
|
||||||
SEND_STRING(":flash");
|
SEND_STRING(":flash");
|
||||||
}
|
}
|
||||||
if ( (temp_mod | temp_osm) & MOD_MASK_CTRL) {
|
if ((temp_mod | temp_osm) & MOD_MASK_CTRL) {
|
||||||
SEND_STRING(" -j8 --output-sync");
|
SEND_STRING(" -j8 --output-sync");
|
||||||
}
|
}
|
||||||
SEND_STRING(SS_TAP(X_ENTER));
|
tap_code(KC_ENT);
|
||||||
set_mods(temp_mod);
|
set_mods(temp_mod);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ General flashing sequence:
|
|||||||
|
|
||||||
## bootloadHID Flashing Target
|
## bootloadHID Flashing Target
|
||||||
|
|
||||||
Using the QMK installation script, detailed [here](newbs_getting_started.md), the required bootloadHID tools should be automatically installed.
|
?> Using the QMK installation script, detailed [here](newbs_getting_started.md), the required bootloadHID tools should be automatically installed.
|
||||||
|
|
||||||
To flash via the command line, use the target `:bootloadHID` by executing the following command:
|
To flash via the command line, use the target `:bootloadHID` by executing the following command:
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ Sinon, vous pouvez aussi le télécharger directement en ([zip](https://github.c
|
|||||||
|
|
||||||
## Comment le compiler
|
## Comment le compiler
|
||||||
|
|
||||||
Avant d'être prêt à compiler vous allez devoir [installer un environnement](getting_started_build_tools.md) pour les développements AVR et/ou ARM. Une fois ceci fait, vous pourrez utiliser la commande `make` pour compiler le clavier et la disposition avec une commande de ce type :
|
Avant d'être prêt à compiler vous allez devoir [installer un environnement](fr-fr/getting_started_build_tools.md) pour les développements AVR et/ou ARM. Une fois ceci fait, vous pourrez utiliser la commande `make` pour compiler le clavier et la disposition avec une commande de ce type :
|
||||||
|
|
||||||
make planck/rev4:default
|
make planck/rev4:default
|
||||||
|
|
||||||
@@ -29,4 +29,4 @@ Cette commande compilera la révision `rev4` du clavier `planck` avec la disposi
|
|||||||
|
|
||||||
## Comment le personnaliser
|
## Comment le personnaliser
|
||||||
|
|
||||||
QMK a beaucoup de [fonctionnalités](features.md) à explorer, et [une documentation](http://docs.qmk.fm) très abondante que vous pourrez parcourir. La plupart des fonctionnalités vous permettrons de modifier vos [dispositions](keymap.md) (keymaps) et de changer [les codes de caractères](keycodes.md) (keycodes).
|
QMK a beaucoup de [fonctionnalités](fr-fr/features.md) à explorer, et [une documentation](http://docs.qmk.fm) très abondante que vous pourrez parcourir. La plupart des fonctionnalités vous permettrons de modifier vos [dispositions](fr-fr/keymap.md) (keymaps) et de changer [les codes de caractères](fr-fr/keycodes.md) (keycodes).
|
||||||
+81
-81
@@ -29,97 +29,97 @@
|
|||||||
**En Anglais**
|
**En Anglais**
|
||||||
|
|
||||||
* Guides détaillés
|
* Guides détaillés
|
||||||
* [Installation des outils de compilation](getting_started_build_tools.md)
|
* [Installation des outils de compilation](fr-fr/getting_started_build_tools.md)
|
||||||
* [Guide Vagrant](getting_started_vagrant.md)
|
* [Guide Vagrant](fr-fr/getting_started_vagrant.md)
|
||||||
* [Commandes de compilations](getting_started_make_guide.md)
|
* [Commandes de compilations](fr-fr/getting_started_make_guide.md)
|
||||||
* [Flasher les firmwares](fr-fr/flashing.md)
|
* [Flasher les firmwares](fr-fr/flashing.md)
|
||||||
* [Personnaliser les fonctionnalités](custom_quantum_functions.md)
|
* [Personnaliser les fonctionnalités](fr-fr/custom_quantum_functions.md)
|
||||||
* [Aperçu des fonctionnalités des dispositions](keymap.md)
|
* [Aperçu des fonctionnalités des dispositions](fr-fr/keymap.md)
|
||||||
|
|
||||||
* [Hardware](hardware.md)
|
* [Hardware](fr-fr/hardware.md)
|
||||||
* [Processeurs AVR](hardware_avr.md)
|
* [Processeurs AVR](fr-fr/hardware_avr.md)
|
||||||
* [Pilotes / Drivers](hardware_drivers.md)
|
* [Pilotes / Drivers](fr-fr/hardware_drivers.md)
|
||||||
|
|
||||||
* Réferences
|
* Réferences
|
||||||
* [Lignes de conduite des claviers](hardware_keyboard_guidelines.md)
|
* [Lignes de conduite des claviers](fr-fr/hardware_keyboard_guidelines.md)
|
||||||
* [Options de configurations](config_options.md)
|
* [Options de configurations](fr-fr/config_options.md)
|
||||||
* [Keycodes / Codes des caractères](keycodes.md)
|
* [Keycodes / Codes des caractères](fr-fr/keycodes.md)
|
||||||
* [Conventions de codage - C](coding_conventions_c.md)
|
* [Conventions de codage - C](fr-fr/coding_conventions_c.md)
|
||||||
* [Conventions de codage - Python](coding_conventions_python.md)
|
* [Conventions de codage - Python](fr-fr/coding_conventions_python.md)
|
||||||
* [Meilleurs pratiques sur la documentation](documentation_best_practices.md)
|
* [Meilleurs pratiques sur la documentation](fr-fr/documentation_best_practices.md)
|
||||||
* [Modèles de documentation](documentation_templates.md)
|
* [Modèles de documentation](fr-fr/documentation_templates.md)
|
||||||
* [Glossaire](reference_glossary.md)
|
* [Glossaire](fr-fr/reference_glossary.md)
|
||||||
* [Tests unitaires](unit_testing.md)
|
* [Tests unitaires](fr-fr/unit_testing.md)
|
||||||
* [Fonctions utiles](ref_functions.md)
|
* [Fonctions utiles](fr-fr/ref_functions.md)
|
||||||
* [Support de configuration](reference_configurator_support.md)
|
* [Support de configuration](fr-fr/reference_configurator_support.md)
|
||||||
* [Format du fichier info.json](reference_info_json.md)
|
* [Format du fichier info.json](fr-fr/reference_info_json.md)
|
||||||
* [Développer la CLI en Python](cli_development.md)
|
* [Développer la CLI en Python](fr-fr/cli_development.md)
|
||||||
|
|
||||||
* [Fonctionnalités](features.md)
|
* [Fonctionnalités](fr-fr/features.md)
|
||||||
* [Keycodes basiques](keycodes_basic.md)
|
* [Keycodes basiques](fr-fr/keycodes_basic.md)
|
||||||
* [Touches utilisées avec Shift (US ANSI)](keycodes_us_ansi_shifted.md)
|
* [Touches utilisées avec Shift (US ANSI)](fr-fr/keycodes_us_ansi_shifted.md)
|
||||||
* [Keycodes quantiques](quantum_keycodes.md)
|
* [Keycodes quantiques](fr-fr/quantum_keycodes.md)
|
||||||
* [Keycodes avancés](feature_advanced_keycodes.md)
|
* [Keycodes avancés](fr-fr/feature_advanced_keycodes.md)
|
||||||
* [Fonctionnalités audio](feature_audio.md)
|
* [Fonctionnalités audio](fr-fr/feature_audio.md)
|
||||||
* [Majuscule automatique](feature_auto_shift.md)
|
* [Majuscule automatique](fr-fr/feature_auto_shift.md)
|
||||||
* [Rétroéclairage](feature_backlight.md)
|
* [Rétroéclairage](fr-fr/feature_backlight.md)
|
||||||
* [Bluetooth](feature_bluetooth.md)
|
* [Bluetooth](fr-fr/feature_bluetooth.md)
|
||||||
* [Bootmagic](feature_bootmagic.md)
|
* [Bootmagic](fr-fr/feature_bootmagic.md)
|
||||||
* [Combos](feature_combo.md)
|
* [Combos](fr-fr/feature_combo.md)
|
||||||
* [Commande](feature_command.md)
|
* [Commande](fr-fr/feature_command.md)
|
||||||
* [API anti-rebond](feature_debounce_type.md)
|
* [API anti-rebond](fr-fr/feature_debounce_type.md)
|
||||||
* [DIP Switch](feature_dip_switch.md)
|
* [DIP Switch](fr-fr/feature_dip_switch.md)
|
||||||
* [Macros dynamiques](feature_dynamic_macros.md)
|
* [Macros dynamiques](fr-fr/feature_dynamic_macros.md)
|
||||||
* [Interrupteurs rotatifs](feature_encoders.md)
|
* [Interrupteurs rotatifs](fr-fr/feature_encoders.md)
|
||||||
* [Grave Escape](feature_grave_esc.md)
|
* [Grave Escape](fr-fr/feature_grave_esc.md)
|
||||||
* [Retour haptique](feature_haptic_feedback.md)
|
* [Retour haptique](fr-fr/feature_haptic_feedback.md)
|
||||||
* [Contrôleur LCD HD44780](feature_hd44780.md)
|
* [Contrôleur LCD HD44780](fr-fr/feature_hd44780.md)
|
||||||
* [Touche à verrou / Lock-key](feature_key_lock.md)
|
* [Touche à verrou / Lock-key](fr-fr/feature_key_lock.md)
|
||||||
* [Dispositions / layouts](feature_layouts.md)
|
* [Dispositions / layouts](fr-fr/feature_layouts.md)
|
||||||
* [Touche leader](feature_leader_key.md)
|
* [Touche leader](fr-fr/feature_leader_key.md)
|
||||||
* [Matrice LED](feature_led_matrix.md)
|
* [Matrice LED](fr-fr/feature_led_matrix.md)
|
||||||
* [Macros](feature_macros.md)
|
* [Macros](fr-fr/feature_macros.md)
|
||||||
* [Boutons de souris](feature_mouse_keys.md)
|
* [Boutons de souris](fr-fr/feature_mouse_keys.md)
|
||||||
* [Pilotes / Drivers OLED](feature_oled_driver.md)
|
* [Pilotes / Drivers OLED](fr-fr/feature_oled_driver.md)
|
||||||
* [Touche one-shot](feature_advanced_keycodes.md#one-shot-keys)
|
* [Touche one-shot](fr-fr/feature_advanced_keycodes.md#one-shot-keys)
|
||||||
* [Périphériques de pointage](feature_pointing_device.md)
|
* [Périphériques de pointage](fr-fr/feature_pointing_device.md)
|
||||||
* [Souris PS/2](feature_ps2_mouse.md)
|
* [Souris PS/2](fr-fr/feature_ps2_mouse.md)
|
||||||
* [Éclairage RGB](feature_rgblight.md)
|
* [Éclairage RGB](fr-fr/feature_rgblight.md)
|
||||||
* [Matrice RGB](feature_rgb_matrix.md)
|
* [Matrice RGB](fr-fr/feature_rgb_matrix.md)
|
||||||
* [Space Cadet](feature_space_cadet.md)
|
* [Space Cadet](fr-fr/feature_space_cadet.md)
|
||||||
* [Claviers scindés / splittés](feature_split_keyboard.md)
|
* [Claviers scindés / splittés](fr-fr/feature_split_keyboard.md)
|
||||||
* [Stenographie](feature_stenography.md)
|
* [Stenographie](fr-fr/feature_stenography.md)
|
||||||
* [Inversion des mains](feature_swap_hands.md)
|
* [Inversion des mains](fr-fr/feature_swap_hands.md)
|
||||||
* [Tap Dance](feature_tap_dance.md)
|
* [Tap Dance](fr-fr/feature_tap_dance.md)
|
||||||
* [Terminale](feature_terminal.md)
|
* [Terminale](fr-fr/feature_terminal.md)
|
||||||
* [Imprimante thermique](feature_thermal_printer.md)
|
* [Imprimante thermique](fr-fr/feature_thermal_printer.md)
|
||||||
* [Caractères unicodes](feature_unicode.md)
|
* [Caractères unicodes](fr-fr/feature_unicode.md)
|
||||||
* [Dossier utilisateur](feature_userspace.md)
|
* [Dossier utilisateur](fr-fr/feature_userspace.md)
|
||||||
* [Velocikey](feature_velocikey.md)
|
* [Velocikey](fr-fr/feature_velocikey.md)
|
||||||
|
|
||||||
* Pour les makers et les bricoleurs
|
* Pour les makers et les bricoleurs
|
||||||
* [Guide des claviers soudés à la main](hand_wire.md)
|
* [Guide des claviers soudés à la main](fr-fr/hand_wire.md)
|
||||||
* [Guide de flash de l’ISP](isp_flashing_guide.md)
|
* [Guide de flash de l’ISP](fr-fr/isp_flashing_guide.md)
|
||||||
* [Guide du débogage ARM](arm_debugging.md)
|
* [Guide du débogage ARM](fr-fr/arm_debugging.md)
|
||||||
* [Drivers i2c](i2c_driver.md)
|
* [Drivers i2c](fr-fr/i2c_driver.md)
|
||||||
* [Contrôles des GPIO](internals_gpio_control.md)
|
* [Contrôles des GPIO](fr-fr/internals_gpio_control.md)
|
||||||
* [Conversion en Proton C](proton_c_conversion.md)
|
* [Conversion en Proton C](fr-fr/proton_c_conversion.md)
|
||||||
|
|
||||||
* Pour aller plus loin
|
* Pour aller plus loin
|
||||||
* [Comment fonctionnent les claviers](how_keyboards_work.md)
|
* [Comment fonctionnent les claviers](fr-fr/how_keyboards_work.md)
|
||||||
* [Comprendre QMK](understanding_qmk.md)
|
* [Comprendre QMK](fr-fr/understanding_qmk.md)
|
||||||
|
|
||||||
* Autres sujets
|
* Autres sujets
|
||||||
* [Utiliser Eclipse avec QMK](other_eclipse.md)
|
* [Utiliser Eclipse avec QMK](fr-fr/other_eclipse.md)
|
||||||
* [Utiliser VSCode avec QMK](other_vscode.md)
|
* [Utiliser VSCode avec QMK](fr-fr/other_vscode.md)
|
||||||
* [Support](support.md)
|
* [Support](fr-fr/support.md)
|
||||||
* [Comment ajouter des traductions](translating.md)
|
* [Comment ajouter des traductions](fr-fr/translating.md)
|
||||||
|
|
||||||
* À l’intérieur de QMK (En cours de documentation)
|
* À l’intérieur de QMK (En cours de documentation)
|
||||||
* [Définitions](internals_defines.md)
|
* [Définitions](fr-fr/internals_defines.md)
|
||||||
* [Input Callback Reg](internals_input_callback_reg.md)
|
* [Input Callback Reg](fr-fr/internals_input_callback_reg.md)
|
||||||
* [Appareils Midi](internals_midi_device.md)
|
* [Appareils Midi](fr-fr/internals_midi_device.md)
|
||||||
* [Installation d’un appareil Midi](internals_midi_device_setup_process.md)
|
* [Installation d’un appareil Midi](fr-fr/internals_midi_device_setup_process.md)
|
||||||
* [Utilitaires Midi](internals_midi_util.md)
|
* [Utilitaires Midi](fr-fr/internals_midi_util.md)
|
||||||
* [Fonctions Midi](internals_send_functions.md)
|
* [Fonctions Midi](fr-fr/internals_send_functions.md)
|
||||||
* [Outils Sysex](internals_sysex_tools.md)
|
* [Outils Sysex](fr-fr/internals_sysex_tools.md)
|
||||||
@@ -20,7 +20,7 @@ QMK (*Quantum Mechanical Keyboard*) היא קהילת קוד פתוח (open sour
|
|||||||
|
|
||||||
## איך לקמפל
|
## איך לקמפל
|
||||||
|
|
||||||
לפני שתצליחו לקמפל, תדרשו [להתקין סביבה](getting_started_build_tools.md) עבור פיתוח AVR ו/או ARM. ברגע שהדבר בוצע, תוכלו להריץ פקודת `make` כדי לבנות מקלדת ומיפוי עם התחביר הבא:
|
לפני שתצליחו לקמפל, תדרשו [להתקין סביבה](he-il/getting_started_build_tools.md) עבור פיתוח AVR ו/או ARM. ברגע שהדבר בוצע, תוכלו להריץ פקודת `make` כדי לבנות מקלדת ומיפוי עם התחביר הבא:
|
||||||
|
|
||||||
make planck/rev4:default
|
make planck/rev4:default
|
||||||
|
|
||||||
@@ -30,5 +30,5 @@ QMK (*Quantum Mechanical Keyboard*) היא קהילת קוד פתוח (open sour
|
|||||||
|
|
||||||
## איך להתאים
|
## איך להתאים
|
||||||
|
|
||||||
לQMK יש המון [יכולות](features.md) שאפשר לנווט בהן, וכמות נכבדת של [תיעוד ודוקומנטציה](http://docs.qmk.fm) בה אפשר לנבור. רוב הפיצ׳רים באים לידי ביטוי על ידי שינוי [מיפוי המקלדת](keymap.md) ושינוי [קודי המקשים](keycodes.md).
|
לQMK יש המון [יכולות](he-il/features.md) שאפשר לנווט בהן, וכמות נכבדת של [תיעוד ודוקומנטציה](http://docs.qmk.fm) בה אפשר לנבור. רוב הפיצ׳רים באים לידי ביטוי על ידי שינוי [מיפוי המקלדת](he-il/keymap.md) ושינוי [קודי המקשים](he-il/keycodes.md).
|
||||||
</div>
|
</div>
|
||||||
+106
-105
@@ -1,6 +1,7 @@
|
|||||||
<div dir="rtl" markdown="1">
|
<div dir="rtl" markdown="1">
|
||||||
|
|
||||||
**בשפה העברית**
|
**בשפה העברית**
|
||||||
* [המדריך המלא למתחילים](newbs.md)
|
* [המדריך המלא למתחילים](he-il/newbs.md)
|
||||||
* [מקורות ללמידה](he-il/newbs_learn_more_resources.md)
|
* [מקורות ללמידה](he-il/newbs_learn_more_resources.md)
|
||||||
* [בסיס QMK](he-il/README.md)
|
* [בסיס QMK](he-il/README.md)
|
||||||
* [מבוא לQMK](he-il/getting_started_introduction.md)
|
* [מבוא לQMK](he-il/getting_started_introduction.md)
|
||||||
@@ -13,126 +14,126 @@
|
|||||||
* [איך לתעד נכון](he-il/documentation_best_practices.md)
|
* [איך לתעד נכון](he-il/documentation_best_practices.md)
|
||||||
|
|
||||||
**בשפה האנגלית**
|
**בשפה האנגלית**
|
||||||
* [המדריך המלא למתחילים](newbs.md)
|
* [המדריך המלא למתחילים](he-il/newbs.md)
|
||||||
* [התחלה](newbs_getting_started.md)
|
* [התחלה](he-il/newbs_getting_started.md)
|
||||||
* [בנייה של הקושחה הראשונה שלך](newbs_building_firmware.md)
|
* [בנייה של הקושחה הראשונה שלך](he-il/newbs_building_firmware.md)
|
||||||
* [צריבה של הקושחה](newbs_flashing.md)
|
* [צריבה של הקושחה](he-il/newbs_flashing.md)
|
||||||
* [בדיקות ודיבאגינג](newbs_testing_debugging.md)
|
* [בדיקות ודיבאגינג](he-il/newbs_testing_debugging.md)
|
||||||
* [עבודה נכונה ב GIT](newbs_best_practices.md)
|
* [עבודה נכונה ב GIT](he-il/newbs_best_practices.md)
|
||||||
* [מקורות ללמידה](newbs_learn_more_resources.md)
|
* [מקורות ללמידה](he-il/newbs_learn_more_resources.md)
|
||||||
|
|
||||||
* [בסיס QMK](README.md)
|
* [בסיס QMK](he-il/README.md)
|
||||||
* [מבוא לQMK](getting_started_introduction.md)
|
* [מבוא לQMK](he-il/getting_started_introduction.md)
|
||||||
* [QMK CLI](cli.md)
|
* [QMK CLI](he-il/cli.md)
|
||||||
* [QMK CLI Config](cli_configuration.md)
|
* [QMK CLI Config](he-il/cli_configuration.md)
|
||||||
* [תרומה ל QMK](contributing.md)
|
* [תרומה ל QMK](he-il/contributing.md)
|
||||||
* [איך להשתמש בGithub](getting_started_github.md)
|
* [איך להשתמש בGithub](he-il/getting_started_github.md)
|
||||||
* [קבלת עזרה](getting_started_getting_help.md)
|
* [קבלת עזרה](he-il/getting_started_getting_help.md)
|
||||||
|
|
||||||
* [שינויים משמעותיים](breaking_changes.md)
|
* [שינויים משמעותיים](he-il/breaking_changes.md)
|
||||||
* [2019 Aug 30](ChangeLog/20190830.md)
|
* [2019 Aug 30](he-il/ChangeLog/20190830.md)
|
||||||
|
|
||||||
* [שאלות נפוצות](faq.md)
|
* [שאלות נפוצות](he-il/faq.md)
|
||||||
* [שאלות נפוצות כלליות](faq_general.md)
|
* [שאלות נפוצות כלליות](he-il/faq_general.md)
|
||||||
* [בנייה/קומפילציה של QMK](faq_build.md)
|
* [בנייה/קומפילציה של QMK](he-il/faq_build.md)
|
||||||
* [דיבאגינג ופתרון תקלות של QMK](faq_debug.md)
|
* [דיבאגינג ופתרון תקלות של QMK](he-il/faq_debug.md)
|
||||||
* [מיפוי מקשים](faq_keymap.md)
|
* [מיפוי מקשים](he-il/faq_keymap.md)
|
||||||
* [התקנת דרייברים עם Zadig](driver_installation_zadig.md)
|
* [התקנת דרייברים עם Zadig](he-il/driver_installation_zadig.md)
|
||||||
|
|
||||||
* מדריכים מפורטים
|
* מדריכים מפורטים
|
||||||
* [התקנת כלי Build](getting_started_build_tools.md)
|
* [התקנת כלי Build](he-il/getting_started_build_tools.md)
|
||||||
* [מדריך Vagrant](getting_started_vagrant.md)
|
* [מדריך Vagrant](he-il/getting_started_vagrant.md)
|
||||||
* [הוראות בנייה/קומפילציה](getting_started_make_guide.md)
|
* [הוראות בנייה/קומפילציה](he-il/getting_started_make_guide.md)
|
||||||
* [צריבת קושחה](flashing.md)
|
* [צריבת קושחה](he-il/flashing.md)
|
||||||
* [התאמה אישית של הפונקציונאליות](custom_quantum_functions.md)
|
* [התאמה אישית של הפונקציונאליות](he-il/custom_quantum_functions.md)
|
||||||
* [מיפוי מקשים](keymap.md)
|
* [מיפוי מקשים](he-il/keymap.md)
|
||||||
|
|
||||||
* [חומרה](hardware.md)
|
* [חומרה](he-il/hardware.md)
|
||||||
* [מעבדי AVR](hardware_avr.md)
|
* [מעבדי AVR](he-il/hardware_avr.md)
|
||||||
* [דרייברים](hardware_drivers.md)
|
* [דרייברים](he-il/hardware_drivers.md)
|
||||||
|
|
||||||
* התייחסויות
|
* התייחסויות
|
||||||
* [מדריך למקלדות](hardware_keyboard_guidelines.md)
|
* [מדריך למקלדות](he-il/hardware_keyboard_guidelines.md)
|
||||||
* [אפשרויות הגדרות](config_options.md)
|
* [אפשרויות הגדרות](he-il/config_options.md)
|
||||||
* [קודי מקשים](keycodes.md)
|
* [קודי מקשים](he-il/keycodes.md)
|
||||||
* [קונבנציות קוד - C](coding_conventions_c.md)
|
* [קונבנציות קוד - C](he-il/coding_conventions_c.md)
|
||||||
* [קונבנציות קוד - Python](coding_conventions_python.md)
|
* [קונבנציות קוד - Python](he-il/coding_conventions_python.md)
|
||||||
* [איך לתעד נכון](documentation_best_practices.md)
|
* [איך לתעד נכון](he-il/documentation_best_practices.md)
|
||||||
* [טמפלטים לדוקומנטציה](documentation_templates.md)
|
* [טמפלטים לדוקומנטציה](he-il/documentation_templates.md)
|
||||||
* [מילון](reference_glossary.md)
|
* [מילון](he-il/reference_glossary.md)
|
||||||
* [בדיקות יחידה](unit_testing.md)
|
* [בדיקות יחידה](he-il/unit_testing.md)
|
||||||
* [פונקציות שימושיות](ref_functions.md)
|
* [פונקציות שימושיות](he-il/ref_functions.md)
|
||||||
* [תמיכה בConfigurator](reference_configurator_support.md)
|
* [תמיכה בConfigurator](he-il/reference_configurator_support.md)
|
||||||
* [פורמט info.json](reference_info_json.md)
|
* [פורמט info.json](he-il/reference_info_json.md)
|
||||||
* [פיתוח בPython CLI](cli_development.md)
|
* [פיתוח בPython CLI](he-il/cli_development.md)
|
||||||
|
|
||||||
* [תכונות](features.md)
|
* [תכונות](he-il/features.md)
|
||||||
* [Basic Keycodes](keycodes_basic.md)
|
* [Basic Keycodes](he-il/keycodes_basic.md)
|
||||||
* [US ANSI Shifted Keys](keycodes_us_ansi_shifted.md)
|
* [US ANSI Shifted Keys](he-il/keycodes_us_ansi_shifted.md)
|
||||||
* [Quantum Keycodes](quantum_keycodes.md)
|
* [Quantum Keycodes](he-il/quantum_keycodes.md)
|
||||||
* [Advanced Keycodes](feature_advanced_keycodes.md)
|
* [Advanced Keycodes](he-il/feature_advanced_keycodes.md)
|
||||||
* [Audio](feature_audio.md)
|
* [Audio](he-il/feature_audio.md)
|
||||||
* [Auto Shift](feature_auto_shift.md)
|
* [Auto Shift](he-il/feature_auto_shift.md)
|
||||||
* [Backlight](feature_backlight.md)
|
* [Backlight](he-il/feature_backlight.md)
|
||||||
* [Bluetooth](feature_bluetooth.md)
|
* [Bluetooth](he-il/feature_bluetooth.md)
|
||||||
* [Bootmagic](feature_bootmagic.md)
|
* [Bootmagic](he-il/feature_bootmagic.md)
|
||||||
* [Combos](feature_combo.md)
|
* [Combos](he-il/feature_combo.md)
|
||||||
* [Command](feature_command.md)
|
* [Command](he-il/feature_command.md)
|
||||||
* [Debounce API](feature_debounce_type.md)
|
* [Debounce API](he-il/feature_debounce_type.md)
|
||||||
* [DIP Switch](feature_dip_switch.md)
|
* [DIP Switch](he-il/feature_dip_switch.md)
|
||||||
* [Dynamic Macros](feature_dynamic_macros.md)
|
* [Dynamic Macros](he-il/feature_dynamic_macros.md)
|
||||||
* [Encoders](feature_encoders.md)
|
* [Encoders](he-il/feature_encoders.md)
|
||||||
* [Grave Escape](feature_grave_esc.md)
|
* [Grave Escape](he-il/feature_grave_esc.md)
|
||||||
* [Haptic Feedback](feature_haptic_feedback.md)
|
* [Haptic Feedback](he-il/feature_haptic_feedback.md)
|
||||||
* [HD44780 LCD Controller](feature_hd44780.md)
|
* [HD44780 LCD Controller](he-il/feature_hd44780.md)
|
||||||
* [Key Lock](feature_key_lock.md)
|
* [Key Lock](he-il/feature_key_lock.md)
|
||||||
* [Layouts](feature_layouts.md)
|
* [Layouts](he-il/feature_layouts.md)
|
||||||
* [Leader Key](feature_leader_key.md)
|
* [Leader Key](he-il/feature_leader_key.md)
|
||||||
* [LED Matrix](feature_led_matrix.md)
|
* [LED Matrix](he-il/feature_led_matrix.md)
|
||||||
* [Macros](feature_macros.md)
|
* [Macros](he-il/feature_macros.md)
|
||||||
* [Mouse Keys](feature_mouse_keys.md)
|
* [Mouse Keys](he-il/feature_mouse_keys.md)
|
||||||
* [OLED Driver](feature_oled_driver.md)
|
* [OLED Driver](he-il/feature_oled_driver.md)
|
||||||
* [One Shot Keys](feature_advanced_keycodes.md#one-shot-keys)
|
* [One Shot Keys](he-il/feature_advanced_keycodes.md#one-shot-keys)
|
||||||
* [Pointing Device](feature_pointing_device.md)
|
* [Pointing Device](he-il/feature_pointing_device.md)
|
||||||
* [PS/2 Mouse](feature_ps2_mouse.md)
|
* [PS/2 Mouse](he-il/feature_ps2_mouse.md)
|
||||||
* [RGB Lighting](feature_rgblight.md)
|
* [RGB Lighting](he-il/feature_rgblight.md)
|
||||||
* [RGB Matrix](feature_rgb_matrix.md)
|
* [RGB Matrix](he-il/feature_rgb_matrix.md)
|
||||||
* [Space Cadet](feature_space_cadet.md)
|
* [Space Cadet](he-il/feature_space_cadet.md)
|
||||||
* [Split Keyboard](feature_split_keyboard.md)
|
* [Split Keyboard](he-il/feature_split_keyboard.md)
|
||||||
* [Stenography](feature_stenography.md)
|
* [Stenography](he-il/feature_stenography.md)
|
||||||
* [Swap Hands](feature_swap_hands.md)
|
* [Swap Hands](he-il/feature_swap_hands.md)
|
||||||
* [Tap Dance](feature_tap_dance.md)
|
* [Tap Dance](he-il/feature_tap_dance.md)
|
||||||
* [Terminal](feature_terminal.md)
|
* [Terminal](he-il/feature_terminal.md)
|
||||||
* [Thermal Printer](feature_thermal_printer.md)
|
* [Thermal Printer](he-il/feature_thermal_printer.md)
|
||||||
* [Unicode](feature_unicode.md)
|
* [Unicode](he-il/feature_unicode.md)
|
||||||
* [Userspace](feature_userspace.md)
|
* [Userspace](he-il/feature_userspace.md)
|
||||||
* [Velocikey](feature_velocikey.md)
|
* [Velocikey](he-il/feature_velocikey.md)
|
||||||
|
|
||||||
* למייקרים ומודרים
|
* למייקרים ומודרים
|
||||||
* [מדריך לכתיבה ידנית](hand_wire.md)
|
* [מדריך לכתיבה ידנית](he-il/hand_wire.md)
|
||||||
* [מדריך לצריבת ISP](isp_flashing_guide.md)
|
* [מדריך לצריבת ISP](he-il/isp_flashing_guide.md)
|
||||||
* [מדריך לדיבאגינג ARM](arm_debugging.md)
|
* [מדריך לדיבאגינג ARM](he-il/arm_debugging.md)
|
||||||
* [מנהל התקן I2C](i2c_driver.md)
|
* [מנהל התקן I2C](he-il/i2c_driver.md)
|
||||||
* [בקרת GPIO](internals_gpio_control.md)
|
* [בקרת GPIO](he-il/internals_gpio_control.md)
|
||||||
* [המרת Proton C](proton_c_conversion.md)
|
* [המרת Proton C](he-il/proton_c_conversion.md)
|
||||||
|
|
||||||
* להבנה עמוקה יותר
|
* להבנה עמוקה יותר
|
||||||
* [איך עובדות מקלדות](how_keyboards_work.md)
|
* [איך עובדות מקלדות](he-il/how_keyboards_work.md)
|
||||||
* [להבין את QMK](understanding_qmk.md)
|
* [להבין את QMK](he-il/understanding_qmk.md)
|
||||||
|
|
||||||
* נושאים נוספים
|
* נושאים נוספים
|
||||||
* [שימוש ב - Eclipse עם QMK](other_eclipse.md)
|
* [שימוש ב - Eclipse עם QMK](he-il/other_eclipse.md)
|
||||||
* [שימוש ב - VSCode עם QMK](other_vscode.md)
|
* [שימוש ב - VSCode עם QMK](he-il/other_vscode.md)
|
||||||
* [תמיכה](support.md)
|
* [תמיכה](he-il/support.md)
|
||||||
* [כיצד להוסיף תרגום](translating.md)
|
* [כיצד להוסיף תרגום](he-il/translating.md)
|
||||||
|
|
||||||
* QMK מבפנים (בתהליך)
|
* QMK מבפנים (בתהליך)
|
||||||
* [Defines](internals_defines.md)
|
* [Defines](he-il/internals_defines.md)
|
||||||
* [Input Callback Reg](internals_input_callback_reg.md)
|
* [Input Callback Reg](he-il/internals_input_callback_reg.md)
|
||||||
* [Midi Device](internals_midi_device.md)
|
* [Midi Device](he-il/internals_midi_device.md)
|
||||||
* [Midi Device Setup Process](internals_midi_device_setup_process.md)
|
* [Midi Device Setup Process](he-il/internals_midi_device_setup_process.md)
|
||||||
* [Midi Util](internals_midi_util.md)
|
* [Midi Util](he-il/internals_midi_util.md)
|
||||||
* [Send Functions](internals_send_functions.md)
|
* [Send Functions](he-il/internals_send_functions.md)
|
||||||
* [Sysex Tools](internals_sysex_tools.md)
|
* [Sysex Tools](he-il/internals_sysex_tools.md)
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
+11
-2
@@ -21,7 +21,7 @@
|
|||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
<script>
|
<script>
|
||||||
window.$docsify = {
|
window.$docsify = {
|
||||||
alias : {
|
alias: {
|
||||||
'/en/(.*)': '/$1',
|
'/en/(.*)': '/$1',
|
||||||
'/en-us/(.*)': '/$1',
|
'/en-us/(.*)': '/$1',
|
||||||
'/en-gb/(.*)': '/$1',
|
'/en-gb/(.*)': '/$1',
|
||||||
@@ -29,7 +29,16 @@
|
|||||||
},
|
},
|
||||||
basePath: '/',
|
basePath: '/',
|
||||||
name: 'QMK Firmware',
|
name: 'QMK Firmware',
|
||||||
nameLink: '/',
|
nameLink: {
|
||||||
|
'/de/': '/#/de/',
|
||||||
|
'/es/': '/#/es/',
|
||||||
|
'/fr-fr/': '/#/fr-fr/',
|
||||||
|
'/he-il/': '/#/he-il/',
|
||||||
|
'/ja/': '/#/ja/',
|
||||||
|
'/ru-ru/': '/#/ru-ru/',
|
||||||
|
'/zh-cn/': '/#/zh-cn/',
|
||||||
|
'/': '/#/'
|
||||||
|
},
|
||||||
repo: 'qmk/qmk_firmware',
|
repo: 'qmk/qmk_firmware',
|
||||||
loadSidebar: '_summary.md',
|
loadSidebar: '_summary.md',
|
||||||
loadNavbar: '_langs.md',
|
loadNavbar: '_langs.md',
|
||||||
|
|||||||
+19
-19
@@ -389,12 +389,12 @@ This is a reference only. Each group of keys links to the page documenting their
|
|||||||
|`RGB_TOG` | |Toggle RGB lighting on or off |
|
|`RGB_TOG` | |Toggle RGB lighting on or off |
|
||||||
|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held |
|
|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held |
|
||||||
|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held|
|
|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held|
|
||||||
|`RGB_HUI` | |Increase hue |
|
|`RGB_HUI` | |Increase hue, decrease hue when Shift is held |
|
||||||
|`RGB_HUD` | |Decrease hue |
|
|`RGB_HUD` | |Decrease hue, increase hue when Shift is held |
|
||||||
|`RGB_SAI` | |Increase saturation |
|
|`RGB_SAI` | |Increase saturation, decrease saturation when Shift is held |
|
||||||
|`RGB_SAD` | |Decrease saturation |
|
|`RGB_SAD` | |Decrease saturation, increase saturation when Shift is held |
|
||||||
|`RGB_VAI` | |Increase value (brightness) |
|
|`RGB_VAI` | |Increase value (brightness), decrease value when Shift is held |
|
||||||
|`RGB_VAD` | |Decrease value (brightness) |
|
|`RGB_VAD` | |Decrease value (brightness), increase value when Shift is held |
|
||||||
|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode |
|
|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode |
|
||||||
|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode |
|
|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode |
|
||||||
|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode |
|
|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode |
|
||||||
@@ -407,19 +407,19 @@ This is a reference only. Each group of keys links to the page documenting their
|
|||||||
|
|
||||||
## [RGB Matrix Lighting](feature_rgb_matrix.md)
|
## [RGB Matrix Lighting](feature_rgb_matrix.md)
|
||||||
|
|
||||||
|Key |Aliases |Description |
|
|Key |Aliases |Description |
|
||||||
|-------------------|----------|--------------------------------------------------------------------|
|
|-------------------|----------|--------------------------------------------------------------------------------------|
|
||||||
|`RGB_TOG` | |Toggle RGB lighting on or off |
|
|`RGB_TOG` | |Toggle RGB lighting on or off |
|
||||||
|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held |
|
|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held |
|
||||||
|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held|
|
|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held |
|
||||||
|`RGB_HUI` | |Increase hue |
|
|`RGB_HUI` | |Increase hue, decrease hue when Shift is held |
|
||||||
|`RGB_HUD` | |Decrease hue |
|
|`RGB_HUD` | |Decrease hue, increase hue when Shift is held |
|
||||||
|`RGB_SAI` | |Increase saturation |
|
|`RGB_SAI` | |Increase saturation, decrease saturation when Shift is held |
|
||||||
|`RGB_SAD` | |Decrease saturation |
|
|`RGB_SAD` | |Decrease saturation, increase saturation when Shift is held |
|
||||||
|`RGB_VAI` | |Increase value (brightness) |
|
|`RGB_VAI` | |Increase value (brightness), decrease value when Shift is held |
|
||||||
|`RGB_VAD` | |Decrease value (brightness) |
|
|`RGB_VAD` | |Decrease value (brightness), increase value when Shift is held |
|
||||||
|`RGB_SPI` | |Increase effect speed (does no support eeprom yet) |
|
|`RGB_SPI` | |Increase effect speed (does not support eeprom yet), decrease speed when Shift is held|
|
||||||
|`RGB_SPD` | |Decrease effect speed (does no support eeprom yet) |
|
|`RGB_SPD` | |Decrease effect speed (does not support eeprom yet), increase speed when Shift is held|
|
||||||
|
|
||||||
## [Thermal Printer](feature_thermal_printer.md)
|
## [Thermal Printer](feature_thermal_printer.md)
|
||||||
|
|
||||||
|
|||||||
+7
-1
@@ -32,6 +32,12 @@ Once you've finished translating a new language, you'll also need to modify the
|
|||||||
'/zh-cn/': '没有结果!',
|
'/zh-cn/': '没有结果!',
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The `nameLink` object, for setting the "QMK Firmware" heading link in the sidebar, must also be added to:
|
||||||
|
|
||||||
|
```js
|
||||||
|
'/zh-cn/': '/#/zh-cn/',
|
||||||
|
```
|
||||||
|
|
||||||
And make sure to add the language folder in the `fallbackLanguages` list, so it will properly fall back to English instead of 404ing:
|
And make sure to add the language folder in the `fallbackLanguages` list, so it will properly fall back to English instead of 404ing:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
@@ -44,6 +50,6 @@ Once you've finished translating a new language, you'll also need to modify the
|
|||||||
|
|
||||||
## Previewing the Translations
|
## Previewing the Translations
|
||||||
|
|
||||||
See (Previewing the Documentation)[contributing.md#previewing-the-documentation] for how to set up a local instance of the docs - you should be able to select your new language from the "Translations" menu at the top-right.
|
See [Previewing the Documentation](contributing.md#previewing-the-documentation) for how to set up a local instance of the docs - you should be able to select your new language from the "Translations" menu at the top-right.
|
||||||
|
|
||||||
Once you're happy with your work, feel free to open a pull request!
|
Once you're happy with your work, feel free to open a pull request!
|
||||||
@@ -19,7 +19,7 @@ QMK (*Quantum Mechanical Keyboard*) 是一个社区维护的开源软件,包
|
|||||||
|
|
||||||
## 如何编译
|
## 如何编译
|
||||||
|
|
||||||
在你能编译之前, 你需要[部署环境](getting_started_build_tools.md) 用于 AVR or/and ARM 开发。完成后, 你可以使用 `make` 命令来编译一个键盘和布局使用以下命令:
|
在你能编译之前, 你需要[部署环境](zh-cn/getting_started_build_tools.md) 用于 AVR or/and ARM 开发。完成后, 你可以使用 `make` 命令来编译一个键盘和布局使用以下命令:
|
||||||
|
|
||||||
make planck/rev4:default
|
make planck/rev4:default
|
||||||
|
|
||||||
@@ -29,4 +29,4 @@ QMK (*Quantum Mechanical Keyboard*) 是一个社区维护的开源软件,包
|
|||||||
|
|
||||||
## 如何定制
|
## 如何定制
|
||||||
|
|
||||||
QMK 有许多 [特性](features.md)来探索,也有很多 [参考文档](http://docs.qmk.fm) 供您发掘。你可以通过修改 [布局](keymap.md)和[键码](keycodes.md)来利用许多特性。
|
QMK 有许多 [特性](zh-cn/features.md)来探索,也有很多 [参考文档](http://docs.qmk.fm) 供您发掘。你可以通过修改 [布局](zh-cn/keymap.md)和[键码](zh-cn/keycodes.md)来利用许多特性。
|
||||||
+32
-18
@@ -24,10 +24,10 @@
|
|||||||
# include "wait.h"
|
# include "wait.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "is31fl3733.h"
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "i2c_master.h"
|
#include "i2c_master.h"
|
||||||
#include "progmem.h"
|
#include "progmem.h"
|
||||||
|
#include "is31fl3733.h"
|
||||||
|
|
||||||
// This is a 7-bit address, that gets left-shifted and bit 0
|
// This is a 7-bit address, that gets left-shifted and bit 0
|
||||||
// set to 0 for write, 1 for read (as per I2C protocol)
|
// set to 0 for write, 1 for read (as per I2C protocol)
|
||||||
@@ -80,43 +80,54 @@ bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false};
|
|||||||
uint8_t g_led_control_registers[DRIVER_COUNT][24] = {{0}, {0}};
|
uint8_t g_led_control_registers[DRIVER_COUNT][24] = {{0}, {0}};
|
||||||
bool g_led_control_registers_update_required[DRIVER_COUNT] = {false};
|
bool g_led_control_registers_update_required[DRIVER_COUNT] = {false};
|
||||||
|
|
||||||
void IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
|
bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
|
||||||
|
// If the transaction fails function returns false.
|
||||||
g_twi_transfer_buffer[0] = reg;
|
g_twi_transfer_buffer[0] = reg;
|
||||||
g_twi_transfer_buffer[1] = data;
|
g_twi_transfer_buffer[1] = data;
|
||||||
|
|
||||||
#if ISSI_PERSISTENCE > 0
|
#if ISSI_PERSISTENCE > 0
|
||||||
for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) {
|
for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) {
|
||||||
if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) == 0) break;
|
if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) != 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT);
|
if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 2, ISSI_TIMEOUT) != 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
|
bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
|
||||||
// assumes PG1 is already selected
|
// Assumes PG1 is already selected.
|
||||||
|
// If any of the transactions fails function returns false.
|
||||||
// transmit PWM registers in 12 transfers of 16 bytes
|
// Transmit PWM registers in 12 transfers of 16 bytes.
|
||||||
// g_twi_transfer_buffer[] is 20 bytes
|
// g_twi_transfer_buffer[] is 20 bytes
|
||||||
|
|
||||||
// iterate over the pwm_buffer contents at 16 byte intervals
|
// Iterate over the pwm_buffer contents at 16 byte intervals.
|
||||||
for (int i = 0; i < 192; i += 16) {
|
for (int i = 0; i < 192; i += 16) {
|
||||||
g_twi_transfer_buffer[0] = i;
|
g_twi_transfer_buffer[0] = i;
|
||||||
// copy the data from i to i+15
|
// Copy the data from i to i+15.
|
||||||
// device will auto-increment register for data after the first byte
|
// Device will auto-increment register for data after the first byte
|
||||||
// thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer
|
// Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer.
|
||||||
for (int j = 0; j < 16; j++) {
|
for (int j = 0; j < 16; j++) {
|
||||||
g_twi_transfer_buffer[1 + j] = pwm_buffer[i + j];
|
g_twi_transfer_buffer[1 + j] = pwm_buffer[i + j];
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ISSI_PERSISTENCE > 0
|
#if ISSI_PERSISTENCE > 0
|
||||||
for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) {
|
for (uint8_t i = 0; i < ISSI_PERSISTENCE; i++) {
|
||||||
if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) == 0) break;
|
if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) != 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT);
|
if (i2c_transmit(addr << 1, g_twi_transfer_buffer, 17, ISSI_TIMEOUT) != 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void IS31FL3733_init(uint8_t addr, uint8_t sync) {
|
void IS31FL3733_init(uint8_t addr, uint8_t sync) {
|
||||||
@@ -213,11 +224,15 @@ void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bo
|
|||||||
|
|
||||||
void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index) {
|
void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index) {
|
||||||
if (g_pwm_buffer_update_required[index]) {
|
if (g_pwm_buffer_update_required[index]) {
|
||||||
// Firstly we need to unlock the command register and select PG1
|
// Firstly we need to unlock the command register and select PG1.
|
||||||
IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
|
IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
|
||||||
IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM);
|
IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM);
|
||||||
|
|
||||||
IS31FL3733_write_pwm_buffer(addr, g_pwm_buffer[index]);
|
// If any of the transactions fail we risk writing dirty PG0,
|
||||||
|
// refresh page 0 just in case.
|
||||||
|
if (!IS31FL3733_write_pwm_buffer(addr, g_pwm_buffer[index])){
|
||||||
|
g_led_control_registers_update_required[index] = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
g_pwm_buffer_update_required[index] = false;
|
g_pwm_buffer_update_required[index] = false;
|
||||||
}
|
}
|
||||||
@@ -231,6 +246,5 @@ void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index) {
|
|||||||
IS31FL3733_write_register(addr, i, g_led_control_registers[index][i]);
|
IS31FL3733_write_register(addr, i, g_led_control_registers[index][i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// This seems counter intuitive but sometimes this page can get corrupted. So update it every time.
|
g_led_control_registers_update_required[index] = false;
|
||||||
// g_led_control_registers_update_required[index] = false;
|
|
||||||
}
|
}
|
||||||
@@ -32,8 +32,8 @@ typedef struct is31_led {
|
|||||||
extern const is31_led g_is31_leds[DRIVER_LED_TOTAL];
|
extern const is31_led g_is31_leds[DRIVER_LED_TOTAL];
|
||||||
|
|
||||||
void IS31FL3733_init(uint8_t addr, uint8_t sync);
|
void IS31FL3733_init(uint8_t addr, uint8_t sync);
|
||||||
void IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data);
|
bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data);
|
||||||
void IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
|
bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
|
||||||
|
|
||||||
void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
|
void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
|
||||||
void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
|
void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
#include "7skb.h"
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#ifdef KEYBOARD_7skb_rev1
|
||||||
|
#include "rev1.h"
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2012 Jun Wako <[email protected]>
|
||||||
|
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
|
||||||
|
|
||||||
|
#include "config_common.h"
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "7skb",
|
||||||
|
"url": "https://salicylic-acid3.hatenablog.com/",
|
||||||
|
"maintainer": "Salicylic_acid3",
|
||||||
|
"width": 16,
|
||||||
|
"height": 5,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"Esc", "x":0, "y":0},
|
||||||
|
{"label":"1", "x":1, "y":0},
|
||||||
|
{"label":"2", "x":2, "y":0},
|
||||||
|
{"label":"3", "x":3, "y":0},
|
||||||
|
{"label":"4", "x":4, "y":0},
|
||||||
|
{"label":"5", "x":5, "y":0},
|
||||||
|
{"label":"6", "x":7, "y":0},
|
||||||
|
{"label":"7", "x":8, "y":0},
|
||||||
|
{"label":"8", "x":9, "y":0},
|
||||||
|
{"label":"9", "x":10, "y":0},
|
||||||
|
{"label":"0", "x":11, "y":0},
|
||||||
|
{"label":"-", "x":12, "y":0},
|
||||||
|
{"label":"=", "x":13, "y":0},
|
||||||
|
{"label":"\\", "x":14, "y":0},
|
||||||
|
{"label":"`", "x":15, "y":0},
|
||||||
|
{"label":"Tab", "x":0, "y":1, "w":1.5},
|
||||||
|
{"label":"Q", "x":1.5, "y":1},
|
||||||
|
{"label":"W", "x":2.5, "y":1},
|
||||||
|
{"label":"E", "x":3.5, "y":1},
|
||||||
|
{"label":"R", "x":4.5, "y":1},
|
||||||
|
{"label":"T", "x":5.5, "y":1},
|
||||||
|
{"label":"Y", "x":7.5, "y":1},
|
||||||
|
{"label":"U", "x":8.5, "y":1},
|
||||||
|
{"label":"I", "x":9.5, "y":1},
|
||||||
|
{"label":"O", "x":10.5, "y":1},
|
||||||
|
{"label":"P", "x":11.5, "y":1},
|
||||||
|
{"label":"[", "x":12.5, "y":1},
|
||||||
|
{"label":"]", "x":13.5, "y":1},
|
||||||
|
{"label":"Delete", "x":14.5, "y":1, "w":1.5},
|
||||||
|
{"label":"Control", "x":0, "y":2, "w":1.75},
|
||||||
|
{"label":"A", "x":1.75, "y":2},
|
||||||
|
{"label":"S", "x":2.75, "y":2},
|
||||||
|
{"label":"D", "x":3.75, "y":2},
|
||||||
|
{"label":"F", "x":4.75, "y":2},
|
||||||
|
{"label":"G", "x":5.75, "y":2},
|
||||||
|
{"label":"H", "x":7.75, "y":2},
|
||||||
|
{"label":"J", "x":8.75, "y":2},
|
||||||
|
{"label":"K", "x":9.75, "y":2},
|
||||||
|
{"label":"L", "x":10.75, "y":2},
|
||||||
|
{"label":";", "x":11.75, "y":2},
|
||||||
|
{"label":"'", "x":12.75, "y":2},
|
||||||
|
{"label":"Enter", "x":13.75, "y":2, "w":2.25},
|
||||||
|
{"label":"Shift", "x":0, "y":3, "w":2.25},
|
||||||
|
{"label":"Z", "x":2.25, "y":3},
|
||||||
|
{"label":"X", "x":3.25, "y":3},
|
||||||
|
{"label":"C", "x":4.25, "y":3},
|
||||||
|
{"label":"V", "x":5.25, "y":3},
|
||||||
|
{"label":"B", "x":6.25, "y":3},
|
||||||
|
{"label":"N", "x":8.25, "y":3},
|
||||||
|
{"label":"M", "x":9.25, "y":3},
|
||||||
|
{"label":",", "x":10.25, "y":3},
|
||||||
|
{"label":".", "x":11.25, "y":3},
|
||||||
|
{"label":"/", "x":12.25, "y":3},
|
||||||
|
{"label":"Shift", "x":13.25, "y":3, "w":1.75},
|
||||||
|
{"label":"Fn", "x":15, "y":3},
|
||||||
|
{"label":"Alt", "x":1.5, "y":4},
|
||||||
|
{"label":"GUI", "x":2.5, "y":4, "w":1.5},
|
||||||
|
{"x":4, "y":4, "w":1.5},
|
||||||
|
{"x":5.5, "y":4, "w":1.25},
|
||||||
|
{"x":7.75, "y":4, "w":1.25},
|
||||||
|
{"x":9, "y":4, "w":2},
|
||||||
|
{"label":"GUI", "x":11, "y":4, "w":1.5},
|
||||||
|
{"label":"Alt", "x":12.5, "y":4}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
/* Copyright 2018 Salicylic_acid3
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
/* Select hand configuration */
|
||||||
|
|
||||||
|
#define TAPPING_FORCE_HOLD
|
||||||
|
#define TAPPING_TERM 180
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
//Following line allows macro to read current RGB settings
|
||||||
|
extern rgblight_config_t rgblight_config;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern uint8_t is_master;
|
||||||
|
|
||||||
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||||
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
|
// entirely and just use numbers.
|
||||||
|
enum layer_number {
|
||||||
|
_QWERTY = 0,
|
||||||
|
_FN,
|
||||||
|
_ADJUST,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum custom_keycodes {
|
||||||
|
RGB_RST = SAFE_RANGE
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_QWERTY] = LAYOUT(
|
||||||
|
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS,KC_GRAVE,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LCBR, KC_RCBR,KC_BSPC,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN),
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT
|
||||||
|
//`---------------------------------------------| |--------------------------------------------'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FN] = LAYOUT(
|
||||||
|
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
|
||||||
|
TG(_ADJUST), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK,KC_PAUSE, KC_UP, _______, KC_BSPC,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT,KC_RIGHT, _______,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, _______, _______, _______, KC_STOP, _______
|
||||||
|
//`---------------------------------------------| |--------------------------------------------'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_ADJUST] = LAYOUT( /* Base */
|
||||||
|
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
|
||||||
|
TG(_ADJUST), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_STOP, XXXXXXX
|
||||||
|
//`---------------------------------------------| |--------------------------------------------'
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//A description for expressing the layer position in LED mode.
|
||||||
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
switch (get_highest_layer(state)) {
|
||||||
|
case _FN:
|
||||||
|
rgblight_sethsv_at(HSV_BLUE, 0);
|
||||||
|
break;
|
||||||
|
case _ADJUST:
|
||||||
|
rgblight_sethsv_at(HSV_PURPLE, 0);
|
||||||
|
break;
|
||||||
|
default: // for any other layers, or the default layer
|
||||||
|
rgblight_sethsv_at( 0, 0, 0, 0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
rgblight_set_effect_range( 1, 4);
|
||||||
|
#endif
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
int RGB_current_mode;
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
bool result = false;
|
||||||
|
switch (keycode) {
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
case RGB_MOD:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
rgblight_mode(RGB_current_mode);
|
||||||
|
rgblight_step();
|
||||||
|
RGB_current_mode = rgblight_config.mode;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case RGB_RST:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
eeconfig_update_rgblight_default();
|
||||||
|
rgblight_enable();
|
||||||
|
RGB_current_mode = rgblight_config.mode;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
default:
|
||||||
|
result = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
/* Copyright 2018 Salicylic_acid3
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
/* Select hand configuration */
|
||||||
|
|
||||||
|
#define TAPPING_FORCE_HOLD
|
||||||
|
#define TAPPING_TERM 180
|
||||||
|
//#define MASTER_RIGHT
|
||||||
@@ -0,0 +1,181 @@
|
|||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
#include "keymap_jp.h"
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
//Following line allows macro to read current RGB settings
|
||||||
|
extern rgblight_config_t rgblight_config;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern uint8_t is_master;
|
||||||
|
|
||||||
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||||
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
|
// entirely and just use numbers.
|
||||||
|
enum layer_number {
|
||||||
|
_QWERTY = 0,
|
||||||
|
_FLOCK,
|
||||||
|
_FN,
|
||||||
|
_LOWER,
|
||||||
|
_RAISE,
|
||||||
|
_ADJUST,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum custom_keycodes {
|
||||||
|
RGB_RST = SAFE_RANGE
|
||||||
|
};
|
||||||
|
|
||||||
|
enum tapdances{
|
||||||
|
TD_ESFL = 0,
|
||||||
|
TD_ESQW,
|
||||||
|
};
|
||||||
|
|
||||||
|
qk_tap_dance_action_t tap_dance_actions[] = {
|
||||||
|
[TD_ESFL] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _FLOCK),
|
||||||
|
[TD_ESQW] = ACTION_TAP_DANCE_DUAL_ROLE(KC_ESC, _QWERTY),
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_QWERTY] = LAYOUT(
|
||||||
|
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
|
||||||
|
TD(TD_ESFL), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, JP_MINS, JP_EQL, JP_BSLS, KC_ZKHK,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_LBRC, JP_RBRC,KC_BSPC,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, JP_BSLS, KC_ENT,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, JP_SLSH, KC_RSFT, MO(_FN),
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_ZKHK,LGUI_T(KC_MHEN),LT(_LOWER,KC_ENT), KC_BSPC, KC_DEL, LT(_RAISE,KC_SPC),ALT_T(KC_HENK), KC_APP
|
||||||
|
//`---------------------------------------------| |--------------------------------------------'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FLOCK] = LAYOUT(
|
||||||
|
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
|
||||||
|
TD(TD_ESQW), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
//`---------------------------------------------| |--------------------------------------------'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FN] = 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_DEL,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK,KC_PAUSE, KC_UP, _______, KC_BSPC,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT,KC_RIGHT, _______,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, _______, _______, _______, KC_STOP, _______
|
||||||
|
//`---------------------------------------------| |--------------------------------------------'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_LOWER] = 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_INS, KC_DEL,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
JP_QUOT, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, KC_BSPC,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, _______,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______,MO(_LOWER), _______, _______, MO(_RAISE), JP_DOT, _______
|
||||||
|
//`---------------------------------------------| |--------------------------------------------'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_RAISE] = 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_INS, KC_DEL,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, XXXXXXX, _______, KC_BSPC,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
LCTL_T(KC_F11),XXXXXXX, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX, _______,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, _______, _______,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
//`---------------------------------------------| |--------------------------------------------'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_ADJUST] = LAYOUT( /* Base */
|
||||||
|
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, LCA(KC_DEL), LALT(KC_PSCR),KC_PSCR, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
XXXXXXX, XXXXXXX, _______, RESET, RESET, _______, KC_STOP, XXXXXXX
|
||||||
|
//`---------------------------------------------| |--------------------------------------------'
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//A description for expressing the layer position in LED mode.
|
||||||
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
|
state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
switch (get_highest_layer(state)) {
|
||||||
|
case _FLOCK:
|
||||||
|
rgblight_sethsv_at(HSV_YELLOW, 0);
|
||||||
|
break;
|
||||||
|
case _FN:
|
||||||
|
rgblight_sethsv_at(HSV_GREEN, 0);
|
||||||
|
break;
|
||||||
|
case _LOWER:
|
||||||
|
rgblight_sethsv_at(HSV_BLUE, 0);
|
||||||
|
break;
|
||||||
|
case _RAISE:
|
||||||
|
rgblight_sethsv_at(HSV_RED, 0);
|
||||||
|
break;
|
||||||
|
case _ADJUST:
|
||||||
|
rgblight_sethsv_at(HSV_PURPLE, 0);
|
||||||
|
break;
|
||||||
|
default: // for any other layers, or the default layer
|
||||||
|
rgblight_sethsv_at( 0, 0, 0, 0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
rgblight_set_effect_range( 1, 4);
|
||||||
|
#endif
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
int RGB_current_mode;
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
bool result = false;
|
||||||
|
switch (keycode) {
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
case RGB_MOD:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
rgblight_mode(RGB_current_mode);
|
||||||
|
rgblight_step();
|
||||||
|
RGB_current_mode = rgblight_config.mode;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case RGB_RST:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
eeconfig_update_rgblight_default();
|
||||||
|
rgblight_enable();
|
||||||
|
RGB_current_mode = rgblight_config.mode;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
default:
|
||||||
|
result = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
TAP_DANCE_ENABLE = yes
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# 7skb
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
This is 63 keys Custom keyboard.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Salicylic_acid3](https://github.com/Salicylic-acid3)
|
||||||
|
* Hardware Supported: 7skb PCB, Pro Micro
|
||||||
|
* Hardware Availability: [PCB & Case Data](https://github.com/Salicylic-acid3/PCB_Data), [Booth Shop](https://salicylic-acid3.booth.pm/items/1673395)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make 7skb:default
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
[Build guide](https://salicylic-acid3.hatenablog.com/entry/7skb-mx-build-guide)
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2012 Jun Wako <[email protected]>
|
||||||
|
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
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_CONFIG_H
|
||||||
|
|
||||||
|
/* USB Device descriptor parameter */
|
||||||
|
#define VENDOR_ID 0xFEED
|
||||||
|
#define PRODUCT_ID 0x3060
|
||||||
|
#define DEVICE_VER 0x0007
|
||||||
|
#define MANUFACTURER Salicylic_Acid
|
||||||
|
#define PRODUCT 7skb
|
||||||
|
#define DESCRIPTION A custom keyboard
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 10
|
||||||
|
#define MATRIX_COLS 8
|
||||||
|
|
||||||
|
// wiring of each half
|
||||||
|
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
|
||||||
|
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B5 }
|
||||||
|
|
||||||
|
/* Set 0 if debouncing isn't needed */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/* serial.c configuration for split keyboard */
|
||||||
|
#define SOFT_SERIAL_PIN D2
|
||||||
|
#define SPLIT_HAND_PIN B6
|
||||||
|
|
||||||
|
/* 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
|
||||||
|
|
||||||
|
/* ws2812 RGB LED */
|
||||||
|
#define RGB_DI_PIN D3
|
||||||
|
|
||||||
|
#ifndef RGBLED_NUM
|
||||||
|
#define RGBLED_NUM 10
|
||||||
|
#define RGBLIGHT_SPLIT
|
||||||
|
#define RGBLED_SPLIT { 5, 5 }
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define RGBLIGHT_ANIMATIONS
|
||||||
|
|
||||||
|
#ifndef IOS_DEVICE_ENABLE
|
||||||
|
#define RGBLIGHT_LIMIT_VAL 180
|
||||||
|
#define RGBLIGHT_VAL_STEP 17
|
||||||
|
#else
|
||||||
|
#define RGBLIGHT_LIMIT_VAL 50
|
||||||
|
#define RGBLIGHT_VAL_STEP 4
|
||||||
|
#endif
|
||||||
|
#define RGBLIGHT_HUE_STEP 10
|
||||||
|
#define RGBLIGHT_SAT_STEP 17
|
||||||
|
|
||||||
|
#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
|
||||||
|
// USB_MAX_POWER_CONSUMPTION value for naked48 keyboard
|
||||||
|
// 120 RGBoff, OLEDoff
|
||||||
|
// 120 OLED
|
||||||
|
// 330 RGB 6
|
||||||
|
// 300 RGB 32
|
||||||
|
// 310 OLED & RGB 32
|
||||||
|
#define USB_MAX_POWER_CONSUMPTION 400
|
||||||
|
#else
|
||||||
|
// fix iPhone and iPad power adapter issue
|
||||||
|
// iOS device need lessthan 100
|
||||||
|
#define USB_MAX_POWER_CONSUMPTION 100
|
||||||
|
#endif
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
#include "rev1.h"
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "7skb.h"
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
// When only use 7skb.
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
/*
|
||||||
|
* ,------------------------------------ ------------------------------------------------------.
|
||||||
|
* | L00 | L01 | L02 | L03 | L04 | L05 | | R00 | R01 | R02 | R03 | R04 | R05 | R06 | R07 | R17 |
|
||||||
|
* |---------------------------------------------------------------------------------------------+
|
||||||
|
* | L10 | L11 | L12 | L13 | L14 | L15 | | R10 | R11 | R12 | R13 | R14 | R15 | R16 | R27 |
|
||||||
|
* |---------------------------------------- ---------------------------------------------------+
|
||||||
|
* | L20 | L21 | L22 | L23 | L24 | L25 | | R20 | R21 | R22 | R23 | R24 | R25 | R26 |
|
||||||
|
* |---------------------------------------------------------------------------------------------+
|
||||||
|
* | L30 | L31 | L32 | L33 | L34 | L35 | | R30 | R31 | R32 | R33 | R34 | R35 | R36 |
|
||||||
|
* |------------------------------------------- -----------------------------------------------'
|
||||||
|
* | L41 | L42 | L43 | L44 | | R40 | R41 | R43 | R44 |
|
||||||
|
* |------------------------------ ---------------------------------'
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define LAYOUT( \
|
||||||
|
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, R06, R07, R17, \
|
||||||
|
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R27, \
|
||||||
|
L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, R26, \
|
||||||
|
L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, R36, \
|
||||||
|
L41, L42, L43, L44, R40, R41, R43, R44 \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ L00, L01, L02, L03, L04, L05, KC_NO, KC_NO }, \
|
||||||
|
{ L10, L11, L12, L13, L14, L15, KC_NO, KC_NO }, \
|
||||||
|
{ L20, L21, L22, L23, L24, L25, KC_NO, KC_NO }, \
|
||||||
|
{ L30, L31, L32, L33, L34, L35, KC_NO, KC_NO }, \
|
||||||
|
{KC_NO, L41, L42, L43, L44, KC_NO, KC_NO, KC_NO }, \
|
||||||
|
{ R00, R01, R02, R03, R04, R05, R06, R07 }, \
|
||||||
|
{ R10, R11, R12, R13, R14, R15, R16, R17 }, \
|
||||||
|
{ R20, R21, R22, R23, R24, R25, R26, R27 }, \
|
||||||
|
{ R30, R31, R32, R33, R34, R35, R36, KC_NO }, \
|
||||||
|
{ R40, R41, KC_NO, R43, R44, KC_NO, KC_NO, KC_NO } \
|
||||||
|
}
|
||||||
Whitespace-only changes.
@@ -0,0 +1,35 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
# Teensy halfkay
|
||||||
|
# Pro Micro caterina
|
||||||
|
# Atmel DFU atmel-dfu
|
||||||
|
# LUFA DFU lufa-dfu
|
||||||
|
# QMK DFU qmk-dfu
|
||||||
|
# ATmega32A bootloadHID
|
||||||
|
# ATmega328P USBasp
|
||||||
|
BOOTLOADER = caterina
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change to "no" to disable the options, or define them in the Makefile in
|
||||||
|
# the appropriate keymap folder that will get included automatically
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = no # 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 # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
MIDI_ENABLE = no # MIDI controls
|
||||||
|
AUDIO_ENABLE = no # Audio output on port C6
|
||||||
|
UNICODE_ENABLE = no # Unicode
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
|
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
|
||||||
|
SPLIT_KEYBOARD = yes
|
||||||
|
|
||||||
|
DEFAULT_FOLDER = 7skb/rev1
|
||||||
@@ -1,42 +1,17 @@
|
|||||||
lSJ Ares
|
# lSJ Ares
|
||||||
========
|
|
||||||
|
|
||||||
Keyboard Maintainer: QMK Community
|
* Keyboard Maintainer: QMK Community
|
||||||
Hardware Supported: LSJ Ares PCB
|
* Hardware Supported: LSJ Ares PCB
|
||||||
Hardware Availability: https://geekhack.org/index.php?topic=93146.0
|
* Hardware Availability: <https://geekhack.org/index.php?topic=93146.0>
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make ares:default
|
make ares:default
|
||||||
|
|
||||||
Flashing
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
ps2avr(GB) boards use an atmega32a microcontroller and a different bootloader. It is not flashable using the regular QMK methods.
|
make ares:default:flash
|
||||||
|
|
||||||
Windows:
|
**Reset Key**: Hold down the *left control* key while plugging in the keyboard.
|
||||||
1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
|
|
||||||
2. Place your keyboard into reset by holding the left control key and plugging the cable in.
|
|
||||||
3. Press the `Find Device` button and ensure that your keyboard is found.
|
|
||||||
4. Press the `Open .hex File` button and locate the `.hex` file you created.
|
|
||||||
5. Press the `Flash Device` button and wait for the process to complete.
|
|
||||||
|
|
||||||
macOS:
|
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).
|
||||||
1. Install homebrew by typing the following:
|
|
||||||
```
|
|
||||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
|
||||||
```
|
|
||||||
2. Install `crosspack-avr`.
|
|
||||||
```
|
|
||||||
brew cask install crosspack-avr
|
|
||||||
```
|
|
||||||
3. Install the following packages:
|
|
||||||
```
|
|
||||||
brew install python
|
|
||||||
brew install pyusb
|
|
||||||
brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
|
|
||||||
|
|
||||||
4. Place your keyboard into reset.
|
|
||||||
5. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file.
|
|
||||||
|
|
||||||
|
|
||||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
|
|
||||||
@@ -1,44 +1,17 @@
|
|||||||
B.fake
|
# B.fake
|
||||||
========
|
|
||||||
|
|
||||||
A 60% keyboard with RGB. The B.fake pcb is a copy of the B.face PCB sold by [winkeyless](https://winkeyless.kr/). However, the switch matrix is actually the same as the [FaceW](https://github.com/qmk/qmk_firmware/tree/master/keyboards/facew), a ps2avr PCB sold on [mechanicalkeyboards.com](https://mechanicalkeyboards.com/).
|
A 60% keyboard with RGB. The B.fake pcb is a copy of the B.face PCB sold by [winkeyless](https://winkeyless.kr/). However, the switch matrix is actually the same as the [FaceW](https://github.com/qmk/qmk_firmware/tree/master/keyboards/facew), a ps2avr PCB sold on [mechanicalkeyboards.com](https://mechanicalkeyboards.com/).
|
||||||
|
|
||||||
Keyboard Maintainer: QMK Community
|
* Keyboard Maintainer: QMK Community
|
||||||
Hardware Supported: B.fake PCB
|
* Hardware Supported: B.fake PCB
|
||||||
Hardware Availability: https://www.aliexpress.com/store/product/bface-60-RGB-underground-copy-pcb-from-china-gh60-pcb-Customize-keyboard-PCB/2230037_32731084597.html
|
* Hardware Availability: <https://www.aliexpress.com/store/product/bface-60-RGB-underground-copy-pcb-from-china-gh60-pcb-Customize-keyboard-PCB/2230037_32731084597.html>
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make bfake:default
|
make bfake:default
|
||||||
|
|
||||||
Flashing
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
ps2avr(GB) boards use an atmega32a microcontroller and a different bootloader. It is not flashable using the regular QMK methods.
|
make bfake:default:flash
|
||||||
|
|
||||||
Windows:
|
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).
|
||||||
1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
|
|
||||||
2. Place your keyboard into reset.
|
|
||||||
3. Press the `Find Device` button and ensure that your keyboard is found.
|
|
||||||
4. Press the `Open .hex File` button and locate the `.hex` file you created.
|
|
||||||
5. Press the `Flash Device` button and wait for the process to complete.
|
|
||||||
|
|
||||||
macOS:
|
|
||||||
1. Install homebrew by typing the following:
|
|
||||||
```
|
|
||||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
|
||||||
```
|
|
||||||
2. Install `crosspack-avr`.
|
|
||||||
```
|
|
||||||
brew cask install crosspack-avr
|
|
||||||
```
|
|
||||||
3. Install the following packages:
|
|
||||||
```
|
|
||||||
brew install python
|
|
||||||
brew install pyusb
|
|
||||||
brew install --HEAD`https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
|
|
||||||
|
|
||||||
4. Place your keyboard into reset.
|
|
||||||
5. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file.
|
|
||||||
|
|
||||||
|
|
||||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
|
|
||||||
@@ -19,12 +19,26 @@
|
|||||||
|
|
||||||
#define LAYOUT( \
|
#define LAYOUT( \
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, k1d, k1e, k1f, k1g, \
|
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, k1d, k1e, k1f, k1g, \
|
||||||
k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
|
k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
|
||||||
k30, k31, k32, k35, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, k3g \
|
k30, k31, k32, k35, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, k3g \
|
||||||
) { \
|
) { \
|
||||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
|
{ k00, k01 , k02, k03 , k04 , k05, k06 , k07, k08, k09, k0a, k0b , k0c, k0d, k0e, k0f, k0g } , \
|
||||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, KC_NO, k1c, k1d, k1e, k1f, k1g }, \
|
{ k10, k11 , k12, k13 , k14 , k15, k16 , k17, k18, k19, k1a, KC_NO, k1c, k1d, k1e, k1f, k1g } , \
|
||||||
{ k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
|
{ k20, KC_NO, k22, k23 , k24 , k25, k26 , k27, k28, k29, k2a, k2b , k2c, k2d, k2e, k2f, k2g } , \
|
||||||
{ k30, k31, k32, KC_NO, KC_NO, k35, KC_NO, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, k3g } \
|
{ k30, k31 , k32, KC_NO, KC_NO, k35, KC_NO, k37, k38, k39, k3a, k3b , k3c, k3d, k3e, k3f, k3g } \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_lefty( \
|
||||||
|
k0d, k0e, k0f, k0g, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
|
||||||
|
k1d, k1e, k1f, k1g, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \
|
||||||
|
k2d, k2e, k2f, k2g, k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \
|
||||||
|
k3d, k3e, k3f, k3g, k30, k31, k32, k35, k37, k38, k39, k3a, k3b, k3c \
|
||||||
|
) { \
|
||||||
|
{ k00, k01 , k02, k03 , k04 , k05, k06 , k07, k08, k09, k0a, k0b , k0c, k0d, k0e, k0f, k0g } , \
|
||||||
|
{ k10, k11 , k12, k13 , k14 , k15, k16 , k17, k18, k19, k1a, KC_NO, k1c, k1d, k1e, k1f, k1g } , \
|
||||||
|
{ k20, KC_NO, k22, k23 , k24 , k25, k26 , k27, k28, k29, k2a, k2b , k2c, k2d, k2e, k2f, k2g } , \
|
||||||
|
{ k30, k31 , k32, KC_NO, KC_NO, k35, KC_NO, k37, k38, k39, k3a, k3b , k3c, k3d, k3e, k3f, k3g } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_righty LAYOUT
|
||||||
+18
-204
@@ -1,210 +1,24 @@
|
|||||||
{
|
{
|
||||||
"keyboard_name": "TKC Candybar",
|
"keyboard_name": "TKC Candybar",
|
||||||
"url": "",
|
"url": "",
|
||||||
"maintainer": "terrymathews",
|
"maintainer": "terrymathews",
|
||||||
"width": 17,
|
"width": 17,
|
||||||
"height": 4,
|
"height": 4,
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT": {
|
"LAYOUT": {
|
||||||
"layout": [
|
"layout": [
|
||||||
{"label":"Esc",
|
{"label":"Esc", "x":0, "y":0}, {"label":"Q", "x":1, "y":0}, {"label":"W", "x":2, "y":0}, {"label":"E", "x":3, "y":0}, {"label":"R", "x":4, "y":0}, {"label":"T", "x":5, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"Del", "x":11, "y":0}, {"label":"BkSp", "x":12, "y":0}, {"label":"7", "x":13, "y":0}, {"label":"8", "x":14, "y":0}, {"label":"9", "x":15, "y":0}, {"label":"*", "x":16, "y":0},
|
||||||
"x":0,
|
{"label":"Tab", "x":0, "y":1, "w":1.25}, {"label":"A", "x":1.25, "y":1}, {"label":"S", "x":2.25, "y":1}, {"label":"D", "x":3.25, "y":1}, {"label":"F", "x":4.25, "y":1}, {"label":"G", "x":5.25, "y":1}, {"label":"H", "x":6.25, "y":1}, {"label":"J", "x":7.25, "y":1}, {"label":"K", "x":8.25, "y":1}, {"label":"L", "x":9.25, "y":1}, {"label":":", "x":10.25, "y":1}, {"label":"Enter", "x":11.25, "y":1, "w":1.75}, {"label":"4", "x":13, "y":1}, {"label":"5", "x":14, "y":1}, {"label":"6", "x":15, "y":1}, {"label":"-", "x":16, "y":1},
|
||||||
"y":0},
|
{"label":"Shift", "x":0, "y":2, "w":1.75}, {"label":"Z", "x":1.75, "y":2}, {"label":"X", "x":2.75, "y":2}, {"label":"C", "x":3.75, "y":2}, {"label":"V", "x":4.75, "y":2}, {"label":"B", "x":5.75, "y":2}, {"label":"N", "x":6.75, "y":2}, {"label":"M", "x":7.75, "y":2}, {"label":"<", "x":8.75, "y":2}, {"label":">", "x":9.75, "y":2}, {"label":"Shift", "x":10.75, "y":2, "w":1.25}, {"label":"↑", "x":12, "y":2}, {"label":"1", "x":13, "y":2}, {"label":"2", "x":14, "y":2}, {"label":"3", "x":15, "y":2}, {"label":"+", "x":16, "y":2},
|
||||||
{"label":"Q",
|
{"label":"Ctrl", "x":0, "y":3, "w":1.25}, {"label":"GUI", "x":1.25, "y":3, "w":1.25}, {"label":"Alt", "x":2.5, "y":3, "w":1.25}, {"x":3.75, "y":3, "w":1.75}, {"x":5.5, "y":3, "w":1}, {"label":"Backspace", "x":6.5, "y":3, "w":2.25}, {"label":"Menu", "x":8.75, "y":3, "w":1.25}, {"label":"Fn", "x":10, "y":3}, {"label":"←", "x":11, "y":3}, {"label":"↓", "x":12, "y":3}, {"label":"→", "x":13, "y":3}, {"label":"0", "x":14, "y":3}, {"label":".", "x":15, "y":3}, {"label":"Enter", "x":16, "y":3}]
|
||||||
"x":1,
|
},
|
||||||
"y":0},
|
"LAYOUT_lefty": {
|
||||||
{"label":"W",
|
"layout": [
|
||||||
"x":2,
|
{"label":"7", "x":0, "y":0}, {"label":"8", "x":1, "y":0}, {"label":"9", "x":2, "y":0}, {"label":"-", "x":3, "y":0}, {"label":"Esc", "x":4, "y":0}, {"label":"Q", "x":5, "y":0}, {"label":"W", "x":6, "y":0}, {"label":"E", "x":7, "y":0}, {"label":"R", "x":8, "y":0}, {"label":"T", "x":9, "y":0}, {"label":"Y", "x":10, "y":0}, {"label":"U", "x":11, "y":0}, {"label":"I", "x":12, "y":0}, {"label":"O", "x":13, "y":0}, {"label":"P", "x":14, "y":0}, {"label":"{", "x":15, "y":0}, {"label":"}", "x":16, "y":0},
|
||||||
"y":0},
|
{"label":"4", "x":0, "y":1}, {"label":"5", "x":1, "y":1}, {"label":"6", "x":2, "y":1}, {"label":"+", "x":3, "y":1}, {"label":"Tab", "x":4, "y":1, "w":1.25}, {"label":"A", "x":5.25, "y":1}, {"label":"S", "x":6.25, "y":1}, {"label":"D", "x":7.25, "y":1}, {"label":"F", "x":8.25, "y":1}, {"label":"G", "x":9.25, "y":1}, {"label":"H", "x":10.25, "y":1}, {"label":"J", "x":11.25, "y":1}, {"label":"K", "x":12.25, "y":1}, {"label":"L", "x":13.25, "y":1}, {"label":":", "x":14.25, "y":1}, {"label":"Enter", "x":15.25, "y":1, "w":1.75},
|
||||||
{"label":"E",
|
{"label":"1", "x":0, "y":2}, {"label":"2", "x":1, "y":2}, {"label":"3", "x":2, "y":2}, {"x":3, "y":2}, {"label":"Shift", "x":4, "y":2, "w":1.75}, {"label":"Z", "x":5.75, "y":2}, {"label":"X", "x":6.75, "y":2}, {"label":"C", "x":7.75, "y":2}, {"label":"V", "x":8.75, "y":2}, {"label":"B", "x":9.75, "y":2}, {"label":"N", "x":10.75, "y":2}, {"label":"M", "x":11.75, "y":2}, {"label":"<", "x":12.75, "y":2}, {"label":">", "x":13.75, "y":2}, {"label":"\u2191", "x":14.75, "y":2}, {"label":"Shift", "x":15.75, "y":2, "w":1.25},
|
||||||
"x":3,
|
{"label":"Fn", "x":0, "y":3}, {"label":"0", "x":1, "y":3}, {"label":".", "x":2, "y":3}, {"label":"Enter", "x":3, "y":3}, {"label":"Ctrl", "x":4, "y":3, "w":1.25}, {"label":"Win", "x":5.25, "y":3, "w":1.25}, {"label":"Alt", "x":6.5, "y":3, "w":1.25}, {"x":7.75, "y":3, "w":1.75}, {"x":9.5, "y":3}, {"x":10.5, "y":3, "w":2.25}, {"label":"Win", "x":12.75, "y":3, "w":1.25}, {"label":"\u2190", "x":14, "y":3}, {"label":"\u2193", "x":15, "y":3}, {"label":"\u2192", "x":16, "y":3}
|
||||||
"y":0},
|
]
|
||||||
{"label":"R",
|
|
||||||
"x":4,
|
|
||||||
"y":0},
|
|
||||||
{"label":"T",
|
|
||||||
"x":5,
|
|
||||||
"y":0},
|
|
||||||
{"label":"Y",
|
|
||||||
"x":6,
|
|
||||||
"y":0},
|
|
||||||
{"label":"U",
|
|
||||||
"x":7,
|
|
||||||
"y":0},
|
|
||||||
{"label":"I",
|
|
||||||
"x":8,
|
|
||||||
"y":0},
|
|
||||||
{"label":"O",
|
|
||||||
"x":9,
|
|
||||||
"y":0},
|
|
||||||
{"label":"P",
|
|
||||||
"x":10,
|
|
||||||
"y":0},
|
|
||||||
{"label":"Del",
|
|
||||||
"x":11,
|
|
||||||
"y":0},
|
|
||||||
{"label":"BkSp",
|
|
||||||
"x":12,
|
|
||||||
"y":0},
|
|
||||||
{"label":"7",
|
|
||||||
"x":13,
|
|
||||||
"y":0},
|
|
||||||
{"label":"8",
|
|
||||||
"x":14,
|
|
||||||
"y":0},
|
|
||||||
{"label":"9",
|
|
||||||
"x":15,
|
|
||||||
"y":0},
|
|
||||||
{"label":"*",
|
|
||||||
"x":16,
|
|
||||||
"y":0},
|
|
||||||
{"label":"Tab",
|
|
||||||
"x":0,
|
|
||||||
"y":1,
|
|
||||||
"w":1.25},
|
|
||||||
{"label":"A",
|
|
||||||
"x":1.25,
|
|
||||||
"y":1},
|
|
||||||
{"label":"S",
|
|
||||||
"x":2.25,
|
|
||||||
"y":1},
|
|
||||||
{"label":"D",
|
|
||||||
"x":3.25,
|
|
||||||
"y":1},
|
|
||||||
{"label":"F",
|
|
||||||
"x":4.25,
|
|
||||||
"y":1},
|
|
||||||
{"label":"G",
|
|
||||||
"x":5.25,
|
|
||||||
"y":1},
|
|
||||||
{"label":"H",
|
|
||||||
"x":6.25,
|
|
||||||
"y":1},
|
|
||||||
{"label":"J",
|
|
||||||
"x":7.25,
|
|
||||||
"y":1},
|
|
||||||
{"label":"K",
|
|
||||||
"x":8.25,
|
|
||||||
"y":1},
|
|
||||||
{"label":"L",
|
|
||||||
"x":9.25,
|
|
||||||
"y":1},
|
|
||||||
{"label":":",
|
|
||||||
"x":10.25,
|
|
||||||
"y":1},
|
|
||||||
{"label":"Enter",
|
|
||||||
"x":11.25,
|
|
||||||
"y":1,
|
|
||||||
"w":1.75},
|
|
||||||
{"label":"4",
|
|
||||||
"x":13,
|
|
||||||
"y":1},
|
|
||||||
{"label":"5",
|
|
||||||
"x":14,
|
|
||||||
"y":1},
|
|
||||||
{"label":"6",
|
|
||||||
"x":15,
|
|
||||||
"y":1},
|
|
||||||
{"label":"-",
|
|
||||||
"x":16,
|
|
||||||
"y":1},
|
|
||||||
{"label":"Shift",
|
|
||||||
"x":0,
|
|
||||||
"y":2,
|
|
||||||
"w":1.75},
|
|
||||||
{"label":"Z",
|
|
||||||
"x":1.75,
|
|
||||||
"y":2},
|
|
||||||
{"label":"X",
|
|
||||||
"x":2.75,
|
|
||||||
"y":2},
|
|
||||||
{"label":"C",
|
|
||||||
"x":3.75,
|
|
||||||
"y":2},
|
|
||||||
{"label":"V",
|
|
||||||
"x":4.75,
|
|
||||||
"y":2},
|
|
||||||
{"label":"B",
|
|
||||||
"x":5.75,
|
|
||||||
"y":2},
|
|
||||||
{"label":"N",
|
|
||||||
"x":6.75,
|
|
||||||
"y":2},
|
|
||||||
{"label":"M",
|
|
||||||
"x":7.75,
|
|
||||||
"y":2},
|
|
||||||
{"label":"<",
|
|
||||||
"x":8.75,
|
|
||||||
"y":2},
|
|
||||||
{"label":">",
|
|
||||||
"x":9.75,
|
|
||||||
"y":2},
|
|
||||||
{"label":"Shift",
|
|
||||||
"x":10.75,
|
|
||||||
"y":2,
|
|
||||||
"w":1.25},
|
|
||||||
{"label":"↑",
|
|
||||||
"x":12,
|
|
||||||
"y":2},
|
|
||||||
{"label":"1",
|
|
||||||
"x":13,
|
|
||||||
"y":2},
|
|
||||||
{"label":"2",
|
|
||||||
"x":14,
|
|
||||||
"y":2},
|
|
||||||
{"label":"3",
|
|
||||||
"x":15,
|
|
||||||
"y":2},
|
|
||||||
{"label":"+",
|
|
||||||
"x":16,
|
|
||||||
"y":2},
|
|
||||||
{"label":"Ctrl",
|
|
||||||
"x":0,
|
|
||||||
"y":3,
|
|
||||||
"w":1.25},
|
|
||||||
{"label":"GUI",
|
|
||||||
"x":1.25,
|
|
||||||
"y":3,
|
|
||||||
"w":1.25},
|
|
||||||
{"label":"Alt",
|
|
||||||
"x":2.5,
|
|
||||||
"y":3,
|
|
||||||
"w":1.25},
|
|
||||||
{"x":3.75,
|
|
||||||
"y":3,
|
|
||||||
"w":1.75},
|
|
||||||
{"x":5.5,
|
|
||||||
"y":3,
|
|
||||||
"w":1},
|
|
||||||
{"label":"Backspace",
|
|
||||||
"x":6.5,
|
|
||||||
"y":3,
|
|
||||||
"w":2.25},
|
|
||||||
{"label":"Menu",
|
|
||||||
"x":8.75,
|
|
||||||
"y":3,
|
|
||||||
"w":1.25},
|
|
||||||
{"label":"Fn",
|
|
||||||
"x":10,
|
|
||||||
"y":3},
|
|
||||||
{"label":"←",
|
|
||||||
"x":11,
|
|
||||||
"y":3},
|
|
||||||
{"label":"↓",
|
|
||||||
"x":12,
|
|
||||||
"y":3},
|
|
||||||
{"label":"→",
|
|
||||||
"x":13,
|
|
||||||
"y":3},
|
|
||||||
{"label":"0",
|
|
||||||
"x":14,
|
|
||||||
"y":3},
|
|
||||||
{"label":".",
|
|
||||||
"x":15,
|
|
||||||
"y":3},
|
|
||||||
{"label":"Enter",
|
|
||||||
"x":16,
|
|
||||||
"y":3}]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
/* Copyright 2018 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 _BL 0
|
||||||
|
#define _FL 1
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
/* Keymap _BL: Base Layer (Default Layer)
|
||||||
|
*/
|
||||||
|
[_BL] = LAYOUT_lefty(
|
||||||
|
KC_P7 , KC_P8, KC_P9 , KC_PAST, KC_ESC , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_O , KC_P , KC_DEL , KC_BSPC , \
|
||||||
|
KC_P4 , KC_P5, KC_P6 , KC_PMNS, KC_TAB , KC_A , KC_S , KC_D, KC_F , KC_G , KC_H, KC_J , KC_K , KC_L , KC_SCLN, KC_ENT , \
|
||||||
|
KC_P1 , KC_P2, KC_P3 , KC_PPLS, KC_LSFT, KC_Z , KC_X, KC_C , KC_V , KC_B, KC_N , KC_M , KC_COMM, KC_DOT , KC_UP ,KC_RSFT , \
|
||||||
|
MO(_FL), KC_P0, KC_PDOT, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC , KC_BSPC, KC_APP , KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
/* Keymap _FL: Function Layer
|
||||||
|
*/
|
||||||
|
[_FL] = LAYOUT_lefty(
|
||||||
|
KC_P7 , KC_P8, KC_P9 , KC_VOLU, RESET , KC_Q , KC_W , KC_E, KC_R , KC_T , KC_Y, KC_U , KC_I , KC_LBRC, KC_RBRC, KC_INS , KC_BSPC , \
|
||||||
|
KC_P4 , KC_P5, KC_P6 , KC_VOLD, KC_TAB , KC_A , KC_SLCK, KC_D, KC_F , KC_G , KC_H, KC_J , KC_K , KC_L , KC_QUOT, KC_BSLS , \
|
||||||
|
KC_P1 , KC_P2, KC_P3 , KC_PEQL, KC_LSFT, KC_Z , KC_X, KC_CAPS, KC_V , KC_B, KC_NLCK, KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_PGUP , \
|
||||||
|
KC_END, KC_P0, KC_PDOT, KC_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC , KC_BSPC, KC_APP , MO(_FL), KC_HOME, KC_PGDN),
|
||||||
|
};
|
||||||
@@ -4,12 +4,16 @@
|
|||||||
|
|
||||||
A 65% keyboard that can be assembled with only through hole components, including usb type-c
|
A 65% keyboard that can be assembled with only through hole components, including usb type-c
|
||||||
|
|
||||||
Keyboard Maintainer: [coseyfannitutti](https://github.com/coseyfannitutti)
|
* Keyboard Maintainer: [coseyfannitutti](https://github.com/coseyfannitutti)
|
||||||
Hardware Supported: DISCIPLINE, atmega32a
|
* Hardware Supported: DISCIPLINE, atmega32a
|
||||||
Hardware Availability: [cftkb.com](http://www.cftkb.com), [GitHub](https://github.com/coseyfannitutti/discipline)
|
* Hardware Availability: [cftkb.com](http://www.cftkb.com), [GitHub](https://github.com/coseyfannitutti/discipline)
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make coseyfannitutti/discipline:default
|
make coseyfannitutti/discipline:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
|
make coseyfannitutti/discipline: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).
|
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).
|
||||||
@@ -48,13 +48,13 @@ __attribute__((weak)) bool is_keyboard_left(void) {
|
|||||||
#elif defined(EE_HANDS)
|
#elif defined(EE_HANDS)
|
||||||
return eeconfig_read_handedness();
|
return eeconfig_read_handedness();
|
||||||
#elif defined(MASTER_RIGHT)
|
#elif defined(MASTER_RIGHT)
|
||||||
return !is_keyboard_master();
|
return !has_usb();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return is_keyboard_master();
|
return has_usb();
|
||||||
}
|
}
|
||||||
|
|
||||||
__attribute__((weak)) bool is_keyboard_master(void) {
|
__attribute__((weak)) bool has_usb(void) {
|
||||||
static enum { UNKNOWN, MASTER, SLAVE } usbstate = UNKNOWN;
|
static enum { UNKNOWN, MASTER, SLAVE } usbstate = UNKNOWN;
|
||||||
|
|
||||||
// only check once, as this is called often
|
// only check once, as this is called often
|
||||||
@@ -103,8 +103,3 @@ void split_keyboard_setup(void) {
|
|||||||
}
|
}
|
||||||
sei();
|
sei();
|
||||||
}
|
}
|
||||||
|
|
||||||
// backwards compat
|
|
||||||
bool has_usb(void) {
|
|
||||||
return is_keyboard_master();
|
|
||||||
}
|
|
||||||
@@ -2,44 +2,18 @@
|
|||||||
|
|
||||||
96 key atmega32a keyboard.
|
96 key atmega32a keyboard.
|
||||||
|
|
||||||
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
||||||
Hardware Supported: Budget96 PCB
|
* Hardware Supported: Budget96 PCB
|
||||||
Hardware Availability: [DonutCables](https://donutcables.com/)
|
* Hardware Availability: [DonutCables](https://donutcables.com/)
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make donutcables/budget96:default
|
make donutcables/budget96:default
|
||||||
|
|
||||||
Flashing
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
**Reset Key:** Hold down the key located at `K00`, commonly programmed as left control while plugging in the keyboard.
|
make donutcables/budget96:default:flash
|
||||||
|
|
||||||
ps2avr(GB) boards use an atmega32a microcontroller and a different bootloader. It is not flashable using the regular QMK methods.
|
**Reset Key**: Hold down the key located at *K00*, commonly programmed as *left control* while plugging in the keyboard.
|
||||||
|
|
||||||
Windows:
|
|
||||||
1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
|
|
||||||
2. Place your keyboard into reset.
|
|
||||||
3. Press the `Find Device` button and ensure that your keyboard is found.
|
|
||||||
4. Press the `Open .hex File` button and locate the `.hex` file you created.
|
|
||||||
5. Press the `Flash Device` button and wait for the process to complete.
|
|
||||||
|
|
||||||
macOS:
|
|
||||||
1. Install homebrew by typing the following:
|
|
||||||
```
|
|
||||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
|
||||||
```
|
|
||||||
2. Install `crosspack-avr`.
|
|
||||||
```
|
|
||||||
brew cask install crosspack-avr
|
|
||||||
```
|
|
||||||
3. Install the following packages:
|
|
||||||
```
|
|
||||||
brew install python3
|
|
||||||
pip3 install pyusb
|
|
||||||
brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
|
|
||||||
```
|
|
||||||
|
|
||||||
4. Place your keyboard into reset.
|
|
||||||
5. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file.
|
|
||||||
|
|
||||||
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).
|
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).
|
||||||
@@ -52,14 +52,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
// #define BACKLIGHT_BREATHING
|
// #define BACKLIGHT_BREATHING
|
||||||
// #define BACKLIGHT_LEVELS 3
|
// #define BACKLIGHT_LEVELS 3
|
||||||
|
|
||||||
// #define RGB_DI_PIN E2
|
#define RGB_DI_PIN D3
|
||||||
// #ifdef RGB_DI_PIN
|
#ifdef RGB_DI_PIN
|
||||||
// #define RGBLIGHT_ANIMATIONS
|
#define RGBLIGHT_ANIMATIONS
|
||||||
// #define RGBLED_NUM 16
|
#define RGBLED_NUM 2
|
||||||
// #define RGBLIGHT_HUE_STEP 8
|
#define RGBLIGHT_HUE_STEP 8
|
||||||
// #define RGBLIGHT_SAT_STEP 8
|
#define RGBLIGHT_SAT_STEP 8
|
||||||
// #define RGBLIGHT_VAL_STEP 8
|
#define RGBLIGHT_VAL_STEP 8
|
||||||
// #endif
|
#endif
|
||||||
|
|
||||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||||
#define DEBOUNCE 5
|
#define DEBOUNCE 5
|
||||||
|
|||||||
@@ -15,20 +15,110 @@
|
|||||||
*/
|
*/
|
||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
//Following line allows macro to read current RGB settings
|
||||||
|
extern rgblight_config_t rgblight_config;
|
||||||
|
#endif
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
enum layer_number {
|
||||||
[0] = LAYOUT(
|
_BASE = 0,
|
||||||
LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_UP, KC_DEL, KC_BSPC, \
|
_LOWER,
|
||||||
KC_LCTRL, KC_LSFT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT \
|
_RAISE,
|
||||||
),
|
_ADJUST
|
||||||
};
|
};
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
enum custom_keycodes {
|
||||||
return true;
|
BASE = SAFE_RANGE,
|
||||||
|
LOWER,
|
||||||
|
RAISE,
|
||||||
|
ADJUST,
|
||||||
|
RGBRST
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
/* Base
|
||||||
|
* ,-----------------------------------------.
|
||||||
|
* | Cut | Copy |Paste | Up |Delete| Bksp |
|
||||||
|
* | | | | | |Raise |
|
||||||
|
* |------+------+------+------+------+------|
|
||||||
|
* | Ctrl |Shift | Left | Down |Right |Enter |
|
||||||
|
* | | | | | |Lower |
|
||||||
|
* `-----------------------------------------'
|
||||||
|
*/
|
||||||
|
[_BASE] = LAYOUT(
|
||||||
|
LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), KC_UP, KC_DEL, LT(_RAISE,KC_BSPC),
|
||||||
|
KC_LCTL, KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, LT(_LOWER,KC_ENT)
|
||||||
|
),
|
||||||
|
|
||||||
|
/* Lower
|
||||||
|
* ,-----------------------------------------.
|
||||||
|
* | | | | Page | | |
|
||||||
|
* | | | | Up | | |
|
||||||
|
* |------+------+------+------+------+------|
|
||||||
|
* | | | Home | Page | End | |
|
||||||
|
* | | | | Down | | |
|
||||||
|
* `-----------------------------------------'
|
||||||
|
*/
|
||||||
|
[_LOWER] = LAYOUT(
|
||||||
|
_______, _______, _______, KC_PGUP, _______, _______,
|
||||||
|
_______, _______, KC_HOME, KC_PGDN, KC_END, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
/* Raise
|
||||||
|
* ,-----------------------------------------.
|
||||||
|
* | | | | | | |
|
||||||
|
* | | | | | | |
|
||||||
|
* |------+------+------+------+------+------|
|
||||||
|
* | | | | | | |
|
||||||
|
* | | | | | | |
|
||||||
|
* `-----------------------------------------'
|
||||||
|
*/
|
||||||
|
[_RAISE] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
/* Adjust
|
||||||
|
* ,-----------------------------------------.
|
||||||
|
* | RGB | RGB | RGB | RGB | RGB | |
|
||||||
|
* |Toggle|Mode+ | Hue+ | Sat+ | Val+ | |
|
||||||
|
* |------+------+------+------+------+------|
|
||||||
|
* | RGB | RGB | RGB | RGB | RGB | |
|
||||||
|
* |Reset |Mode- | Hue- | Sat- | Val- | |
|
||||||
|
* `-----------------------------------------'
|
||||||
|
*/
|
||||||
|
[_ADJUST] = LAYOUT(
|
||||||
|
RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______,
|
||||||
|
RGBRST, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
|
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_init_user(void) {
|
int RGB_current_mode;
|
||||||
|
|
||||||
|
void matrix_init_user(void) {
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
RGB_current_mode = rgblight_config.mode;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
|
||||||
|
switch (keycode) {
|
||||||
|
case RGBRST:
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
if (record->event.pressed) {
|
||||||
|
eeconfig_update_rgblight_default();
|
||||||
|
rgblight_enable();
|
||||||
|
RGB_current_mode = rgblight_config.mode;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
|
|||||||
@@ -1,8 +1,45 @@
|
|||||||
# The default keymap for Dozen0
|
# The default keymap for Dozen0
|
||||||
|
|
||||||
|
## Base
|
||||||
```
|
```
|
||||||
,-------------------------------------------------.
|
,-----------------------------------------.
|
||||||
| Ctrl+X | Ctrl+C | Ctrl+V | Up | Delete | Bksp |
|
| Cut | Copy |Paste | Up |Delete| Bksp |
|
||||||
| Ctrl | Shift | Left | Down | Right | Enter |
|
| | | | | |Raise |
|
||||||
`--------------------------------------------------'
|
|------+------+------+------+------+------|
|
||||||
|
| Ctrl |Shift | Left | Down |Right |Enter |
|
||||||
|
| | | | | |Lower |
|
||||||
|
`-----------------------------------------'
|
||||||
|
```
|
||||||
|
|
||||||
|
## Lower
|
||||||
|
```
|
||||||
|
,-----------------------------------------.
|
||||||
|
| | | | Page | | |
|
||||||
|
| | | | Up | | |
|
||||||
|
|------+------+------+------+------+------|
|
||||||
|
| | | Home | Page | End | |
|
||||||
|
| | | | Down | | |
|
||||||
|
`-----------------------------------------'
|
||||||
|
```
|
||||||
|
|
||||||
|
## Raise
|
||||||
|
```
|
||||||
|
,-----------------------------------------.
|
||||||
|
| | | | | | |
|
||||||
|
| | | | | | |
|
||||||
|
|------+------+------+------+------+------|
|
||||||
|
| | | | | | |
|
||||||
|
| | | | | | |
|
||||||
|
`-----------------------------------------'
|
||||||
|
```
|
||||||
|
|
||||||
|
## Adjust
|
||||||
|
```
|
||||||
|
,-----------------------------------------.
|
||||||
|
| RGB | RGB | RGB | RGB | RGB | |
|
||||||
|
|Toggle|Mode+ | Hue+ | Sat+ | Val+ | |
|
||||||
|
|------+------+------+------+------+------|
|
||||||
|
| RGB | RGB | RGB | RGB | RGB | |
|
||||||
|
|Reset |Mode- | Hue- | Sat- | Val- | |
|
||||||
|
`-----------------------------------------'
|
||||||
```
|
```
|
||||||
@@ -18,8 +18,8 @@
|
|||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[0] = LAYOUT(
|
[0] = LAYOUT(
|
||||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, \
|
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_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
+10
-10
@@ -9,25 +9,25 @@ MCU = atmega32u4
|
|||||||
# QMK DFU qmk-dfu
|
# QMK DFU qmk-dfu
|
||||||
# ATmega32A bootloadHID
|
# ATmega32A bootloadHID
|
||||||
# ATmega328P USBasp
|
# ATmega328P USBasp
|
||||||
BOOTLOADER = atmel-dfu
|
BOOTLOADER = caterina
|
||||||
|
|
||||||
# Build Options
|
# Build Options
|
||||||
# change yes to no to disable
|
# change yes to no to disable
|
||||||
#
|
#
|
||||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
CONSOLE_ENABLE = yes # Console for debug(+400)
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
NKRO_ENABLE = no # USB Nkey Rollover
|
NKRO_ENABLE = no # USB Nkey Rollover
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||||
MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
|
MIDI_ENABLE = no # MIDI support
|
||||||
UNICODE_ENABLE = no # Unicode
|
UNICODE_ENABLE = no # Unicode
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
AUDIO_ENABLE = no # Audio output on port C6
|
AUDIO_ENABLE = no # Audio output on port C6
|
||||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||||
HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
|
HD44780_ENABLE = no # Enable support for HD44780 based LCDs
|
||||||
@@ -2,50 +2,20 @@
|
|||||||
|
|
||||||
60% PCB with Function Row
|
60% PCB with Function Row
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
||||||
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
* Hardware Supported: EVE Meteor
|
||||||
Hardware Supported: EVE Meteor
|
* Hardware Availability: [zFrontier](https://en.zfrontier.com/products/eve-meteor)
|
||||||
Hardware Availability: [zFrontier](https://en.zfrontier.com/products/eve-meteor)
|
|
||||||
|
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make eve/meteor:default
|
make eve/meteor:default
|
||||||
|
|
||||||
Flashing
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
ps2avr(GB) boards use an atmega32a microcontroller and a different bootloader. It is not flashable using the regular QMK methods.
|
make eve/meteor:default:flash
|
||||||
|
|
||||||
**Reset Key:** Short the two holes labeled `FW_JP` underneath the PCB, beside the Tab key while plugging in the keyboard.
|
**Reset Key:** Short the two holes labeled `FW_JP` underneath the PCB, beside the Tab key while plugging in the keyboard.
|
||||||
|
|
||||||
Do not confuse this with the LED holes of the switch in the `Tab` position. `FW_JP` is not reachable from the top as the plate blocks access to it.
|
Do not confuse this with the LED holes of the switch in the `Tab` position. `FW_JP` is not reachable from the top as the plate blocks access to it.
|
||||||
|
|
||||||
It is recommended to program a `RESET` key in your keymap.
|
|
||||||
|
|
||||||
Windows:
|
|
||||||
1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
|
|
||||||
2. Place your keyboard into reset.
|
|
||||||
3. Press the `Find Device` button and ensure that your keyboard is found.
|
|
||||||
4. Press the `Open .hex File` button and locate the `.hex` file you created.
|
|
||||||
5. Press the `Flash Device` button and wait for the process to complete.
|
|
||||||
|
|
||||||
macOS:
|
|
||||||
1. Install homebrew by typing the following:
|
|
||||||
```
|
|
||||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
|
||||||
```
|
|
||||||
2. Install `crosspack-avr`.
|
|
||||||
```
|
|
||||||
brew cask install crosspack-avr
|
|
||||||
```
|
|
||||||
3. Install the following packages:
|
|
||||||
```
|
|
||||||
brew install python3
|
|
||||||
pip3 install pyusb
|
|
||||||
brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
|
|
||||||
```
|
|
||||||
4. Place your keyboard into reset.
|
|
||||||
5. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file.
|
|
||||||
|
|
||||||
|
|
||||||
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).
|
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).
|
||||||
@@ -2,43 +2,18 @@
|
|||||||
|
|
||||||
These docs are for the BMC version of the E6-V2 PCB sold during Round 2 which has an atmega32a microcontroller. Please do not flash this `.hex` file on your atmega32u4 equipped E6-V2 or your E6V2 BMC from Round 1.
|
These docs are for the BMC version of the E6-V2 PCB sold during Round 2 which has an atmega32a microcontroller. Please do not flash this `.hex` file on your atmega32u4 equipped E6-V2 or your E6V2 BMC from Round 1.
|
||||||
|
|
||||||
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
||||||
Hardware Supported: ps2avrgb E6-V2 with atmega32a microcontroller
|
* Hardware Supported: ps2avrgb E6-V2 with atmega32a microcontroller
|
||||||
Hardware Availability: [geekhack.org/index.php?topic=90787.0](https://geekhack.org/index.php?topic=90787.0)
|
* Hardware Availability: [geekhack.org/index.php?topic=90787.0](https://geekhack.org/index.php?topic=90787.0)
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make exclusive/e6v2/le_bmc:default
|
make exclusive/e6v2/le_bmc:default
|
||||||
|
|
||||||
Flashing
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
ps2avr(GB) boards use an atmega32a microcontroller and a different bootloader. It is not flashable using the regular QMK methods.
|
make exclusive/e6v2/le_bmc:default:flash
|
||||||
|
|
||||||
**Reset Key:** Hold down the key located at `K00`, commonly programmed as left control while plugging in the keyboard.
|
**Reset Key**: Hold down the key located at *K00*, commonly programmed as *left control* while plugging in the keyboard.
|
||||||
|
|
||||||
Windows:
|
|
||||||
1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
|
|
||||||
2. Place your keyboard into reset.
|
|
||||||
3. Press the `Find Device` button and ensure that your keyboard is found.
|
|
||||||
4. Press the `Open .hex File` button and locate the `.hex` file you created.
|
|
||||||
5. Press the `Flash Device` button and wait for the process to complete.
|
|
||||||
|
|
||||||
macOS:
|
|
||||||
1. Install homebrew by typing the following:
|
|
||||||
```
|
|
||||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
|
||||||
```
|
|
||||||
2. Install `crosspack-avr`.
|
|
||||||
```
|
|
||||||
brew cask install crosspack-avr
|
|
||||||
```
|
|
||||||
3. Install the following packages:
|
|
||||||
```
|
|
||||||
brew install python3
|
|
||||||
pip3 install pyusb
|
|
||||||
brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
|
|
||||||
```
|
|
||||||
4. Place your keyboard into reset.
|
|
||||||
5. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file.
|
|
||||||
|
|
||||||
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).
|
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).
|
||||||
@@ -2,43 +2,18 @@
|
|||||||
|
|
||||||
These docs are for the BMC version of the E6-V2 PCB sold during Round 1 which has an atmega32a microcontroller. Please do not flash this `.hex` file on your atmega32u4 equipped E6-V2 or your E6V2 BMC from Round 2.
|
These docs are for the BMC version of the E6-V2 PCB sold during Round 1 which has an atmega32a microcontroller. Please do not flash this `.hex` file on your atmega32u4 equipped E6-V2 or your E6V2 BMC from Round 2.
|
||||||
|
|
||||||
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
||||||
Hardware Supported: ps2avrgb E6-V2 with atmega32a microcontroller
|
* Hardware Supported: ps2avrgb E6-V2 with atmega32a microcontroller
|
||||||
Hardware Availability: [geekhack.org/index.php?topic=90787.0](https://geekhack.org/index.php?topic=90787.0)
|
* Hardware Availability: [geekhack.org/index.php?topic=90787.0](https://geekhack.org/index.php?topic=90787.0)
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make exclusive/e6v2/oe_bmc:default
|
make exclusive/e6v2/oe_bmc:default
|
||||||
|
|
||||||
Flashing
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
ps2avr(GB) boards use an atmega32a microcontroller and a different bootloader. It is not flashable using the regular QMK methods.
|
make exclusive/e6v2/oe_bmc:default:flash
|
||||||
|
|
||||||
**Reset Key:** Hold down the key located at `K00`, commonly programmed as left control while plugging in the keyboard.
|
**Reset Key**: Hold down the key located at *K00*, commonly programmed as *left control* while plugging in the keyboard.
|
||||||
|
|
||||||
Windows:
|
|
||||||
1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
|
|
||||||
2. Place your keyboard into reset.
|
|
||||||
3. Press the `Find Device` button and ensure that your keyboard is found.
|
|
||||||
4. Press the `Open .hex File` button and locate the `.hex` file you created.
|
|
||||||
5. Press the `Flash Device` button and wait for the process to complete.
|
|
||||||
|
|
||||||
macOS:
|
|
||||||
1. Install homebrew by typing the following:
|
|
||||||
```
|
|
||||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
|
||||||
```
|
|
||||||
2. Install `crosspack-avr`.
|
|
||||||
```
|
|
||||||
brew cask install crosspack-avr
|
|
||||||
```
|
|
||||||
3. Install the following packages:
|
|
||||||
```
|
|
||||||
brew install python3
|
|
||||||
pip3 install pyusb
|
|
||||||
brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
|
|
||||||
|
|
||||||
4. Place your keyboard into reset.
|
|
||||||
5. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file.
|
|
||||||
|
|
||||||
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).
|
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).
|
||||||
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
65% custom keyboard with large bezels.
|
65% custom keyboard with large bezels.
|
||||||
|
|
||||||
Keyboard Maintainer: [mechmerlin](https://github.com/mechmerlin)
|
* Keyboard Maintainer: [mechmerlin](https://github.com/mechmerlin)
|
||||||
Hardware Supported: Exent PCB
|
* Hardware Supported: Exent PCB
|
||||||
Hardware Availability: [Geekhack GB](https://geekhack.org/index.php?topic=87213.0)
|
* Hardware Availability: [Geekhack GB](https://geekhack.org/index.php?topic=87213.0)
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
@@ -14,6 +14,6 @@ Flashing example for this keyboard ([after setting up the bootloadHID flashing e
|
|||||||
|
|
||||||
make exent:default:flash
|
make exent:default:flash
|
||||||
|
|
||||||
**Reset Key**: Hold down the key located at `k0d`, commonly programmed as Backspace while plugging in the keyboard.
|
**Reset Key**: Hold down the key located at `k0d`, commonly programmed as *Backspace* while plugging in the keyboard.
|
||||||
|
|
||||||
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).
|
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).
|
||||||
@@ -4,44 +4,18 @@ A 60% no frills keyboard.
|
|||||||
|
|
||||||
The FaceW is a special run of the WKL B.Face sourced from Sprit that doesn't have underglow RGB LEDs but does have in switch LEDs. Also unlike the B.Face, it is based on ps2avru instead of ps2avrGB. It is designed and manufactured in Korea.
|
The FaceW is a special run of the WKL B.Face sourced from Sprit that doesn't have underglow RGB LEDs but does have in switch LEDs. Also unlike the B.Face, it is based on ps2avru instead of ps2avrGB. It is designed and manufactured in Korea.
|
||||||
|
|
||||||
Keyboard Maintainer: [MechMerlin](www.github.com/mechmerlin)
|
* Keyboard Maintainer: [MechMerlin](www.github.com/mechmerlin)
|
||||||
Hardware Supported: FaceW Sprit Edition PCB
|
* Hardware Supported: FaceW Sprit Edition PCB
|
||||||
Hardware Availability: https://mechanicalkeyboards.com/shop/index.php?l=product_detail&p=1352
|
* Hardware Availability: <https://mechanicalkeyboards.com/shop/index.php?l=product_detail&p=1352>
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make facew:default
|
make facew:default
|
||||||
|
|
||||||
Flashing
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
ps2avr(GB) boards use an atmega32a microcontroller and a different bootloader. It is not flashable using the regular QMK methods.
|
make facew:default:flash
|
||||||
|
|
||||||
**Reset Key:** To put the FaceW into reset, hold `q` (`K01`) while plugging in.
|
|
||||||
|
|
||||||
Windows:
|
|
||||||
1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
|
|
||||||
2. Place your keyboard into reset.
|
|
||||||
3. Press the `Find Device` button and ensure that your keyboard is found.
|
|
||||||
4. Press the `Open .hex File` button and locate the `.hex` file you created.
|
|
||||||
5. Press the `Flash Device` button and wait for the process to complete.
|
|
||||||
|
|
||||||
macOS:
|
|
||||||
1. Install homebrew by typing the following:
|
|
||||||
```
|
|
||||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
|
||||||
```
|
|
||||||
2. Install `crosspack-avr`.
|
|
||||||
```
|
|
||||||
brew cask install crosspack-avr
|
|
||||||
```
|
|
||||||
3. Install the following packages:
|
|
||||||
```
|
|
||||||
brew install python3
|
|
||||||
pip3 install pyusb
|
|
||||||
brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
|
|
||||||
|
|
||||||
4. Place your keyboard into reset.
|
|
||||||
5. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file.
|
|
||||||
|
|
||||||
|
**Reset Key**: Hold down the key located at *K01*, commonly programmed as *q* while plugging in the keyboard.
|
||||||
|
|
||||||
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).
|
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).
|
||||||
@@ -2,43 +2,18 @@
|
|||||||
|
|
||||||
TKL Keyboard with in switch backlight and RGB Underglow.
|
TKL Keyboard with in switch backlight and RGB Underglow.
|
||||||
|
|
||||||
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
||||||
Hardware Supported: Mars 8.0 PCB
|
* Hardware Supported: Mars 8.0 PCB
|
||||||
Hardware Availability: [Geekhack Group Buy](https://geekhack.org/index.php?topic=93723.0)
|
* Hardware Availability: [Geekhack Group Buy](https://geekhack.org/index.php?topic=93723.0)
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make ft/mars80:default
|
make ft/mars80:default
|
||||||
|
|
||||||
Flashing
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
ps2avr(GB) boards use an atmega32a microcontroller and a different bootloader. It is not flashable using the regular QMK methods.
|
make ft/mars80:default:flash
|
||||||
|
|
||||||
**Reset Key:** Hold down the key located at `K00`, commonly programmed as `Pause/Break` while plugging in the keyboard.
|
**Reset Key:** Hold down the key located at `K00`, commonly programmed as `Pause/Break` while plugging in the keyboard.
|
||||||
|
|
||||||
Windows:
|
|
||||||
1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
|
|
||||||
2. Place your keyboard into reset.
|
|
||||||
3. Press the `Find Device` button and ensure that your keyboard is found.
|
|
||||||
4. Press the `Open .hex File` button and locate the `.hex` file you created.
|
|
||||||
5. Press the `Flash Device` button and wait for the process to complete.
|
|
||||||
|
|
||||||
macOS:
|
|
||||||
1. Install homebrew by typing the following:
|
|
||||||
```
|
|
||||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
|
||||||
```
|
|
||||||
2. Install `crosspack-avr`.
|
|
||||||
```
|
|
||||||
brew cask install crosspack-avr
|
|
||||||
```
|
|
||||||
3. Install the following packages:
|
|
||||||
```
|
|
||||||
brew install python3
|
|
||||||
pip3 install pyusb
|
|
||||||
brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
|
|
||||||
```
|
|
||||||
4. Place your keyboard into reset.
|
|
||||||
5. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file.
|
|
||||||
|
|
||||||
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).
|
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).
|
||||||
@@ -37,15 +37,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |-----------------------------------------------------------|
|
* |-----------------------------------------------------------|
|
||||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
|
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |
|
||||||
* |-----------------------------------------------------------|
|
* |-----------------------------------------------------------|
|
||||||
* |Ctrl|Gui |Alt | Space |Alt |Gui |Fn |Ctrl |
|
* |Ctrl|Gui |Alt | Space |Alt |Fn |Gui |Ctrl |
|
||||||
* `-----------------------------------------------------------'
|
* `-----------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_QWERTY] = LAYOUT_60_ansi(
|
[_QWERTY] = LAYOUT_60_ansi(
|
||||||
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_BSPC, \
|
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_BSPC, \
|
||||||
HPR_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, KC_BSLS, \
|
HPR_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, KC_BSLS, \
|
||||||
CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
|
CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, \
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FUNC), KC_RCTL
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FUNC), KC_RGUI, KC_RCTL
|
||||||
),
|
),
|
||||||
|
|
||||||
/* Keymap _COLEMAK: (Base Layer) Default Layer
|
/* Keymap _COLEMAK: (Base Layer) Default Layer
|
||||||
@@ -58,15 +58,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |-----------------------------------------------------------|
|
* |-----------------------------------------------------------|
|
||||||
* |Shift | Z| X| C| V| B| K| M| ,| .| /|Shift |
|
* |Shift | Z| X| C| V| B| K| M| ,| .| /|Shift |
|
||||||
* |-----------------------------------------------------------|
|
* |-----------------------------------------------------------|
|
||||||
* |Ctrl|Gui |Alt | Space |Alt |Gui |Fn |Ctrl |
|
* |Ctrl|Gui |Alt | Space |Alt |Fn |Gui |Ctrl |
|
||||||
* `-----------------------------------------------------------'
|
* `-----------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_COLEMAK] = LAYOUT_60_ansi(
|
[_COLEMAK] = LAYOUT_60_ansi(
|
||||||
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_BSPC, \
|
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_BSPC, \
|
||||||
HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, \
|
HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||||
CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, \
|
CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, \
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, \
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FUNC), KC_RCTL
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FUNC), KC_RGUI, KC_RCTL
|
||||||
),
|
),
|
||||||
|
|
||||||
/* Keymap _DVORAK: (Base Layer) Default Layer
|
/* Keymap _DVORAK: (Base Layer) Default Layer
|
||||||
@@ -79,35 +79,35 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |-----------------------------------------------------------|
|
* |-----------------------------------------------------------|
|
||||||
* |Shift | ;| Q| J| K| X| B| M| W| V| Z|ShiftEnter|
|
* |Shift | ;| Q| J| K| X| B| M| W| V| Z|ShiftEnter|
|
||||||
* |-----------------------------------------------------------|
|
* |-----------------------------------------------------------|
|
||||||
* |Ctrl|Gui |Alt | Space |Alt |Gui |Fn |Ctrl |
|
* |Ctrl|Gui |Alt | Space |Alt |Fn |Gui |Ctrl |
|
||||||
* `-----------------------------------------------------------'
|
* `-----------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_DVORAK] = LAYOUT_60_ansi(
|
[_DVORAK] = LAYOUT_60_ansi(
|
||||||
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_BSPC, \
|
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_BSPC, \
|
||||||
HPR_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, \
|
HPR_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, \
|
||||||
CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, \
|
CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, \
|
||||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT, \
|
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FUNC), KC_RCTL
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FUNC), KC_RGUI, KC_RCTL
|
||||||
),
|
),
|
||||||
|
|
||||||
/* Keymap _FUNC: Function Layer
|
/* Keymap _FUNC: Function Layer
|
||||||
* ,-----------------------------------------------------------.
|
* ,-----------------------------------------------------------.
|
||||||
* | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete |
|
* | | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12| BL |
|
||||||
* |-----------------------------------------------------------|
|
* |-----------------------------------------------------------|
|
||||||
* | |Hom| UP|End| | | |Qwt|Cmk|Dvk| |BL-|BL+|BL |
|
* | |Hom| UP|End| | | |Qwt|Cmk|Dvk| |UP |BL-| BL+ |
|
||||||
* |-----------------------------------------------------------|
|
* |-----------------------------------------------------------|
|
||||||
* | |LFT| DN| RT| | |LFT| DN| UP| RT|Vo+|Pg+| |
|
* | |LFT| DN| RT| | | | | |Pg+|LFT|RGT| |
|
||||||
* |-----------------------------------------------------------|
|
* |-----------------------------------------------------------|
|
||||||
* | | | |Prv|Ply|Nxt| | | |Vo-|Pg-| |
|
* | | | |Prv|Ply|Nxt| | | |Pg-|DN | |
|
||||||
* |-----------------------------------------------------------|
|
* |-----------------------------------------------------------|
|
||||||
* |RESET| | | | | | | |
|
* |RESET| | | | | | | |
|
||||||
* `-----------------------------------------------------------'
|
* `-----------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_FUNC] = LAYOUT_60_ansi(
|
[_FUNC] = LAYOUT_60_ansi(
|
||||||
_______, 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_DEL, \
|
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, BL_TOGG, \
|
||||||
_______, KC_HOME, KC_UP, KC_END, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, BL_DEC, BL_INC, BL_TOGG, \
|
_______, KC_HOME, KC_UP, KC_END, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_UP, BL_DEC, BL_INC, \
|
||||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_VOLU, KC_PGUP, _______, \
|
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_PGUP, KC_LEFT, KC_RGHT, _______, \
|
||||||
_______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_VOLD, KC_PGDN, _______, \
|
_______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_PGDN, KC_DOWN, _______, \
|
||||||
RESET, _______, _______, _______, _______, _______, _______, _______
|
RESET, _______, _______, _______, _______, _______, _______, _______
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,45 +4,18 @@
|
|||||||
|
|
||||||
A Sony HitBit MSX Computer inspired Keyboard.
|
A Sony HitBit MSX Computer inspired Keyboard.
|
||||||
|
|
||||||
Keyboard Maintainer: [Felipe Coury](https://github.com/fcoury)
|
* Keyboard Maintainer: [Felipe Coury](https://github.com/fcoury)
|
||||||
Hardware Supported: Gray Studio HB85
|
* Hardware Supported: Gray Studio HB85
|
||||||
Hardware Availability: [Group buy](https://en.zfrontier.com/products/gray-hb85) finished
|
* Hardware Availability: [Group buy](https://en.zfrontier.com/products/gray-hb85) finished
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make gray_studio/hb85:default
|
make gray_studio/hb85:default
|
||||||
|
|
||||||
Flashing
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
ps2avr(GB) boards use an atmega32a microcontroller and a different bootloader. It is not flashable using the regular QMK methods.
|
make gray_studio/hb85:default:flash
|
||||||
|
|
||||||
**Reset Key:** Hold down the key located at `K00`, commonly programmed as F3 while plugging in the keyboard.
|
**Reset Key:** Hold down the key located at `K00`, commonly programmed as F3 while plugging in the keyboard.
|
||||||
|
|
||||||
Windows:
|
|
||||||
1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
|
|
||||||
2. Place your keyboard into reset.
|
|
||||||
3. Press the `Find Device` button and ensure that your keyboard is found.
|
|
||||||
4. Press the `Open .hex File` button and locate the `.hex` file you created.
|
|
||||||
5. Press the `Flash Device` button and wait for the process to complete.
|
|
||||||
|
|
||||||
macOS:
|
|
||||||
1. Install homebrew by typing the following:
|
|
||||||
```
|
|
||||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
|
||||||
```
|
|
||||||
2. Install `crosspack-avr`.
|
|
||||||
```
|
|
||||||
brew cask install crosspack-avr
|
|
||||||
```
|
|
||||||
3. Install the following packages:
|
|
||||||
```
|
|
||||||
brew install python3
|
|
||||||
pip3 install pyusb
|
|
||||||
brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
|
|
||||||
|
|
||||||
4. Place your keyboard into reset.
|
|
||||||
5. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file.
|
|
||||||
|
|
||||||
**Please Note:** You will need to use the `EEP_RST` keycode first, followed by unplugging/replugging the board to get RGB underglow effects to work.
|
|
||||||
|
|
||||||
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).
|
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).
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# Cans12er
|
||||||
|

|
||||||
|
|
||||||
|
A 12-key, orthogonal keypad designed by Can!
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Can](https://github.com/canbaytok)
|
||||||
|
* Hardware Supported: Pro Micro Atmega32u4
|
||||||
|
* Hardware Availability: DIY with the [open-source design files](https://github.com/canbaytok/Cans12er)
|
||||||
|
|
||||||
|
Schematic can be found here: [EasyEDA](https://easyeda.com/senordoenermann/mediapad)
|
||||||
|
|
||||||
|
Build Instructions can be found here: [canbaytok/Cans12er](https://github.com/canbaytok/Cans12er)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make handwired/cans12er:default
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
#include "cans12er.h"
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define LAYOUT_ortho_3x4( \
|
||||||
|
K00, K01, K02, K03, \
|
||||||
|
K10, K11, K12, K13, \
|
||||||
|
K20, K21, K22, K23 \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03 }, \
|
||||||
|
{ K10, K11, K12, K13 }, \
|
||||||
|
{ K20, K21, K22, K23 } \
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "config_common.h"
|
||||||
|
|
||||||
|
/* USB Device descriptor parameter */
|
||||||
|
#define VENDOR_ID 0xFEED
|
||||||
|
#define PRODUCT_ID 0x6060
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER Can
|
||||||
|
#define PRODUCT cans12er
|
||||||
|
#define DESCRIPTION a simple 3x4 keypad. every part can be manufactured at home
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 3
|
||||||
|
#define MATRIX_COLS 4
|
||||||
|
|
||||||
|
/* key matrix pins */
|
||||||
|
#define MATRIX_ROW_PINS { F7, B1, B3 }
|
||||||
|
#define MATRIX_COL_PINS { D0, D4, C6, D7 }
|
||||||
|
#define UNUSED_PINS
|
||||||
|
|
||||||
|
/* COL2ROW or ROW2COL */
|
||||||
|
#define DIODE_DIRECTION ROW2COL
|
||||||
|
|
||||||
|
/* number of backlight levels */
|
||||||
|
|
||||||
|
#ifdef BACKLIGHT_PIN
|
||||||
|
#define BACKLIGHT_LEVELS 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Set 0 if debouncing isn't needed */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
|
||||||
|
/* Locking resynchronize hack */
|
||||||
|
#define LOCKING_RESYNC_ENABLE
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
|
||||||
|
// this is the style you want to emulate.
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||||
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
|
// entirely and just use numbers.
|
||||||
|
|
||||||
|
#define _KEYPAD 0
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[_KEYPAD] = LAYOUT_ortho_3x4(
|
||||||
|
KC_A, KC_B, KC_C, KC_D,
|
||||||
|
KC_E, KC_F, KC_G, KC_H,
|
||||||
|
KC_I, KC_J, KC_K, KC_L
|
||||||
|
),
|
||||||
|
};
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
# Teensy halfkay
|
||||||
|
# Pro Micro caterina
|
||||||
|
# Atmel DFU atmel-dfu
|
||||||
|
# LUFA DFU lufa-dfu
|
||||||
|
# QMK DFU qmk-dfu
|
||||||
|
# ATmega32A bootloadHID
|
||||||
|
# ATmega328P USBasp
|
||||||
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# comment out to disable the options.
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
MIDI_ENABLE = no # MIDI support
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
|
AUDIO_ENABLE = no # Audio output on port C6
|
||||||
|
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||||
|
HD44780_ENABLE = no # Enable support for HD44780 based LCDs
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
/* Copyright 2019 HELIAR MK
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
#include "config_common.h"
|
||||||
|
|
||||||
|
/* USB Device descriptor parameter */
|
||||||
|
#define VENDOR_ID 0xFEED
|
||||||
|
#define PRODUCT_ID 0xD070
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER Heliar
|
||||||
|
#define PRODUCT wm1 hotswap
|
||||||
|
#define DESCRIPTION 69% custom keyboard
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 5
|
||||||
|
#define MATRIX_COLS 15
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Keyboard Matrix Assignments
|
||||||
|
*
|
||||||
|
* Change this to how you wired your keyboard
|
||||||
|
* COLS: AVR pins used for columns, left to right
|
||||||
|
* ROWS: AVR pins used for rows, top to bottom
|
||||||
|
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||||
|
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define MATRIX_ROW_PINS { D5, D3, B3, F0, E6 }
|
||||||
|
#define MATRIX_COL_PINS { D2, B0, B1, B2, D1, D0, C7, C6, B6, B5, B4, F4, F5, F6, F1 }
|
||||||
|
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
#define BACKLIGHT_PIN B7
|
||||||
|
#define BACKLIGHT_LEVELS 3
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "wm1",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "heliar",
|
||||||
|
"width": 18.25,
|
||||||
|
"height": 5.25,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"label": "k00", "x": 0, "y": 0},
|
||||||
|
{"label": "k01", "x": 1, "y": 0},
|
||||||
|
{"label": "k02", "x": 2, "y": 0},
|
||||||
|
{"label": "k03", "x": 3, "y": 0},
|
||||||
|
{"label": "k04", "x": 4, "y": 0},
|
||||||
|
{"label": "k05", "x": 5, "y": 0},
|
||||||
|
{"label": "k06", "x": 6, "y": 0},
|
||||||
|
{"label": "k07", "x": 9, "y": 0},
|
||||||
|
{"label": "k08", "x": 10, "y": 0},
|
||||||
|
{"label": "k09", "x": 11, "y": 0},
|
||||||
|
{"label": "k0a", "x": 12, "y": 0},
|
||||||
|
{"label": "k0b", "x": 13, "y": 0},
|
||||||
|
{"label": "k0c", "x": 14, "y": 0},
|
||||||
|
{"label": "k0d", "x": 15, "y": 0, "w": 2},
|
||||||
|
{"label": "k0e", "x": 17.25, "y": 0},
|
||||||
|
{"label": "k10", "x": 0, "y": 1, "w": 1.5},
|
||||||
|
{"label": "k11", "x": 1.5, "y": 1},
|
||||||
|
{"label": "k12", "x": 2.5, "y": 1},
|
||||||
|
{"label": "k13", "x": 3.5, "y": 1},
|
||||||
|
{"label": "k14", "x": 4.5, "y": 1},
|
||||||
|
{"label": "k15", "x": 5.5, "y": 1},
|
||||||
|
{"label": "k16", "x": 8.5, "y": 1},
|
||||||
|
{"label": "k17", "x": 9.5, "y": 1},
|
||||||
|
{"label": "k18", "x": 10.5, "y": 1},
|
||||||
|
{"label": "k19", "x": 11.5, "y": 1},
|
||||||
|
{"label": "k1a", "x": 12.5, "y": 1},
|
||||||
|
{"label": "k1b", "x": 13.5, "y": 1},
|
||||||
|
{"label": "k1c", "x": 14.5, "y": 1},
|
||||||
|
{"label": "k1d", "x": 15.5, "y": 1, "w": 1.5},
|
||||||
|
{"label": "k1e", "x": 17.25, "y": 1},
|
||||||
|
{"label": "k20", "x": 0, "y": 2, "w": 1.75},
|
||||||
|
{"label": "k21", "x": 1.75, "y": 2},
|
||||||
|
{"label": "k22", "x": 2.75, "y": 2},
|
||||||
|
{"label": "k23", "x": 3.75, "y": 2},
|
||||||
|
{"label": "k24", "x": 4.75, "y": 2},
|
||||||
|
{"label": "k25", "x": 5.75, "y": 2},
|
||||||
|
{"label": "k26", "x": 8.75, "y": 2},
|
||||||
|
{"label": "k27", "x": 9.75, "y": 2},
|
||||||
|
{"label": "k28", "x": 10.75, "y": 2},
|
||||||
|
{"label": "k29", "x": 11.75, "y": 2},
|
||||||
|
{"label": "k2a", "x": 12.75, "y": 2},
|
||||||
|
{"label": "k2b", "x": 13.75, "y": 2},
|
||||||
|
{"label": "k2d", "x": 14.75, "y": 2, "w": 2.25},
|
||||||
|
{"label": "k2e", "x": 17.25, "y": 2},
|
||||||
|
{"label": "k30", "x": 0, "y": 3, "w": 2.25},
|
||||||
|
{"label": "k31", "x": 2.25, "y": 3},
|
||||||
|
{"label": "k32", "x": 3.25, "y": 3},
|
||||||
|
{"label": "k33", "x": 4.25, "y": 3},
|
||||||
|
{"label": "k34", "x": 5.25, "y": 3},
|
||||||
|
{"label": "k35", "x": 6.25, "y": 3},
|
||||||
|
{"label": "k36", "x": 8.25, "y": 3},
|
||||||
|
{"label": "k37", "x": 9.25, "y": 3},
|
||||||
|
{"label": "k38", "x": 10.25, "y": 3},
|
||||||
|
{"label": "k39", "x": 11.25, "y": 3},
|
||||||
|
{"label": "k3a", "x": 12.25, "y": 3},
|
||||||
|
{"label": "k3b", "x": 13.25, "y": 3},
|
||||||
|
{"label": "k3c", "x": 14.25, "y": 3, "w": 1.75},
|
||||||
|
{"label": "k3d", "x": 16.25, "y": 3.25},
|
||||||
|
{"label": "k40", "x": 0, "y": 4, "w": 1.5},
|
||||||
|
{"label": "k42", "x": 3, "y": 4, "w": 1.5},
|
||||||
|
{"label": "k43", "x": 4.5, "y": 4},
|
||||||
|
{"label": "k44", "x": 5.5, "y": 4, "w": 2},
|
||||||
|
{"label": "k46", "x": 8.25, "y": 4, "w": 2.75},
|
||||||
|
{"label": "k49", "x": 11, "y": 4, "w": 1.5},
|
||||||
|
{"label": "k4b", "x": 13.5, "y": 4, "w": 1.5},
|
||||||
|
{"label": "k4c", "x": 15.25, "y": 4.25},
|
||||||
|
{"label": "k4d", "x": 16.25, "y": 4.25},
|
||||||
|
{"label": "k4e", "x": 17.25, "y": 4.25}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
// Defines names for use in layer keycodes and the keymap
|
||||||
|
enum layer_names {
|
||||||
|
_BASE,
|
||||||
|
_FN
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_BASE] = LAYOUT(
|
||||||
|
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_ESC,
|
||||||
|
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, KC_BSLS, KC_INS,
|
||||||
|
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_ENT, KC_DEL,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LALT,KC_LGUI,KC_SPC, LT(_FN,KC_SPC), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
|
||||||
|
|
||||||
|
[_FN] = LAYOUT(
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
|
||||||
|
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
|
};
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
# The default layout
|
||||||
|
## layer 0 keymap
|
||||||
|

|
||||||
|
## layer 1 keymap
|
||||||
|

|
||||||
|
## The keycap size of layout
|
||||||
|

|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# Wm1 ergonomic Keyboard alternative hotswap PCB
|
||||||
|
### Original Wm1 Keyboard
|
||||||
|

|
||||||
|
### Pcb front side
|
||||||
|

|
||||||
|
### Pcb back side
|
||||||
|

|
||||||
|
|
||||||
|
A ergonomic 68 key keyboard's hotswap-type PCB which is made by heliar and this PCB is compatible with the wm1 keyboard is designed by Hoq.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Heliar](https://github.com/heliarmk)
|
||||||
|
* Hardware Supported: Hotswap type
|
||||||
|
* Hardware Availability: [Heliar](https://github.com/heliarmk)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make heliar/wm1_hotswap:default
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
# Teensy halfkay
|
||||||
|
# Pro Micro caterina
|
||||||
|
# Atmel DFU atmel-dfu
|
||||||
|
# LUFA DFU lufa-dfu
|
||||||
|
# QMK DFU qmk-dfu
|
||||||
|
# ATmega32A bootloadHID
|
||||||
|
# ATmega328P USBasp
|
||||||
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
|
## Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = no # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = no # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
MIDI_ENABLE = no # MIDI support
|
||||||
|
UNICODE_ENABLE = no # Unicode
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
|
AUDIO_ENABLE = no # Audio output on port C6
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
/* Copyright 2019 HELIAR MK
|
||||||
|
*
|
||||||
|
* 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 "wm1_hotswap.h"
|
||||||
|
|
||||||
|
|
||||||
|
void keyboard_pre_init_kb(void)
|
||||||
|
{
|
||||||
|
setPinOutput(D7);
|
||||||
|
writePinHigh(D7);
|
||||||
|
setPinOutput(D6);
|
||||||
|
writePinHigh(D6);
|
||||||
|
setPinOutput(D4);
|
||||||
|
writePinHigh(D4);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool led_update_kb(led_t led_state) {
|
||||||
|
|
||||||
|
if (led_update_user(led_state)){
|
||||||
|
writePin(D7, !led_state.num_lock);
|
||||||
|
writePin(D6, !led_state.caps_lock);
|
||||||
|
writePin(D4, !led_state.scroll_lock);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
/* Copyright 2019 HELIAR MK
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
/* This a shortcut to help you visually see your layout.
|
||||||
|
*
|
||||||
|
* The first section contains all of the arguments representing the physical
|
||||||
|
* layout of the board and position of the keys.
|
||||||
|
*
|
||||||
|
* The second converts the arguments into a two-dimensional array which
|
||||||
|
* represents the switch matrix.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define LAYOUT( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
|
||||||
|
K40, K42, K43, K44, K46, K49, K4B, K4C, K4D, K4E \
|
||||||
|
)\
|
||||||
|
{\
|
||||||
|
{K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E}, \
|
||||||
|
{K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E}, \
|
||||||
|
{K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E}, \
|
||||||
|
{K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO},\
|
||||||
|
{K40, KC_NO, K42, K43, K44, KC_NO,K46, KC_NO, KC_NO, K49, KC_NO, K4B, K4C, K4D, K4E} \
|
||||||
|
}
|
||||||
@@ -0,0 +1,225 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2019 Maarten Dekkers <[email protected]>
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
#include "config_common.h"
|
||||||
|
|
||||||
|
/* USB Device descriptor parameter */
|
||||||
|
#define VENDOR_ID 0x4705
|
||||||
|
#define PRODUCT_ID 0x0143
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER Maartenwut
|
||||||
|
#define PRODUCT J-01
|
||||||
|
#define DESCRIPTION A custom 65%ish keyboard
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 5
|
||||||
|
#define MATRIX_COLS 17
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Keyboard Matrix Assignments
|
||||||
|
*
|
||||||
|
* Change this to how you wired your keyboard
|
||||||
|
* COLS: AVR pins used for columns, left to right
|
||||||
|
* ROWS: AVR pins used for rows, top to bottom
|
||||||
|
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||||
|
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define MATRIX_ROW_PINS {B2, B1, B3, B0, D0}
|
||||||
|
#define MATRIX_COL_PINS {D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4, F1}
|
||||||
|
#define UNUSED_PINS
|
||||||
|
|
||||||
|
/* COL2ROW, ROW2COL*/
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
|
||||||
|
*/
|
||||||
|
#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
|
||||||
|
|
||||||
|
#define BACKLIGHT_PIN B7
|
||||||
|
#define BACKLIGHT_BREATHING
|
||||||
|
#define BACKLIGHT_LEVELS 4
|
||||||
|
|
||||||
|
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||||
|
//#define MATRIX_HAS_GHOST
|
||||||
|
|
||||||
|
/* 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
|
||||||
|
|
||||||
|
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||||
|
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||||
|
*/
|
||||||
|
// #define GRAVE_ESC_CTRL_OVERRIDE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Force NKRO
|
||||||
|
*
|
||||||
|
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||||
|
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||||
|
* makefile for this to work.)
|
||||||
|
*
|
||||||
|
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||||
|
* until the next keyboard reset.
|
||||||
|
*
|
||||||
|
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||||
|
* fully operational during normal computer usage.
|
||||||
|
*
|
||||||
|
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||||
|
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||||
|
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||||
|
* power-up.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//#define FORCE_NKRO
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Magic Key Options
|
||||||
|
*
|
||||||
|
* Magic keys are hotkey commands that allow control over firmware functions of
|
||||||
|
* the keyboard. They are best used in combination with the HID Listen program,
|
||||||
|
* found here: https://www.pjrc.com/teensy/hid_listen.html
|
||||||
|
*
|
||||||
|
* The options below allow the magic key functionality to be changed. This is
|
||||||
|
* useful if your keyboard/keypad is missing keys and you want magic key support.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* key combination for magic key command */
|
||||||
|
/* defined by default; to change, uncomment and set to the combination you want */
|
||||||
|
// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
|
||||||
|
|
||||||
|
/* control how magic key switches layers */
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
|
||||||
|
|
||||||
|
/* override magic key keymap */
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
|
||||||
|
//#define MAGIC_KEY_HELP H
|
||||||
|
//#define MAGIC_KEY_HELP_ALT SLASH
|
||||||
|
//#define MAGIC_KEY_DEBUG D
|
||||||
|
//#define MAGIC_KEY_DEBUG_MATRIX X
|
||||||
|
//#define MAGIC_KEY_DEBUG_KBD K
|
||||||
|
//#define MAGIC_KEY_DEBUG_MOUSE M
|
||||||
|
//#define MAGIC_KEY_VERSION V
|
||||||
|
//#define MAGIC_KEY_STATUS S
|
||||||
|
//#define MAGIC_KEY_CONSOLE C
|
||||||
|
//#define MAGIC_KEY_LAYER0 0
|
||||||
|
//#define MAGIC_KEY_LAYER0_ALT GRAVE
|
||||||
|
//#define MAGIC_KEY_LAYER1 1
|
||||||
|
//#define MAGIC_KEY_LAYER2 2
|
||||||
|
//#define MAGIC_KEY_LAYER3 3
|
||||||
|
//#define MAGIC_KEY_LAYER4 4
|
||||||
|
//#define MAGIC_KEY_LAYER5 5
|
||||||
|
//#define MAGIC_KEY_LAYER6 6
|
||||||
|
//#define MAGIC_KEY_LAYER7 7
|
||||||
|
//#define MAGIC_KEY_LAYER8 8
|
||||||
|
//#define MAGIC_KEY_LAYER9 9
|
||||||
|
//#define MAGIC_KEY_BOOTLOADER B
|
||||||
|
//#define MAGIC_KEY_BOOTLOADER_ALT ESC
|
||||||
|
//#define MAGIC_KEY_LOCK CAPS
|
||||||
|
//#define MAGIC_KEY_EEPROM E
|
||||||
|
//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
|
||||||
|
//#define MAGIC_KEY_NKRO N
|
||||||
|
//#define MAGIC_KEY_SLEEP_LED Z
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Feature disable options
|
||||||
|
* These options are also useful to firmware size reduction.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* disable debug print */
|
||||||
|
//#define NO_DEBUG
|
||||||
|
|
||||||
|
/* disable print */
|
||||||
|
//#define NO_PRINT
|
||||||
|
|
||||||
|
/* disable action features */
|
||||||
|
//#define NO_ACTION_LAYER
|
||||||
|
//#define NO_ACTION_TAPPING
|
||||||
|
//#define NO_ACTION_ONESHOT
|
||||||
|
|
||||||
|
/* disable these deprecated features by default */
|
||||||
|
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
|
||||||
|
#define NO_ACTION_MACRO
|
||||||
|
#define NO_ACTION_FUNCTION
|
||||||
|
#endif
|
||||||
|
/*
|
||||||
|
* MIDI options
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Prevent use of disabled MIDI features in the keymap */
|
||||||
|
//#define MIDI_ENABLE_STRICT 1
|
||||||
|
|
||||||
|
/* enable basic MIDI features:
|
||||||
|
- MIDI notes can be sent when in Music mode is on
|
||||||
|
*/
|
||||||
|
//#define MIDI_BASIC
|
||||||
|
|
||||||
|
/* enable advanced MIDI features:
|
||||||
|
- MIDI notes can be added to the keymap
|
||||||
|
- Octave shift and transpose
|
||||||
|
- Virtual sustain, portamento, and modulation wheel
|
||||||
|
- etc.
|
||||||
|
*/
|
||||||
|
//#define MIDI_ADVANCED
|
||||||
|
|
||||||
|
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||||
|
//#define MIDI_TONE_KEYCODE_OCTAVES 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* HD44780 LCD Display Configuration
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
#define LCD_LINES 2 //< number of visible lines of the display
|
||||||
|
#define LCD_DISP_LENGTH 16 //< visibles characters per line of the display
|
||||||
|
|
||||||
|
#define LCD_IO_MODE 1 //< 0: memory mapped mode, 1: IO port mode
|
||||||
|
|
||||||
|
#if LCD_IO_MODE
|
||||||
|
#define LCD_PORT PORTB //< port for the LCD lines
|
||||||
|
#define LCD_DATA0_PORT LCD_PORT //< port for 4bit data bit 0
|
||||||
|
#define LCD_DATA1_PORT LCD_PORT //< port for 4bit data bit 1
|
||||||
|
#define LCD_DATA2_PORT LCD_PORT //< port for 4bit data bit 2
|
||||||
|
#define LCD_DATA3_PORT LCD_PORT //< port for 4bit data bit 3
|
||||||
|
#define LCD_DATA0_PIN 4 //< pin for 4bit data bit 0
|
||||||
|
#define LCD_DATA1_PIN 5 //< pin for 4bit data bit 1
|
||||||
|
#define LCD_DATA2_PIN 6 //< pin for 4bit data bit 2
|
||||||
|
#define LCD_DATA3_PIN 7 //< pin for 4bit data bit 3
|
||||||
|
#define LCD_RS_PORT LCD_PORT //< port for RS line
|
||||||
|
#define LCD_RS_PIN 3 //< pin for RS line
|
||||||
|
#define LCD_RW_PORT LCD_PORT //< port for RW line
|
||||||
|
#define LCD_RW_PIN 2 //< pin for RW line
|
||||||
|
#define LCD_E_PORT LCD_PORT //< port for Enable line
|
||||||
|
#define LCD_E_PIN 1 //< pin for Enable line
|
||||||
|
#endif
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Bootmagic Lite key configuration */
|
||||||
|
#define BOOTMAGIC_LITE_ROW 0
|
||||||
|
#define BOOTMAGIC_LITE_COLUMN 2
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "J01",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "MechMerlin",
|
||||||
|
"width": 19,
|
||||||
|
"height": 5.25,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_ansi": {
|
||||||
|
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":10.5, "y":0}, {"x":11.5, "y":0}, {"x":12.5, "y":0}, {"x":13.5, "y":0}, {"x":14.5, "y":0}, {"x":15.5, "y":0}, {"x":16.5, "y":0}, {"x":18, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2.5, "y":1, "w":1.5}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":15, "y":1}, {"x":16, "y":1, "w":1.5}, {"x":18, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2.5, "y":2, "w":1.75}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2}, {"x":15.25, "y":2, "w":2.25}, {"x":18, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2.5, "y":3, "w":2.25}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3}, {"x":14.75, "y":3, "w":1.75}, {"x":16.75, "y":3.25}, {"x":18, "y":3}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":1.25}, {"x":6.25, "y":4, "w":6.25}, {"x":12.5, "y":4, "w":1.5}, {"x":14, "y":4, "w":1.5}, {"x":15.75, "y":4.25}, {"x":16.75, "y":4.25}, {"x":17.75, "y":4.25}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
/* Copyright Maarten Dekkers <[email protected]>
|
||||||
|
*
|
||||||
|
* 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 "j01.h"
|
||||||
|
|
||||||
|
// Optional override functions below.
|
||||||
|
// You can leave any or all of these undefined.
|
||||||
|
// These are only required if you want to perform custom actions.
|
||||||
|
|
||||||
|
|
||||||
|
void matrix_init_kb(void) {
|
||||||
|
// put your keyboard start-up code here
|
||||||
|
// runs once when the firmware starts up
|
||||||
|
|
||||||
|
matrix_init_user();
|
||||||
|
setPinOutput(E6);
|
||||||
|
}
|
||||||
|
|
||||||
|
void matrix_scan_kb(void) {
|
||||||
|
// put your looping keyboard code here
|
||||||
|
// runs every cycle (a lot)
|
||||||
|
|
||||||
|
matrix_scan_user();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
// put your per-action keyboard code here
|
||||||
|
// runs for every action, just before processing by the firmware
|
||||||
|
|
||||||
|
return process_record_user(keycode, record);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool led_update_kb(led_t led_state) {
|
||||||
|
if(led_update_user(led_state)) {
|
||||||
|
writePin(E6, !led_state.caps_lock);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
/* Copyright 2019 Maarten Dekkers <[email protected]>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
/* This is a shortcut to help you visually see your layout.
|
||||||
|
*
|
||||||
|
* The first section contains all of the arguments representing the physical
|
||||||
|
* layout of the board and position of the keys.
|
||||||
|
*
|
||||||
|
* The second converts the arguments into a two-dimensional array which
|
||||||
|
* represents the switch matrix.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define XXX KC_NO
|
||||||
|
|
||||||
|
#define LAYOUT_ansi( \
|
||||||
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k1f, k0g, \
|
||||||
|
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k2e, k1g, \
|
||||||
|
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2f, k2g, \
|
||||||
|
k30, k31, k32, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, k3g, \
|
||||||
|
k42, k43, k44, k48, k4c, k4d, k4e, k4f, k4g \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g}, \
|
||||||
|
{k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g}, \
|
||||||
|
{k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g}, \
|
||||||
|
{k30, k31, k32, XXX, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, k3f, k3g}, \
|
||||||
|
{XXX, XXX, k42, k43, k44, XXX, XXX, XXX, k48, XXX, XXX, XXX, k4c, k4d, k4e, k4f, k4g} \
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
/* Copyright 2019 Maarten Dekkers <[email protected]>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT_ansi(
|
||||||
|
KC_F1, KC_F2, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_DEL, \
|
||||||
|
KC_F3, KC_F4, 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, KC_BSLS, KC_PGUP, \
|
||||||
|
KC_F5, KC_F6, 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_ENT, KC_PGDN, \
|
||||||
|
KC_F7, KC_F8, 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_UP, MO(1), \
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
[1] = LAYOUT_ansi(
|
||||||
|
KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||||
|
KC_TRNS, KC_TRNS, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, \
|
||||||
|
KC_TRNS, KC_TRNS, BL_BRTG, BL_DEC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, \
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
};
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
# The default keymap for j01
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# J-01
|
||||||
|
|
||||||
|
A 65% with the arrow keys and right most column exploded away, with macro keys on the left hand side. Only 15 manufactured.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Maartenwut](https://github.com/maartenwut)
|
||||||
|
* Hardware Supported: J-01 PCB
|
||||||
|
* Hardware Availability: Private Group Buy and [Charity Raffle](https://novelkeys.xyz/collections/frontpage/products/j-01-raffle-ticket)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make jae/j01:default
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
# Teensy halfkay
|
||||||
|
# Pro Micro caterina
|
||||||
|
# Atmel DFU atmel-dfu
|
||||||
|
# LUFA DFU lufa-dfu
|
||||||
|
# QMK DFU qmk-dfu
|
||||||
|
# ATmega32A bootloadHID
|
||||||
|
# ATmega328P USBasp
|
||||||
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = yes # Console for debug
|
||||||
|
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = no # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
MIDI_ENABLE = no # MIDI support
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
|
AUDIO_ENABLE = no # Audio output on port C6
|
||||||
|
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||||
|
HD44780_ENABLE = no # Enable support for HD44780 based LCDs
|
||||||
@@ -1,32 +1,25 @@
|
|||||||
JC65 ps2avrGB
|
# JC65
|
||||||
=======
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
A 65% keyboard with RGB
|
A 65% keyboard with RGB
|
||||||
|
|
||||||
Keyboard Maintainer: [Jason Barnachea](https://github.com/nautxx)
|
|
||||||
|
|
||||||
Hardware Supported: JC65 rev.ps2avrgb
|
|
||||||
|
|
||||||
Hardware Availability: [keyclack.com](https://keyclack.com/)
|
|
||||||
|
|
||||||
The JC65 PCB actually has two revisions: A QMK native version, and a PS2AVRGB version. Jchan offered both PCBs as options during the M65-A Round 1 group buy, and were also available choices for the 65% acrylic case group buy.
|
The JC65 PCB actually has two revisions: A QMK native version, and a PS2AVRGB version. Jchan offered both PCBs as options during the M65-A Round 1 group buy, and were also available choices for the 65% acrylic case group buy.
|
||||||
|
|
||||||
Please note that there have been issues with QMK and PS2AVRGB boards. Random shutdowns and overheating have been reported. As of now, the cause has not been discovered.
|
|
||||||
|
|
||||||
These docs are for the PS2AVRGB version of the PCB. More info on qmk.fm
|
These docs are for the PS2AVRGB version of the PCB. More info on qmk.fm
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Jason Barnachea](https://github.com/nautxx)
|
||||||
|
* Hardware Supported: JC65 rev.ps2avrgb
|
||||||
|
* Hardware Availability: [keyclack.com](https://keyclack.com/)
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make jc65/v32a:default
|
make jc65/v32a:default
|
||||||
|
|
||||||
Flash example for this keyboard:
|
|
||||||
|
|
||||||
bootloadHID -r jc65_v32a_default.hex
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
Flashing on Windows can be accomplished by downloading [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash)
|
make jc65/v32a:default:flash
|
||||||
|
|
||||||
To put the PS2AVRGB board into reset, hold down the left control key while plugging in the keyboard.
|
**Reset Key**: Hold down the key commonly programmed as *left control* while plugging in the keyboard.
|
||||||
|
|
||||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
|
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).
|
||||||
@@ -4,81 +4,18 @@
|
|||||||
|
|
||||||
A compact 40% (12x4) ortholinear keyboard kit made and KPRepublic on AliExpress.
|
A compact 40% (12x4) ortholinear keyboard kit made and KPRepublic on AliExpress.
|
||||||
|
|
||||||
Keyboard Maintainer: [QMK Community](https://github.com/qmk)
|
* Keyboard Maintainer: [QMK Community](https://github.com/qmk)
|
||||||
Hardware Supported: Atmega32A
|
* Hardware Supported: Atmega32A
|
||||||
Hardware Availability: [AliExpress](https://www.aliexpress.com/store/product/jj40-Custom-Mechanical-Keyboard-40-PCB-programmed-40-planck-layouts-bface-firmware-gh40/3034003_32828781103.html)
|
* Hardware Availability: [AliExpress](https://www.aliexpress.com/store/product/jj40-Custom-Mechanical-Keyboard-40-PCB-programmed-40-planck-layouts-bface-firmware-gh40/3034003_32828781103.html)
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make jj40:default:program
|
make jj40:default
|
||||||
|
|
||||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
Note that this is a complete replacement for the firmware, so you won't be
|
make jj40:default:flash
|
||||||
using Bootmapper Client to change any keyboard settings, since not all the
|
|
||||||
USB report options are supported.
|
|
||||||
|
|
||||||
In addition you may need the AVR toolchain and `bootloadHID` ([GitHub repo](https://github.com/whiteneon/bootloadHID)) for flashing:
|
**Reset Key**: Hold down the *Top Right Key* key, commonly programmed as *Backspace* while plugging in the keyboard.
|
||||||
|
|
||||||
For macOS:
|
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).
|
||||||
```
|
|
||||||
$ brew cask install crosspack-avr
|
|
||||||
$ brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
|
|
||||||
```
|
|
||||||
|
|
||||||
For Linux:
|
|
||||||
```
|
|
||||||
$ sudo apt install libusb-dev
|
|
||||||
$ wget https://www.obdev.at/downloads/vusb/bootloadHID.2012-12-08.tar.gz
|
|
||||||
$ tar -xzf bootloadHID.2012-12-08.tar.gz
|
|
||||||
$ cd bootloadHID.2012-12-08/commandline
|
|
||||||
$ make
|
|
||||||
$ sudo cp bootloadHID /usr/bin
|
|
||||||
```
|
|
||||||
|
|
||||||
In order to use the `././util/atmega32a_program.py` script, which can reboot the board into
|
|
||||||
the bootloader, you'll need Python 2 with PyUSB installed:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ pip install pyusb
|
|
||||||
```
|
|
||||||
|
|
||||||
If you prefer (or are having issues with a `program` flash), you can just build it (`make jj40:<keymap-name>` and flash the firmware (`.hex` file) directly with
|
|
||||||
`bootloadHID` if you boot the board while holding down `Backspace` (`Top Right Key`) to keep it
|
|
||||||
in the bootloader:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ make jj40
|
|
||||||
$ bootloadHID -r jj40_default.hex
|
|
||||||
```
|
|
||||||
|
|
||||||
For Windows 10:
|
|
||||||
Windows sometimes doesn't recognize the jj40. The easiest way of flashing a new layout is probably using [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
|
|
||||||
1. Go to Windows Device Manager and find the keyboard (plug it in while holding down `Backspace` (`Top Right Key`)). It can be found under Human Interface Devices or under Keyboards.
|
|
||||||
2. Go to properties and the Details tab to find the hardware ID. You want the VID and the PID (code after the underscore). Plug them into HIDBootFlash and hit Find Device.
|
|
||||||
3. Use `make jj40:<keymap-name>` to generate the .hex file in the qmk basis folder. Select the .hex file in HIDBootFlash and press Flash Device.
|
|
||||||
|
|
||||||
|
|
||||||
## Troubleshooting
|
|
||||||
|
|
||||||
1. Try plugging the board in while pressing `Backspace` (`Top Right Key`). This will force it
|
|
||||||
to boot only the bootloader without loading the firmware. Once this is
|
|
||||||
done, just reflash the board with the original firmware.
|
|
||||||
2. Sometimes USB hubs can act weird, so try connecting the board directly
|
|
||||||
to your computer or plugging/unplugging the USB hub.
|
|
||||||
3. If you get an error such as "Resource Unavailable" when attemting to flash
|
|
||||||
on Linux, you may want to compile and run `tools/usb_detach.c`. See `tools/README.md`
|
|
||||||
for more info.
|
|
||||||
|
|
||||||
## Recovery
|
|
||||||
If you flash a bad hex (e.g. you have a V1 board without RGB and compile/flash blindly without editing your rules.mk), your jj40 is now semi-bricked and you're stuck unless you have access to an ISP. The [ISP Flashing Guide](https://docs.qmk.fm/#/isp_flashing_guide) contains very good (but somewhat generalized) information. However, the instructions below should get you up and running provided you have an Arduino or clone.
|
|
||||||
|
|
||||||
### Arduino Setup
|
|
||||||
1. Upload the ArduinoISP sketch onto your Arduino board (https://www.arduino.cc/en/Tutorial/ArduinoISP).
|
|
||||||
2. Wire the Arduino to the jj40. Match the data pins on the Arduino to those on the jj40. "RST" usually goes to D10 on the Arduino. I didn't need a capacitor when using my Uno.
|
|
||||||

|
|
||||||
3. Get a working bootloader from https://blog.winkeyless.kr/m/152. The file is called "main.hex" from the archive called "ps2avrGB_bootloader_161215.zip" Copy "main.hex" to your qmk folder.
|
|
||||||
4. Burn the bootloader with the following command
|
|
||||||
` avrdude -b 19200 -c avrisp -p atmega32 -v -e -U hfuse:w:0xD0:m -U lfuse:w:0x0F:m -U flash:w:main.hex:i -P comPORT`
|
|
||||||
Change `comPORT` to whatever port is used by the Arduino (e.g. `com11` in Windows or `/dev/ttyACM0` in Linux). Use Device Manager in Windows to find the port being used. Use `ls /dev/tty*` in Linux.
|
|
||||||
5. If this process is successful, you should now be able to upload normally.
|
|
||||||
@@ -2,70 +2,20 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
A 4x4 keypad kit made and KPRepublic on AliExpress. This is a chopped off version of the jj40 with rearranged keys.
|
A 4x4 keypad kit made and KPRepublic on AliExpress. This is a chopped off version of the jj40 with rearranged keys.
|
||||||
|
|
||||||
Keyboard Maintainer: [QMK Community](https://github.com/qmk)
|
* Keyboard Maintainer: [QMK Community](https://github.com/qmk)
|
||||||
Hardware Supported: Atmega32A
|
* Hardware Supported: Atmega32A
|
||||||
Hardware Availability: [AliExpress](https://www.aliexpress.com/item/jj4x4-jj4X4-16-keys-Custom-Mechanical-Keyboard-PCB-programmed-numpad-layouts-bface-firmware-with-rgb-bottom/32901955446.html?spm=2114.search0104.3.7.3ebf431ae1d9ic&ws_ab_test=searchweb0_0,searchweb201602_4_10065_10130_10068_10547_319_317_10548_10545_10696_453_10084_454_10083_433_10618_431_10307_537_536_10902_10059_10884_10887_321_322_10103,searchweb201603_6,ppcSwitch_0&algo_expid=9d1891dd-80af-4793-a889-5a62e1fdfdd8-1&algo_pvid=9d1891dd-80af-4793-a889-5a62e1fdfdd8&transAbTest=ae803_5)
|
* Hardware Availability: [AliExpress](https://www.aliexpress.com/item/jj4x4-jj4X4-16-keys-Custom-Mechanical-Keyboard-PCB-programmed-numpad-layouts-bface-firmware-with-rgb-bottom/32901955446.html)
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make jj4x4:default:program
|
make jj4x4:default
|
||||||
|
|
||||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
Note that this is a complete replacement for the firmware, so you won't be
|
make jj4x4:default:flash
|
||||||
using Bootmapper Client to change any keyboard settings, since not all the
|
|
||||||
USB report options are supported.
|
|
||||||
|
|
||||||
In addition you may need the AVR toolchain and `bootloadHID` ([GitHub repo](https://github.com/whiteneon/bootloadHID)) for flashing:
|
**Reset Key**: Hold down the key located at *K00*, commonly programmed as *8* while plugging in the keyboard.
|
||||||
|
|
||||||
For macOS:
|
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).
|
||||||
```
|
|
||||||
$ brew cask install crosspack-avr
|
|
||||||
$ brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
|
|
||||||
```
|
|
||||||
|
|
||||||
For Linux:
|
|
||||||
```
|
|
||||||
$ sudo apt install libusb-dev
|
|
||||||
$ wget https://www.obdev.at/downloads/vusb/bootloadHID.2012-12-08.tar.gz
|
|
||||||
$ tar -xzf bootloadHID.2012-12-08.tar.gz
|
|
||||||
$ cd bootloadHID.2012-12-08/commandline
|
|
||||||
$ make
|
|
||||||
$ sudo cp bootloadHID /usr/bin
|
|
||||||
```
|
|
||||||
|
|
||||||
In order to use the `./util/atmega32a_program.py` script, which can reboot the board into
|
|
||||||
the bootloader, you'll need Python 2 with PyUSB installed:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ pip install pyusb
|
|
||||||
```
|
|
||||||
|
|
||||||
If you prefer (or are having issues with a `program` flash), you can just build it (`make jj40:<keymap-name>` and flash the firmware (`.hex` file) directly with
|
|
||||||
`bootloadHID` if you boot the board while holding down `8` (second from top, second from left, with usb plug is at the top) to keep it
|
|
||||||
in the bootloader:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ make jj40
|
|
||||||
$ bootloadHID -r jj4x4_default.hex
|
|
||||||
```
|
|
||||||
|
|
||||||
For Windows 10:
|
|
||||||
Windows sometimes doesn't recognize the jj4x4. The easiest way of flashing a new layout is probably using [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
|
|
||||||
1. Go to Windows Device Manager and find the keyboard (plug it in while holding down `8` (second from top, second from left, with usb plug is at the top)). It can be found under Human Interface Devices or under Keyboards.
|
|
||||||
2. Go to properties and the Details tab to find the hardware ID. You want the VID and the PID (code after the underscore). Plug them into HIDBootFlash and hit Find Device.
|
|
||||||
3. Use `make jj4x4:<keymap-name>` to generate the .hex file in the qmk basis folder. Select the .hex file in HIDBootFlash and press Flash Device.
|
|
||||||
|
|
||||||
|
|
||||||
## Troubleshooting
|
|
||||||
|
|
||||||
1. Try plugging the board in while pressing `8` (usb plug at top, second from top, second from left). This will force it
|
|
||||||
to boot only the bootloader without loading the firmware. Once this is
|
|
||||||
done, just reflash the board with the original firmware.
|
|
||||||
2. Sometimes USB hubs can act weird, so try connecting the board directly
|
|
||||||
to your computer or plugging/unplugging the USB hub.
|
|
||||||
3. If you get an error such as "Resource Unavailable" when attemting to flash
|
|
||||||
on Linux, you may want to compile and run `tools/usb_detach.c`. See `tools/README.md`
|
|
||||||
for more info.
|
|
||||||
+10
-74
@@ -1,83 +1,19 @@
|
|||||||
JJ50
|
# JJ50
|
||||||
==========================
|
|
||||||
|
|
||||||
This is a port of the QMK firmware for boards that are based on the
|
A preonic-like board
|
||||||
ps2avrGB firmware, like the [ps2avrGB keyboard](https://www.keyclack.com/product/gb-ps2avrgb/), for use on the JJ50, a preonic-like board.
|
|
||||||
|
|
||||||
Most of the code was taken and amended from YMD96, which in itself was taken from ps2avrGB and amended by Andrew Novak.
|
* Keyboard Maintainer: [Wayne K. Jones](github.com/WarmCatUK)
|
||||||
|
* Hardware Supported: JJ50 with the ATmega32a chip.
|
||||||
Note that this is a complete replacement for the firmware, so you won't be
|
* Hardware Availability: [KPrepublic on AliExpress](https://www.aliexpress.com/item/jj50-v1-0-Custom-Mechanical-Keyboard-50-PCB-programmed-50-preonic-layouts-bface-firmware-with-rgb/32848915277.html)
|
||||||
using Bootmapper Client to change any keyboard settings, since not all the
|
|
||||||
USB report options are supported.
|
|
||||||
|
|
||||||
Hardware Supported: JJ50 with the ATmega32a chip.
|
|
||||||
Hardware Availability: [KPrepublic on AliExpress](https://www.aliexpress.com/item/jj50-v1-0-Custom-Mechanical-Keyboard-50-PCB-programmed-50-preonic-layouts-bface-firmware-with-rgb/32848915277.html)
|
|
||||||
|
|
||||||
This version by [Wayne K. Jones](github.com/WarmCatUK).
|
|
||||||
|
|
||||||
|
|
||||||
## Installing and Building
|
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
```
|
make jj50:default
|
||||||
$ make jj50:default:program
|
|
||||||
```
|
|
||||||
It should detect the keyboard and set it to bootloader mode automatically, prior to flashing firmware.
|
|
||||||
|
|
||||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
Note that this is a complete replacement for the firmware, so you won't be
|
|
||||||
using Bootmapper Client to change any keyboard settings, since not all the
|
|
||||||
USB report options are supported.
|
|
||||||
In addition you may need the AVR toolchain and `bootloadHID` for flashing:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ brew cask install crosspack-avr
|
|
||||||
$ brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
|
|
||||||
```
|
|
||||||
|
|
||||||
In order to use the `././util/atmega32a_program.py` script, which can reboot the board into
|
|
||||||
the bootloader, you'll need Python 2 with PyUSB installed:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ pip install pyusb
|
|
||||||
```
|
|
||||||
|
|
||||||
If you prefer, you can just build it and flash the firmware directly with
|
|
||||||
`bootloadHID` if you boot the board while holding down `Backspace` (`key below top right key`) to keep it
|
|
||||||
in the bootloader:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ make jj50
|
|
||||||
$ bootloadHID -r jj50_default.hex
|
|
||||||
```
|
|
||||||
I dont use windows personally, but the following is from ymd96 regarding flashing the atmega32a:
|
|
||||||
|
|
||||||
Since the JJ50 uses an ATmega32a chip instead of the 32u4, you need to download [HIDBootFlash v.1.0](http://vusb.wikidot.com/project:hidbootflash) for Windows. If anyone knows of a Linux/Mac bootflasher that works, edit this readme!
|
|
||||||
On Windows, I use [MINGw](http://www.mingw.org/) to compile the keymaps. On Linux or OSX you can simply use the terminal.
|
|
||||||
|
|
||||||
Once you have those two pieces of software:
|
|
||||||
Build the keyboard with
|
|
||||||
```
|
|
||||||
$ make jj50:default
|
|
||||||
```
|
|
||||||
If you make your own layout, change the `default` word to whatever your layout is.
|
|
||||||
|
|
||||||
And flash the compiled hex file with `HIDBootFlash`. Simply put the board in flashing mode by plugging it in while holding the key below the top right key, and click `find device`. Then you can specify the .hex file and flash it to the device.
|
|
||||||
|
|
||||||
|
|
||||||
## Troubleshooting
|
|
||||||
|
|
||||||
1. Try plugging the board in while pressing `Backspace` (`Key below the top right key`). This will force it to boot only the bootloader without loading the firmware. Once this is done, just reflash the board with the original firmware.
|
|
||||||
2. Sometimes USB hubs can act weird, so try connecting the board directly to your computer or plugging/unplugging the USB hub.
|
|
||||||
3. If you get an error such as "Resource Unavailable" when attemting to flash on Linux, you may want to compile and run `tools/usb_detach.c`. See `tools/README.md` for more info.
|
|
||||||
4. I was occasionally finding that I wasn't flashing changes that I was making to my keymap. If that happens, remove the previous build and simply force rebuild by making with:
|
|
||||||
```
|
|
||||||
$ rm jj50_default.hex
|
|
||||||
$ make -B jj50:default
|
|
||||||
$ make -B jj50:default:program
|
|
||||||
```
|
|
||||||
|
|
||||||
|
make jj50:default:flash
|
||||||
|
|
||||||
|
**Reset Key**: Hold down the key `Backspace` (`Key below the top right key`) while plugging in the keyboard.
|
||||||
|
|
||||||
|
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).
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
{"keyboard":"kbdfans/kbd67/mkiirgb","keymap":"default_37b6a2a","layout":"LAYOUT_65_ansi_blocker","layers":[["KC_GESC","KC_1","KC_2","KC_3","KC_4","KC_5","KC_6","KC_7","KC_8","KC_9","KC_0","KC_MINS","KC_EQL","KC_BSPC","KC_CALC","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","KC_BSLS","KC_PGUP","MO(1)","KC_A","KC_S","KC_D","KC_F","KC_G","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_ENT","KC_PGDN","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_UP","KC_END","KC_LCTL","KC_LGUI","KC_LALT","KC_SPC","KC_RALT","KC_RCTL","KC_LEFT","KC_DOWN","KC_RGHT"],["KC_GRV","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_F11","KC_F12","KC_DEL","KC_CALC","KC_CAPS","KC_BTN1","KC_MS_U","KC_BTN2","KC_WH_U","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_UP","KC_PSCR","KC_SLCK","KC_PAUS","RESET","KC_MYCM","KC_TRNS","KC_MS_L","KC_MS_D","KC_MS_R","KC_WH_D","KC_TRNS","RGB_SAI","RGB_SAD","KC_LEFT","KC_DOWN","KC_RGHT","KC_TRNS","EEP_RST","KC_HOME","KC_LSFT","RGB_TOG","RGB_MOD","RGB_VAI","RGB_VAD","RGB_SPI","RGB_SPD","RGB_HUI","RGB_HUD","KC_TRNS","KC_TRNS","KC_TRNS","KC_VOLU","KC_MUTE","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","TO(2)","KC_MPRV","KC_VOLD","KC_MNXT"],["KC_GESC","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_BSPC","KC_CALC","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","KC_BSLS","KC_PGUP","MO(3)","KC_A","KC_S","KC_D","KC_F","KC_G","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_QUOT","KC_ENT","KC_PGDN","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_UP","KC_END","KC_LCTL","KC_LGUI","KC_LALT","KC_SPC","KC_RALT","KC_TRNS","KC_LEFT","KC_DOWN","KC_RGHT"],["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_DEL","KC_CALC","KC_CAPS","KC_BTN1","KC_MS_U","KC_BTN2","KC_WH_U","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_UP","KC_PSCR","KC_SLCK","KC_PAUS","RESET","KC_MYCM","KC_TRNS","KC_MS_L","KC_MS_D","KC_MS_R","KC_WH_D","KC_TRNS","RGB_SAI","RGB_SAD","KC_LEFT","KC_DOWN","KC_RGHT","KC_TRNS","EEP_RST","KC_HOME","KC_LSFT","RGB_TOG","RGB_MOD","RGB_VAI","RGB_VAD","RGB_SPI","RGB_SPD","RGB_HUI","RGB_HUD","KC_TRNS","KC_TRNS","KC_TRNS","KC_VOLU","KC_MUTE","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","TO(0)","KC_MPRV","KC_VOLD","KC_MNXT"]],"author":"","notes":""}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_65_ansi_blocker(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_CALC, 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, KC_BSLS, KC_PGUP, MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, 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_UP, KC_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
[1] = LAYOUT_65_ansi_blocker(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_CALC, KC_CAPS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_MYCM, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_TRNS, RGB_SAI, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, EEP_RST, KC_HOME, KC_LSFT, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(2), KC_MPRV, KC_VOLD, KC_MNXT),
|
||||||
|
[2] = LAYOUT_65_ansi_blocker(KC_GESC, 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_BSPC, KC_CALC, 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, KC_BSLS, KC_PGUP, MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN, 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_UP, KC_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
[3] = LAYOUT_65_ansi_blocker(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_DEL, KC_CALC, KC_CAPS, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_PSCR, KC_SLCK, KC_PAUS, RESET, KC_MYCM, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_TRNS, RGB_SAI, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, EEP_RST, KC_HOME, KC_LSFT, RGB_TOG, RGB_MOD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TO(0), KC_MPRV, KC_VOLD, KC_MNXT)
|
||||||
|
};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[["KC_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_CALC", "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", "KC_BSLS", "KC_PGUP", "MO(1)", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_PGDN", "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_UP", "KC_END", "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"], ["KC_GRV", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_DEL", "KC_CALC", "KC_CAPS", "KC_BTN1", "KC_MS_U", "KC_BTN2", "KC_WH_U", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_UP", "KC_PSCR", "KC_SLCK", "KC_PAUS", "RESET", "KC_MYCM", "KC_TRNS", "KC_MS_L", "KC_MS_D", "KC_MS_R", "KC_WH_D", "KC_TRNS", "RGB_SAI", "RGB_SAD", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_TRNS", "EEP_RST", "KC_HOME", "KC_LSFT", "RGB_TOG", "RGB_MOD", "RGB_VAI", "RGB_VAD", "RGB_SPI", "RGB_SPD", "RGB_HUI", "RGB_HUD", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_VOLU", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "TO(2)", "KC_MPRV", "KC_VOLD", "KC_MNXT"], ["KC_GESC", "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_BSPC", "KC_CALC", "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", "KC_BSLS", "KC_PGUP", "MO(3)", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_PGDN", "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_UP", "KC_END", "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RGHT"], ["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_DEL", "KC_CALC", "KC_CAPS", "KC_BTN1", "KC_MS_U", "KC_BTN2", "KC_WH_U", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_UP", "KC_PSCR", "KC_SLCK", "KC_PAUS", "RESET", "KC_MYCM", "KC_TRNS", "KC_MS_L", "KC_MS_D", "KC_MS_R", "KC_WH_D", "KC_TRNS", "RGB_SAI", "RGB_SAD", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_TRNS", "EEP_RST", "KC_HOME", "KC_LSFT", "RGB_TOG", "RGB_MOD", "RGB_VAI", "RGB_VAD", "RGB_SPI", "RGB_SPD", "RGB_HUI", "RGB_HUD", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_VOLU", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "TO(0)", "KC_MPRV", "KC_VOLD", "KC_MNXT"]]
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
# Layout description
|
||||||
|
|
||||||
|
* This layout features 4 layers. The caps lock key has been replaced by the FN key.
|
||||||
|
* The first layer features ESC/~ and numbers and symbols on the top row of the keyboard.
|
||||||
|
* The top right key launches calculator.
|
||||||
|
* Pressing the FN key activates a temporary second layer. This layer contains:
|
||||||
|
* ESC/~ is now `/~
|
||||||
|
* WASD to move your mouse up, left, down, right respectively.
|
||||||
|
* Q and E click left and right mouse respectively.
|
||||||
|
* R and F scroll mousewheel up and down respectively.
|
||||||
|
* IJKL act as up, left, down, right arrows respectively.
|
||||||
|
* UP/DOWN keys act as volume UP/DOWN
|
||||||
|
* LEFT/RIGHT keys act as previous/next track.
|
||||||
|
* The key below the calculator key launches 'This PC'
|
||||||
|
* RGB Controls
|
||||||
|
* Z toggles ON/OFF
|
||||||
|
* X toggles RGB_MODE
|
||||||
|
* C and V increase/decrease brightness
|
||||||
|
* B and N increase/decrease effect
|
||||||
|
* M and , increase/decrease hue
|
||||||
|
* H and J increase/decrease saturation
|
||||||
|
* Pressing RIGHT CTRL whilst holding the FN key allows you to swap to the third layer.
|
||||||
|
* This layer can switch to the fourth layer by holding the FN key.
|
||||||
|
* The third and fourth layer are essentially copies of the first and second layer and offer the same functionalities, however the third and fourth layer have the F-keys and Num/Symbol keys swapped.
|
||||||
|
|
||||||
|
## Layer 0
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Layer 1
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Layer 2
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Layer 3
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
# Generated Keymap Layout
|
||||||
|
|
||||||
|
This layout was generated by the QMK API. You can find the JSON data used to
|
||||||
|
generate this keymap in the file layers.json.
|
||||||
|
|
||||||
|
To make use of this file you will need follow the following steps:
|
||||||
|
|
||||||
|
* Download or Clone QMK Firmware: <https://github.com/qmk/qmk_firmware/>
|
||||||
|
* Extract QMK Firmware to a location on your hard drive
|
||||||
|
* Copy this folder into %s
|
||||||
|
* You are now ready to compile or use your keymap with the source
|
||||||
|
|
||||||
|
More information can be found in the QMK docs: <https://docs.qmk.fm>
|
||||||
@@ -7,97 +7,280 @@
|
|||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT": {
|
"LAYOUT": {
|
||||||
"layout": [
|
"layout": [
|
||||||
{"label":"Esc", "x":0, "y":0},
|
{"label":"Esc", "x":0, "y":0},
|
||||||
{"label":"F1", "x":2, "y":0},
|
{"label":"F1", "x":2, "y":0},
|
||||||
{"label":"F2", "x":3, "y":0},
|
{"label":"F2", "x":3, "y":0},
|
||||||
{"label":"F3", "x":4, "y":0},
|
{"label":"F3", "x":4, "y":0},
|
||||||
{"label":"F4", "x":5, "y":0},
|
{"label":"F4", "x":5, "y":0},
|
||||||
{"label":"F5", "x":6.5, "y":0},
|
{"label":"F5", "x":6.5, "y":0},
|
||||||
{"label":"F6", "x":7.5, "y":0},
|
{"label":"F6", "x":7.5, "y":0},
|
||||||
{"label":"F7", "x":8.5, "y":0},
|
{"label":"F7", "x":8.5, "y":0},
|
||||||
{"label":"F8", "x":9.5, "y":0},
|
{"label":"F8", "x":9.5, "y":0},
|
||||||
{"label":"F9", "x":11, "y":0},
|
{"label":"F9", "x":11, "y":0},
|
||||||
{"label":"F10", "x":12, "y":0},
|
{"label":"F10", "x":12, "y":0},
|
||||||
{"label":"F11", "x":13, "y":0},
|
{"label":"F11", "x":13, "y":0},
|
||||||
{"label":"F12", "x":14, "y":0},
|
{"label":"F12", "x":14, "y":0},
|
||||||
{"label":"PrtSc", "x":15.25, "y":0},
|
{"label":"PrtSc", "x":15.25, "y":0},
|
||||||
{"label":"Scroll Lock", "x":16.25, "y":0},
|
{"label":"Scroll Lock", "x":16.25, "y":0},
|
||||||
{"label":"Pause", "x":17.25, "y":0},
|
{"label":"Pause", "x":17.25, "y":0},
|
||||||
{"label":"~", "x":0, "y":1.25},
|
{"label":"~", "x":0, "y":1.25},
|
||||||
{"label":"!", "x":1, "y":1.25},
|
{"label":"!", "x":1, "y":1.25},
|
||||||
{"label":"@", "x":2, "y":1.25},
|
{"label":"@", "x":2, "y":1.25},
|
||||||
{"label":"#", "x":3, "y":1.25},
|
{"label":"#", "x":3, "y":1.25},
|
||||||
{"label":"$", "x":4, "y":1.25},
|
{"label":"$", "x":4, "y":1.25},
|
||||||
{"label":"%", "x":5, "y":1.25},
|
{"label":"%", "x":5, "y":1.25},
|
||||||
{"label":"^", "x":6, "y":1.25},
|
{"label":"^", "x":6, "y":1.25},
|
||||||
{"label":"&", "x":7, "y":1.25},
|
{"label":"&", "x":7, "y":1.25},
|
||||||
{"label":"*", "x":8, "y":1.25},
|
{"label":"*", "x":8, "y":1.25},
|
||||||
{"label":"(", "x":9, "y":1.25},
|
{"label":"(", "x":9, "y":1.25},
|
||||||
{"label":")", "x":10, "y":1.25},
|
{"label":")", "x":10, "y":1.25},
|
||||||
{"label":"_", "x":11, "y":1.25},
|
{"label":"_", "x":11, "y":1.25},
|
||||||
{"label":"+", "x":12, "y":1.25},
|
{"label":"+", "x":12, "y":1.25},
|
||||||
{"label":"Back Space", "x":13, "y":1.25},
|
{"label":"Back Space", "x":13, "y":1.25},
|
||||||
{"label":"Delete", "x":14, "y":1.25},
|
{"label":"Delete", "x":14, "y":1.25},
|
||||||
{"label":"Insert", "x":15.25, "y":1.25},
|
{"label":"Insert", "x":15.25, "y":1.25},
|
||||||
{"label":"Home", "x":16.25, "y":1.25},
|
{"label":"Home", "x":16.25, "y":1.25},
|
||||||
{"label":"PgUp", "x":17.25, "y":1.25},
|
{"label":"PgUp", "x":17.25, "y":1.25},
|
||||||
{"label":"Tab", "x":0, "y":2.25, "w":1.5},
|
{"label":"Tab", "x":0, "y":2.25, "w":1.5},
|
||||||
{"label":"Q", "x":1.5, "y":2.25},
|
{"label":"Q", "x":1.5, "y":2.25},
|
||||||
{"label":"W", "x":2.5, "y":2.25},
|
{"label":"W", "x":2.5, "y":2.25},
|
||||||
{"label":"E", "x":3.5, "y":2.25},
|
{"label":"E", "x":3.5, "y":2.25},
|
||||||
{"label":"R", "x":4.5, "y":2.25},
|
{"label":"R", "x":4.5, "y":2.25},
|
||||||
{"label":"T", "x":5.5, "y":2.25},
|
{"label":"T", "x":5.5, "y":2.25},
|
||||||
{"label":"Y", "x":6.5, "y":2.25},
|
{"label":"Y", "x":6.5, "y":2.25},
|
||||||
{"label":"U", "x":7.5, "y":2.25},
|
{"label":"U", "x":7.5, "y":2.25},
|
||||||
{"label":"I", "x":8.5, "y":2.25},
|
{"label":"I", "x":8.5, "y":2.25},
|
||||||
{"label":"O", "x":9.5, "y":2.25},
|
{"label":"O", "x":9.5, "y":2.25},
|
||||||
{"label":"P", "x":10.5, "y":2.25},
|
{"label":"P", "x":10.5, "y":2.25},
|
||||||
{"label":"{", "x":11.5, "y":2.25},
|
{"label":"{", "x":11.5, "y":2.25},
|
||||||
{"label":"}", "x":12.5, "y":2.25},
|
{"label":"}", "x":12.5, "y":2.25},
|
||||||
{"label":"|", "x":13.5, "y":2.25, "w":1.5},
|
{"label":"|", "x":13.5, "y":2.25, "w":1.5},
|
||||||
{"label":"Delete", "x":15.25, "y":2.25},
|
{"label":"Delete", "x":15.25, "y":2.25},
|
||||||
{"label":"End", "x":16.25, "y":2.25},
|
{"label":"End", "x":16.25, "y":2.25},
|
||||||
{"label":"PgDn", "x":17.25, "y":2.25},
|
{"label":"PgDn", "x":17.25, "y":2.25},
|
||||||
{"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
|
{"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
|
||||||
{"label":"A", "x":1.75, "y":3.25},
|
{"label":"A", "x":1.75, "y":3.25},
|
||||||
{"label":"S", "x":2.75, "y":3.25},
|
{"label":"S", "x":2.75, "y":3.25},
|
||||||
{"label":"D", "x":3.75, "y":3.25},
|
{"label":"D", "x":3.75, "y":3.25},
|
||||||
{"label":"F", "x":4.75, "y":3.25},
|
{"label":"F", "x":4.75, "y":3.25},
|
||||||
{"label":"G", "x":5.75, "y":3.25},
|
{"label":"G", "x":5.75, "y":3.25},
|
||||||
{"label":"H", "x":6.75, "y":3.25},
|
{"label":"H", "x":6.75, "y":3.25},
|
||||||
{"label":"J", "x":7.75, "y":3.25},
|
{"label":"J", "x":7.75, "y":3.25},
|
||||||
{"label":"K", "x":8.75, "y":3.25},
|
{"label":"K", "x":8.75, "y":3.25},
|
||||||
{"label":"L", "x":9.75, "y":3.25},
|
{"label":"L", "x":9.75, "y":3.25},
|
||||||
{"label":":", "x":10.75, "y":3.25},
|
{"label":":", "x":10.75, "y":3.25},
|
||||||
{"label":"\"", "x":11.75, "y":3.25},
|
{"label":"\"", "x":11.75, "y":3.25},
|
||||||
{"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
|
{"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
|
||||||
{"label":"Shift", "x":0, "y":4.25, "w":1.25},
|
{"label":"Shift", "x":0, "y":4.25, "w":1.25},
|
||||||
{"label":"|", "x":1.25, "y":4.25},
|
{"label":"|", "x":1.25, "y":4.25},
|
||||||
{"label":"Z", "x":2.25, "y":4.25},
|
{"label":"Z", "x":2.25, "y":4.25},
|
||||||
{"label":"X", "x":3.25, "y":4.25},
|
{"label":"X", "x":3.25, "y":4.25},
|
||||||
{"label":"C", "x":4.25, "y":4.25},
|
{"label":"C", "x":4.25, "y":4.25},
|
||||||
{"label":"V", "x":5.25, "y":4.25},
|
{"label":"V", "x":5.25, "y":4.25},
|
||||||
{"label":"B", "x":6.25, "y":4.25},
|
{"label":"B", "x":6.25, "y":4.25},
|
||||||
{"label":"N", "x":7.25, "y":4.25},
|
{"label":"N", "x":7.25, "y":4.25},
|
||||||
{"label":"M", "x":8.25, "y":4.25},
|
{"label":"M", "x":8.25, "y":4.25},
|
||||||
{"label":"<", "x":9.25, "y":4.25},
|
{"label":"<", "x":9.25, "y":4.25},
|
||||||
{"label":">", "x":10.25, "y":4.25},
|
{"label":">", "x":10.25, "y":4.25},
|
||||||
{"label":"?", "x":11.25, "y":4.25},
|
{"label":"?", "x":11.25, "y":4.25},
|
||||||
{"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
|
{"label":"Shift", "x":12.25, "y":4.25, "w":1.75},
|
||||||
{"label":"Fn", "x":14, "y":4.25},
|
{"label":"Fn", "x":14, "y":4.25},
|
||||||
{"label":"\u2191", "x":16.25, "y":4.25},
|
{"label":"\u2191", "x":16.25, "y":4.25},
|
||||||
{"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
|
{"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
|
||||||
{"label":"Win", "x":1.25, "y":5.25, "w":1.25},
|
{"label":"Win", "x":1.25, "y":5.25, "w":1.25},
|
||||||
{"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
|
{"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
|
||||||
{"x":3.75, "y":5.25, "w":6.25},
|
{"x":3.75, "y":5.25, "w":6.25},
|
||||||
{"label":"Alt", "x":10, "y":5.25, "w":1.25},
|
{"label":"Alt", "x":10, "y":5.25, "w":1.25},
|
||||||
{"label":"Win", "x":11.25, "y":5.25, "w":1.25},
|
{"label":"Win", "x":11.25, "y":5.25, "w":1.25},
|
||||||
{"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
|
{"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
|
||||||
{"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
|
{"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
|
||||||
{"label":"\u2190", "x":15.25, "y":5.25},
|
{"label":"\u2190", "x":15.25, "y":5.25},
|
||||||
{"label":"\u2193", "x":16.25, "y":5.25},
|
{"label":"\u2193", "x":16.25, "y":5.25},
|
||||||
{"label":"\u2192", "x":17.25, "y":5.25}
|
{"label":"\u2192", "x":17.25, "y":5.25}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_tkl_ansi": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"Esc", "x":0, "y":0},
|
||||||
|
{"label":"F1", "x":2, "y":0},
|
||||||
|
{"label":"F2", "x":3, "y":0},
|
||||||
|
{"label":"F3", "x":4, "y":0},
|
||||||
|
{"label":"F4", "x":5, "y":0},
|
||||||
|
{"label":"F5", "x":6.5, "y":0},
|
||||||
|
{"label":"F6", "x":7.5, "y":0},
|
||||||
|
{"label":"F7", "x":8.5, "y":0},
|
||||||
|
{"label":"F8", "x":9.5, "y":0},
|
||||||
|
{"label":"F9", "x":11, "y":0},
|
||||||
|
{"label":"F10", "x":12, "y":0},
|
||||||
|
{"label":"F11", "x":13, "y":0},
|
||||||
|
{"label":"F12", "x":14, "y":0},
|
||||||
|
{"label":"PrtSc", "x":15.25, "y":0},
|
||||||
|
{"label":"Scroll Lock", "x":16.25, "y":0},
|
||||||
|
{"label":"Pause", "x":17.25, "y":0},
|
||||||
|
{"label":"~", "x":0, "y":1.25},
|
||||||
|
{"label":"!", "x":1, "y":1.25},
|
||||||
|
{"label":"@", "x":2, "y":1.25},
|
||||||
|
{"label":"#", "x":3, "y":1.25},
|
||||||
|
{"label":"$", "x":4, "y":1.25},
|
||||||
|
{"label":"%", "x":5, "y":1.25},
|
||||||
|
{"label":"^", "x":6, "y":1.25},
|
||||||
|
{"label":"&", "x":7, "y":1.25},
|
||||||
|
{"label":"*", "x":8, "y":1.25},
|
||||||
|
{"label":"(", "x":9, "y":1.25},
|
||||||
|
{"label":")", "x":10, "y":1.25},
|
||||||
|
{"label":"_", "x":11, "y":1.25},
|
||||||
|
{"label":"+", "x":12, "y":1.25},
|
||||||
|
{"label":"Backspace", "x":13, "y":1.25, "w":2},
|
||||||
|
{"label":"Insert", "x":15.25, "y":1.25},
|
||||||
|
{"label":"Home", "x":16.25, "y":1.25},
|
||||||
|
{"label":"PgUp", "x":17.25, "y":1.25},
|
||||||
|
{"label":"Tab", "x":0, "y":2.25, "w":1.5},
|
||||||
|
{"label":"Q", "x":1.5, "y":2.25},
|
||||||
|
{"label":"W", "x":2.5, "y":2.25},
|
||||||
|
{"label":"E", "x":3.5, "y":2.25},
|
||||||
|
{"label":"R", "x":4.5, "y":2.25},
|
||||||
|
{"label":"T", "x":5.5, "y":2.25},
|
||||||
|
{"label":"Y", "x":6.5, "y":2.25},
|
||||||
|
{"label":"U", "x":7.5, "y":2.25},
|
||||||
|
{"label":"I", "x":8.5, "y":2.25},
|
||||||
|
{"label":"O", "x":9.5, "y":2.25},
|
||||||
|
{"label":"P", "x":10.5, "y":2.25},
|
||||||
|
{"label":"{", "x":11.5, "y":2.25},
|
||||||
|
{"label":"}", "x":12.5, "y":2.25},
|
||||||
|
{"label":"|", "x":13.5, "y":2.25, "w":1.5},
|
||||||
|
{"label":"Delete", "x":15.25, "y":2.25},
|
||||||
|
{"label":"End", "x":16.25, "y":2.25},
|
||||||
|
{"label":"PgDn", "x":17.25, "y":2.25},
|
||||||
|
{"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
|
||||||
|
{"label":"A", "x":1.75, "y":3.25},
|
||||||
|
{"label":"S", "x":2.75, "y":3.25},
|
||||||
|
{"label":"D", "x":3.75, "y":3.25},
|
||||||
|
{"label":"F", "x":4.75, "y":3.25},
|
||||||
|
{"label":"G", "x":5.75, "y":3.25},
|
||||||
|
{"label":"H", "x":6.75, "y":3.25},
|
||||||
|
{"label":"J", "x":7.75, "y":3.25},
|
||||||
|
{"label":"K", "x":8.75, "y":3.25},
|
||||||
|
{"label":"L", "x":9.75, "y":3.25},
|
||||||
|
{"label":":", "x":10.75, "y":3.25},
|
||||||
|
{"label":"\"", "x":11.75, "y":3.25},
|
||||||
|
{"label":"Enter", "x":12.75, "y":3.25, "w":2.25},
|
||||||
|
{"label":"Shift", "x":0, "y":4.25, "w":2.25},
|
||||||
|
{"label":"Z", "x":2.25, "y":4.25},
|
||||||
|
{"label":"X", "x":3.25, "y":4.25},
|
||||||
|
{"label":"C", "x":4.25, "y":4.25},
|
||||||
|
{"label":"V", "x":5.25, "y":4.25},
|
||||||
|
{"label":"B", "x":6.25, "y":4.25},
|
||||||
|
{"label":"N", "x":7.25, "y":4.25},
|
||||||
|
{"label":"M", "x":8.25, "y":4.25},
|
||||||
|
{"label":"<", "x":9.25, "y":4.25},
|
||||||
|
{"label":">", "x":10.25, "y":4.25},
|
||||||
|
{"label":"?", "x":11.25, "y":4.25},
|
||||||
|
{"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
|
||||||
|
{"label":"Up", "x":16.25, "y":4.25},
|
||||||
|
{"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
|
||||||
|
{"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Space", "x":3.75, "y":5.25, "w":6.25},
|
||||||
|
{"label":"Alt", "x":10, "y":5.25, "w":1.25},
|
||||||
|
{"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Left", "x":15.25, "y":5.25},
|
||||||
|
{"label":"Down", "x":16.25, "y":5.25},
|
||||||
|
{"label":"Right", "x":17.25, "y":5.25}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_tkl_iso": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"Esc", "x":0, "y":0},
|
||||||
|
{"label":"F1", "x":2, "y":0},
|
||||||
|
{"label":"F2", "x":3, "y":0},
|
||||||
|
{"label":"F3", "x":4, "y":0},
|
||||||
|
{"label":"F4", "x":5, "y":0},
|
||||||
|
{"label":"F5", "x":6.5, "y":0},
|
||||||
|
{"label":"F6", "x":7.5, "y":0},
|
||||||
|
{"label":"F7", "x":8.5, "y":0},
|
||||||
|
{"label":"F8", "x":9.5, "y":0},
|
||||||
|
{"label":"F9", "x":11, "y":0},
|
||||||
|
{"label":"F10", "x":12, "y":0},
|
||||||
|
{"label":"F11", "x":13, "y":0},
|
||||||
|
{"label":"F12", "x":14, "y":0},
|
||||||
|
{"label":"PrtSc", "x":15.25, "y":0},
|
||||||
|
{"label":"Scroll Lock", "x":16.25, "y":0},
|
||||||
|
{"label":"Pause", "x":17.25, "y":0},
|
||||||
|
{"label":"\u00ac", "x":0, "y":1.25},
|
||||||
|
{"label":"!", "x":1, "y":1.25},
|
||||||
|
{"label":"\"", "x":2, "y":1.25},
|
||||||
|
{"label":"\u00a3", "x":3, "y":1.25},
|
||||||
|
{"label":"$", "x":4, "y":1.25},
|
||||||
|
{"label":"%", "x":5, "y":1.25},
|
||||||
|
{"label":"^", "x":6, "y":1.25},
|
||||||
|
{"label":"&", "x":7, "y":1.25},
|
||||||
|
{"label":"*", "x":8, "y":1.25},
|
||||||
|
{"label":"(", "x":9, "y":1.25},
|
||||||
|
{"label":")", "x":10, "y":1.25},
|
||||||
|
{"label":"_", "x":11, "y":1.25},
|
||||||
|
{"label":"+", "x":12, "y":1.25},
|
||||||
|
{"label":"Backspace", "x":13, "y":1.25, "w":2},
|
||||||
|
{"label":"Insert", "x":15.25, "y":1.25},
|
||||||
|
{"label":"Home", "x":16.25, "y":1.25},
|
||||||
|
{"label":"PgUp", "x":17.25, "y":1.25},
|
||||||
|
{"label":"Tab", "x":0, "y":2.25, "w":1.5},
|
||||||
|
{"label":"Q", "x":1.5, "y":2.25},
|
||||||
|
{"label":"W", "x":2.5, "y":2.25},
|
||||||
|
{"label":"E", "x":3.5, "y":2.25},
|
||||||
|
{"label":"R", "x":4.5, "y":2.25},
|
||||||
|
{"label":"T", "x":5.5, "y":2.25},
|
||||||
|
{"label":"Y", "x":6.5, "y":2.25},
|
||||||
|
{"label":"U", "x":7.5, "y":2.25},
|
||||||
|
{"label":"I", "x":8.5, "y":2.25},
|
||||||
|
{"label":"O", "x":9.5, "y":2.25},
|
||||||
|
{"label":"P", "x":10.5, "y":2.25},
|
||||||
|
{"label":"{", "x":11.5, "y":2.25},
|
||||||
|
{"label":"}", "x":12.5, "y":2.25},
|
||||||
|
{"label":"Delete", "x":15.25, "y":2.25},
|
||||||
|
{"label":"End", "x":16.25, "y":2.25},
|
||||||
|
{"label":"PgDn", "x":17.25, "y":2.25},
|
||||||
|
{"label":"Caps Lock", "x":0, "y":3.25, "w":1.75},
|
||||||
|
{"label":"A", "x":1.75, "y":3.25},
|
||||||
|
{"label":"S", "x":2.75, "y":3.25},
|
||||||
|
{"label":"D", "x":3.75, "y":3.25},
|
||||||
|
{"label":"F", "x":4.75, "y":3.25},
|
||||||
|
{"label":"G", "x":5.75, "y":3.25},
|
||||||
|
{"label":"H", "x":6.75, "y":3.25},
|
||||||
|
{"label":"J", "x":7.75, "y":3.25},
|
||||||
|
{"label":"K", "x":8.75, "y":3.25},
|
||||||
|
{"label":"L", "x":9.75, "y":3.25},
|
||||||
|
{"label":":", "x":10.75, "y":3.25},
|
||||||
|
{"label":"@", "x":11.75, "y":3.25},
|
||||||
|
{"label":"~", "x":12.75, "y":3.25},
|
||||||
|
{"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2},
|
||||||
|
{"label":"Shift", "x":0, "y":4.25, "w":1.25},
|
||||||
|
{"label":"|", "x":1.25, "y":4.25},
|
||||||
|
{"label":"Z", "x":2.25, "y":4.25},
|
||||||
|
{"label":"X", "x":3.25, "y":4.25},
|
||||||
|
{"label":"C", "x":4.25, "y":4.25},
|
||||||
|
{"label":"V", "x":5.25, "y":4.25},
|
||||||
|
{"label":"B", "x":6.25, "y":4.25},
|
||||||
|
{"label":"N", "x":7.25, "y":4.25},
|
||||||
|
{"label":"M", "x":8.25, "y":4.25},
|
||||||
|
{"label":"<", "x":9.25, "y":4.25},
|
||||||
|
{"label":">", "x":10.25, "y":4.25},
|
||||||
|
{"label":"?", "x":11.25, "y":4.25},
|
||||||
|
{"label":"Shift", "x":12.25, "y":4.25, "w":2.75},
|
||||||
|
{"label":"Up", "x":16.25, "y":4.25},
|
||||||
|
{"label":"Ctrl", "x":0, "y":5.25, "w":1.25},
|
||||||
|
{"label":"GUI", "x":1.25, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Alt", "x":2.5, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Space", "x":3.75, "y":5.25, "w":6.25},
|
||||||
|
{"label":"AltGr", "x":10, "y":5.25, "w":1.25},
|
||||||
|
{"label":"GUI", "x":11.25, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Menu", "x":12.5, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25},
|
||||||
|
{"label":"Left", "x":15.25, "y":5.25},
|
||||||
|
{"label":"Down", "x":16.25, "y":5.25},
|
||||||
|
{"label":"Right", "x":17.25, "y":5.25}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -48,4 +48,48 @@
|
|||||||
{ K110, KC_NO, KC_NO, KC_NO, KC_NO, K115, K116, K117, KC_NO } \
|
{ K110, KC_NO, KC_NO, KC_NO, KC_NO, K115, K116, K117, KC_NO } \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_tkl_ansi( \
|
||||||
|
K000, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K007, K017, K008, \
|
||||||
|
K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, \
|
||||||
|
K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K057, K048, \
|
||||||
|
K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K076, \
|
||||||
|
K080, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K097, \
|
||||||
|
K100, K110, K101, K103, K105, K115, K106, K116, K107, K117, K108 \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \
|
||||||
|
{ KC_NO, K011, K012, K013, K014, K015, K016, K017, KC_NO }, \
|
||||||
|
{ K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
|
||||||
|
{ K030, K031, K032, K033, K034, K035, K036, K037, KC_NO }, \
|
||||||
|
{ K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
|
||||||
|
{ K050, K051, K052, K053, K054, K055, K056, K057, KC_NO }, \
|
||||||
|
{ K060, K061, K062, K063, K064, K065, KC_NO, KC_NO, KC_NO }, \
|
||||||
|
{ K070, K071, K072, K073, K074, K075, K076, KC_NO, KC_NO }, \
|
||||||
|
{ K080, K081, K082, K083, K084, K085, K086, KC_NO, KC_NO }, \
|
||||||
|
{ KC_NO, K091, K092, K093, K094, K095, KC_NO, K097, KC_NO }, \
|
||||||
|
{ K100, K101, KC_NO, K103, KC_NO, K105, K106, K107, K108 }, \
|
||||||
|
{ K110, KC_NO, KC_NO, KC_NO, KC_NO, K115, K116, K117, KC_NO } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_tkl_iso( \
|
||||||
|
K000, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K007, K017, K008, \
|
||||||
|
K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, \
|
||||||
|
K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K047, K057, K048, \
|
||||||
|
K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K056, K076, \
|
||||||
|
K080, K090, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K097, \
|
||||||
|
K100, K110, K101, K103, K105, K115, K106, K116, K107, K117, K108 \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008 }, \
|
||||||
|
{ KC_NO, K011, K012, K013, K014, K015, K016, K017, KC_NO }, \
|
||||||
|
{ K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
|
||||||
|
{ K030, K031, K032, K033, K034, K035, K036, K037, KC_NO }, \
|
||||||
|
{ K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
|
||||||
|
{ K050, K051, K052, K053, K054, K055, K056, K057, KC_NO }, \
|
||||||
|
{ K060, K061, K062, K063, K064, K065, KC_NO, KC_NO, KC_NO }, \
|
||||||
|
{ K070, K071, K072, K073, K074, K075, K076, KC_NO, KC_NO }, \
|
||||||
|
{ K080, K081, K082, K083, K084, K085, K086, KC_NO, KC_NO }, \
|
||||||
|
{ K090, K091, K092, K093, K094, K095, KC_NO, K097, KC_NO }, \
|
||||||
|
{ K100, K101, KC_NO, K103, KC_NO, K105, K106, K107, K108 }, \
|
||||||
|
{ K110, KC_NO, KC_NO, KC_NO, KC_NO, K115, K116, K117, KC_NO } \
|
||||||
|
}
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
/* Copyright 2019 Ryota Goto
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
[0] = LAYOUT( /* Base */
|
|
||||||
|
|
||||||
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_PSCR, KC_SLCK, KC_PAUS, \
|
|
||||||
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_BSPC, KC_DEL, KC_INS, KC_HOME, KC_PGUP, \
|
|
||||||
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, KC_BSLS, KC_DEL, KC_END, KC_PGDN, \
|
|
||||||
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_ENT, \
|
|
||||||
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, KC_UP, \
|
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
|
|
||||||
),
|
|
||||||
};
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_init_user(void) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# The ANSI 6.25U keymap for KBD8X MKII
|
|
||||||
|
|
||||||
A typical setup for the 1.25/6.25U bottom row.
|
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
/* Copyright 2019 Ryota Goto
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_tkl_ansi( /* Base */
|
||||||
|
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_PSCR, KC_SLCK, KC_PAUS, \
|
||||||
|
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_BSPC, KC_INS, KC_HOME, KC_PGUP, \
|
||||||
|
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, KC_BSLS, KC_DEL, KC_END, KC_PGDN, \
|
||||||
|
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_ENT, \
|
||||||
|
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_UP, \
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
|
||||||
|
),
|
||||||
|
};
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# The ANSI 6.25U keymap for KBD8X MKII
|
||||||
|
|
||||||
|
A typical ANSI setup for the 1.25/6.25U bottom row.
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
/* Copyright 2019 Ryota Goto
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_tkl_iso( /* Base */
|
||||||
|
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_PSCR, KC_SLCK, KC_PAUS, \
|
||||||
|
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_BSPC, KC_INS, KC_HOME, KC_PGUP, \
|
||||||
|
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, KC_DEL, KC_END, KC_PGDN, \
|
||||||
|
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_NUHS, KC_ENT, \
|
||||||
|
KC_LSFT, 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_UP, \
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
|
||||||
|
),
|
||||||
|
};
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# The ISO 6.25U keymap for KBD8X MKII
|
||||||
|
|
||||||
|
A typical ISO setup for the 1.25/6.25U bottom row.
|
||||||
@@ -14,10 +14,10 @@ BOOTLOADER = atmel-dfu
|
|||||||
# Build Options
|
# Build Options
|
||||||
# change yes to no to disable
|
# change yes to no to disable
|
||||||
#
|
#
|
||||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000)
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
@@ -25,9 +25,11 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
|||||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
|
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
|
||||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||||
MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
|
MIDI_ENABLE = no # MIDI support
|
||||||
UNICODE_ENABLE = no # Unicode
|
UNICODE_ENABLE = no # Unicode
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
AUDIO_ENABLE = no # Audio output on port C6
|
AUDIO_ENABLE = no # Audio output on port C6
|
||||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||||
HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
|
HD44780_ENABLE = no # Enable support for HD44780 based LCDs
|
||||||
|
|
||||||
|
LAYOUTS = tkl_ansi tkl_iso
|
||||||
@@ -1,47 +1,19 @@
|
|||||||
# KBDPad MKI
|
# KBDPad MKI
|
||||||
|
|
||||||
Custom numpad.
|
Custom numpad.
|
||||||
|
|
||||||
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
|
||||||
Hardware Supported: KBDPad MKI
|
|
||||||
Hardware Availability: [KBDfans](https://kbdfans.com/products/kbdfans-pad-custom-mechanical-keyboard-diy-kit)
|
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
||||||
|
* Hardware Supported: KBDPad MKI
|
||||||
|
* Hardware Availability: [KBDfans](https://kbdfans.com/products/kbdfans-pad-custom-mechanical-keyboard-diy-kit)
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make kbdfans/kbdpad/mk1:default
|
make kbdfans/kbdpad/mk1:default
|
||||||
|
|
||||||
Flashing
|
Flashing example for this keyboard ([after setting up the bootloadHID flashing environment](https://docs.qmk.fm/#/flashing_bootloadhid))
|
||||||
|
|
||||||
ps2avr(GB) boards use an atmega32a microcontroller and a different bootloader. It is not flashable using the regular QMK methods.
|
make kbdfans/kbdpad/mk1:default:flash
|
||||||
|
|
||||||
**Reset Key:** Hold down the key located at `K00`, commonly programmed as `0` while plugging in the keyboard.
|
**Reset Key:** Hold down the key located at `K00`, commonly programmed as `0` while plugging in the keyboard.
|
||||||
|
|
||||||
Windows:
|
|
||||||
1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
|
|
||||||
2. Place your keyboard into reset.
|
|
||||||
3. Press the `Find Device` button and ensure that your keyboard is found.
|
|
||||||
4. Press the `Open .hex File` button and locate the `.hex` file you created.
|
|
||||||
5. Press the `Flash Device` button and wait for the process to complete.
|
|
||||||
|
|
||||||
macOS:
|
|
||||||
1. Install homebrew by typing the following:
|
|
||||||
```
|
|
||||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
|
||||||
```
|
|
||||||
2. Install `crosspack-avr`.
|
|
||||||
```
|
|
||||||
brew cask install crosspack-avr
|
|
||||||
```
|
|
||||||
3. Install the following packages:
|
|
||||||
```
|
|
||||||
brew install python3
|
|
||||||
pip3 install pyusb
|
|
||||||
brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
|
|
||||||
```
|
|
||||||
|
|
||||||
4. Place your keyboard into reset.
|
|
||||||
5. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file.
|
|
||||||
|
|
||||||
|
|
||||||
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).
|
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).
|
||||||
@@ -73,7 +73,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
break;
|
break;
|
||||||
case MCR_04:
|
case MCR_04:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
SEND_STRING(SS_LCTRL("c") SS_TAP(X_RIGHT) SS_LCTRL("v"));
|
SEND_STRING(SS_LCTL("c") SS_TAP(X_RIGHT) SS_LCTL("v"));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
break;
|
break;
|
||||||
case MCR_04:
|
case MCR_04:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
SEND_STRING(SS_LCTRL("c") SS_TAP(X_RIGHT) SS_LCTRL("v"));
|
SEND_STRING(SS_LCTL("c") SS_TAP(X_RIGHT) SS_LCTL("v"));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
break;
|
break;
|
||||||
case MCR_04:
|
case MCR_04:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
SEND_STRING(SS_LCTRL("c") SS_TAP(X_RIGHT) SS_LCTRL("v"));
|
SEND_STRING(SS_LCTL("c") SS_TAP(X_RIGHT) SS_LCTL("v"));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Loaded 100 of 170 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user