Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2b55c419ea | ||
|
|
83e1b9ab6e | ||
|
|
ca598c3df6 | ||
|
|
4588c979bd | ||
|
|
60ee8bddfc | ||
|
|
5f9fb01020 | ||
|
|
c4960b7579 | ||
|
|
d4917318cc | ||
|
|
047a7f4e33 | ||
|
|
c8ab8e0bab | ||
|
|
038a86a9b8 | ||
|
|
9ae15e8c79 | ||
|
|
666cb44673 | ||
|
|
03c790a0f2 | ||
|
|
29b4f83a1f | ||
|
|
e6bcc232ed | ||
|
|
5eb4675fda | ||
|
|
0fcefdc013 |
No files matched your search
+11
-2
@@ -3,8 +3,14 @@ LAYOUTS_REPOS := $(patsubst %/,%,$(sort $(dir $(wildcard $(LAYOUTS_PATH)/*/))))
|
|||||||
|
|
||||||
define SEARCH_LAYOUTS_REPO
|
define SEARCH_LAYOUTS_REPO
|
||||||
LAYOUT_KEYMAP_PATH := $$(LAYOUTS_REPO)/$$(LAYOUT)/$$(KEYMAP)
|
LAYOUT_KEYMAP_PATH := $$(LAYOUTS_REPO)/$$(LAYOUT)/$$(KEYMAP)
|
||||||
|
LAYOUT_KEYMAP_JSON := $$(LAYOUT_KEYMAP_PATH)/keymap.json
|
||||||
LAYOUT_KEYMAP_C := $$(LAYOUT_KEYMAP_PATH)/keymap.c
|
LAYOUT_KEYMAP_C := $$(LAYOUT_KEYMAP_PATH)/keymap.c
|
||||||
ifneq ("$$(wildcard $$(LAYOUT_KEYMAP_C))","")
|
ifneq ("$$(wildcard $$(LAYOUT_KEYMAP_JSON))","")
|
||||||
|
-include $$(LAYOUT_KEYMAP_PATH)/rules.mk
|
||||||
|
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c
|
||||||
|
KEYMAP_JSON := $$(LAYOUT_KEYMAP_JSON)
|
||||||
|
KEYMAP_PATH := $$(LAYOUT_KEYMAP_PATH)
|
||||||
|
else ifneq ("$$(wildcard $$(LAYOUT_KEYMAP_C))","")
|
||||||
-include $$(LAYOUT_KEYMAP_PATH)/rules.mk
|
-include $$(LAYOUT_KEYMAP_PATH)/rules.mk
|
||||||
KEYMAP_C := $$(LAYOUT_KEYMAP_C)
|
KEYMAP_C := $$(LAYOUT_KEYMAP_C)
|
||||||
KEYMAP_PATH := $$(LAYOUT_KEYMAP_PATH)
|
KEYMAP_PATH := $$(LAYOUT_KEYMAP_PATH)
|
||||||
@@ -24,4 +30,7 @@ ifneq ($(FORCE_LAYOUT),)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(foreach LAYOUT,$(LAYOUTS),$(eval $(call SEARCH_LAYOUTS)))
|
$(foreach LAYOUT,$(LAYOUTS),$(eval $(call SEARCH_LAYOUTS)))
|
||||||
|
|
||||||
|
# Use rule from build_json.mk, but update prerequisite in case KEYMAP_JSON was updated
|
||||||
|
$(KEYBOARD_OUTPUT)/src/keymap.c: $(KEYMAP_JSON)
|
||||||
+1
-1
@@ -53,7 +53,7 @@ SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9203", TAG+="uacc
|
|||||||
|
|
||||||
**Note:** With older (before 1.12) ModemManager, filtering only works when not in strict mode, the following commands can update that settings:
|
**Note:** With older (before 1.12) ModemManager, filtering only works when not in strict mode, the following commands can update that settings:
|
||||||
```console
|
```console
|
||||||
sudo sed -i 's/--filter-policy=strict/--filter-policy=default/' /lib/systemd/system/ModemManager.service
|
printf '[Service]\nExecStart=\nExecStart=/usr/sbin/ModemManager --filter-policy=default' | sudo tee /etc/systemd/system/ModemManager.service.d/policy.conf
|
||||||
sudo systemctl daemon-reload
|
sudo systemctl daemon-reload
|
||||||
sudo systemctl restart ModemManager
|
sudo systemctl restart ModemManager
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ That should be everything necessary.
|
|||||||
|
|
||||||
To start recording the macro, press either `DYN_REC_START1` or `DYN_REC_START2`.
|
To start recording the macro, press either `DYN_REC_START1` or `DYN_REC_START2`.
|
||||||
|
|
||||||
To finish the recording, press the `DYN_REC_STOP` layer button.
|
To finish the recording, press the `DYN_REC_STOP` layer button. You can also press `DYN_REC_START1` or `DYN_REC_START2` again to stop the recording.
|
||||||
|
|
||||||
To replay the macro, press either `DYN_MACRO_PLAY1` or `DYN_MACRO_PLAY2`.
|
To replay the macro, press either `DYN_MACRO_PLAY1` or `DYN_MACRO_PLAY2`.
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ To use these, simply `#include` the corresponding [header file](https://github.c
|
|||||||
|Estonian |`keymap_estonian.h` |
|
|Estonian |`keymap_estonian.h` |
|
||||||
|Finnish |`keymap_finnish.h` |
|
|Finnish |`keymap_finnish.h` |
|
||||||
|French |`keymap_french.h` |
|
|French |`keymap_french.h` |
|
||||||
|
|French (AFNOR) |`keymap_french_afnor.h` |
|
||||||
|French (BÉPO) |`keymap_bepo.h` |
|
|French (BÉPO) |`keymap_bepo.h` |
|
||||||
|French (Belgium) |`keymap_belgian.h` |
|
|French (Belgium) |`keymap_belgian.h` |
|
||||||
|French (Switzerland) |`keymap_fr_ch.h` |
|
|French (Switzerland) |`keymap_fr_ch.h` |
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
|||||||
return 130;
|
return 130;
|
||||||
default:
|
default:
|
||||||
return TAPPING_TERM;
|
return TAPPING_TERM;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -2,77 +2,78 @@
|
|||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
#define LAYOUT_all( \
|
#define XXX KC_NO
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \
|
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
|
|
||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \
|
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \
|
|
||||||
K400, K401, K403, K406, K410, K411, K413, K414 \
|
|
||||||
) { \
|
|
||||||
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
|
|
||||||
{ K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
|
|
||||||
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
|
|
||||||
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314 }, \
|
|
||||||
{ K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, KC_NO, K413, K414 } \
|
|
||||||
}
|
|
||||||
|
|
||||||
|
#define LAYOUT_all( \
|
||||||
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
|
||||||
|
k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
|
||||||
|
k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, \
|
||||||
|
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, \
|
||||||
|
k40, k41, k43, k46, k4A, k4B, k4D, k4E \
|
||||||
|
) { \
|
||||||
|
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
|
||||||
|
{ k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
|
||||||
|
{ k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E }, \
|
||||||
|
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \
|
||||||
|
{ k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E } \
|
||||||
|
}
|
||||||
|
|
||||||
/* ANSI variant. No extra keys for ISO */
|
/* ANSI variant. No extra keys for ISO */
|
||||||
#define LAYOUT_60_ansi( \
|
#define LAYOUT_60_ansi( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, \
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
|
k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
|
||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, \
|
k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, \
|
||||||
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \
|
k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, \
|
||||||
K400, K401, K403, K406, K410, K411, K413, K414 \
|
k40, k41, k43, k46, k4A, k4B, k4D, k4E \
|
||||||
) LAYOUT_all( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K013,\
|
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
|
{ k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
|
||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K214, \
|
{ k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, XXX, k2E }, \
|
||||||
K300, KC_NO,K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, KC_NO,\
|
{ k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, XXX }, \
|
||||||
K400, K401, K403, K406, K410, K411, K413, K414 \
|
{ k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E } \
|
||||||
)
|
}
|
||||||
|
|
||||||
/* ISO variant. Remove useless ANSI keys */
|
/* ISO variant. Remove useless ANSI keys */
|
||||||
#define LAYOUT_60_iso( \
|
#define LAYOUT_60_iso( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, \
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, \
|
k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \
|
||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \
|
k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, \
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \
|
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, \
|
||||||
K400, K401, K403, K406, K410, K411, K413, K414 \
|
k40, k41, k43, k46, k4A, k4B, k4D, k4E \
|
||||||
) LAYOUT_all( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K013,\
|
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K214, \
|
{ k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, XXX }, \
|
||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \
|
{ k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E }, \
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, KC_NO,\
|
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, XXX }, \
|
||||||
K400, K401, K403, K406, K410, K411, K413, K414 \
|
{ k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E } \
|
||||||
)
|
}
|
||||||
|
|
||||||
/* HHKB Variant */
|
/* HHKB Variant */
|
||||||
#define LAYOUT_60_ansi_split_bs_rshift( \
|
#define LAYOUT_60_ansi_split_bs_rshift( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
|
k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
|
||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, \
|
k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, \
|
||||||
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \
|
k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, \
|
||||||
K400, K401, K403, K406, K410, K411, K413, K414 \
|
k40, k41, k43, k46, k4A, k4B, k4D, k4E \
|
||||||
) LAYOUT_all( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014,\
|
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
|
{ k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
|
||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K214, \
|
{ k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, XXX, k2E }, \
|
||||||
K300, KC_NO,K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314,\
|
{ k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \
|
||||||
K400, K401, K403, K406, K410, K411, K413, K414 \
|
{ k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E } \
|
||||||
)
|
}
|
||||||
|
|
||||||
/* HHKB Variant */
|
/* HHKB Variant */
|
||||||
#define LAYOUT_60_hhkb( \
|
#define LAYOUT_60_hhkb( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
|
k10, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
|
||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, \
|
k20, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, \
|
||||||
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \
|
k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, \
|
||||||
K401, K403, K406, K411, K413 \
|
k41, k43, k46, k4B, k4D \
|
||||||
) LAYOUT_all( \
|
) { \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \
|
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
|
{ k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
|
||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K214, \
|
{ k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, XXX, k2E }, \
|
||||||
K300, KC_NO,K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \
|
{ k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \
|
||||||
KC_NO,K401, K403, K406, KC_NO,K411, K413, KC_NO \
|
{ XXX, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, XXX, k4D, XXX } \
|
||||||
)
|
}
|
||||||
@@ -53,4 +53,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#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
|
||||||
|
#define RGBLIGHT_LIMIT_VAL 50
|
||||||
#endif
|
#endif
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
# YDKB Chili
|
||||||
|
|
||||||
|
[Chili PCB](https://i.imgur.com/fKi896a.jpg)
|
||||||
|
|
||||||
|
The YDKB Chili is a Cherry G80-3000 replacement PCB utilizing the ATmega32U4 microcontroller.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: QMK community
|
||||||
|
* Hardware Supported: YDKB Chili
|
||||||
|
* Hardware Availability: [TaoBao](https://item.taobao.com/item.htm?id=565823984744)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make chili: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,42 @@
|
|||||||
|
/* Copyright 2017 Mathias Andersson <[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 "chili.h"
|
||||||
|
|
||||||
|
void matrix_init_kb(void) {
|
||||||
|
// put your keyboard start-up code here
|
||||||
|
// runs once when the firmware starts up
|
||||||
|
led_init_ports();
|
||||||
|
matrix_init_user();
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_init_ports(void) {
|
||||||
|
setPinOutput(B1);
|
||||||
|
writePinHigh(B1);
|
||||||
|
setPinOutput(B2);
|
||||||
|
writePinHigh(B2);
|
||||||
|
setPinOutput(B3);
|
||||||
|
writePinHigh(B3);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool led_update_kb(led_t led_state) {
|
||||||
|
bool res = led_update_user(led_state);
|
||||||
|
if(res) {
|
||||||
|
writePin(B1, !led_state.num_lock);
|
||||||
|
writePin(B2, !led_state.caps_lock);
|
||||||
|
writePin(B3, !led_state.scroll_lock);
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
/* Copyright 2017 Mathias Andersson <[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"
|
||||||
|
|
||||||
|
#define LAYOUT_all( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K69, K68, K67, K66, K65, K64, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K79, K78, K77, K76, K75, K74, K73, K72, K63, K62, K61, K60, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K89, K88, K87, K86, K85, K84, K83, K82, K81, K80, K90, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K99, K98, K97, K95, K92, K71, K70, \
|
||||||
|
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, KA9, KA8, KA6, KA7, K96, K94, K93, K91, KA0, \
|
||||||
|
K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, KA5, KA4, KA3, KA2, KA1 \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39 }, \
|
||||||
|
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49 }, \
|
||||||
|
{ K50, K51, K52, K53, K54, K55, K56, K57, K58, K59 }, \
|
||||||
|
{ K60, K61, K62, K63, K64, K65, K66, K67, K68, K69 }, \
|
||||||
|
{ K70, K71, K72, K73, K74, K75, K76, K77, K78, K79 }, \
|
||||||
|
{ K80, K81, K82, K83, K84, K85, K86, K87, K88, K89 }, \
|
||||||
|
{ K90, K91, K92, K93, K94, K95, K96, K97, K98, K99 }, \
|
||||||
|
{ KA0, KA1, KA2, KA3, KA4, KA5, KA6, KA7, KA8, KA9 } \
|
||||||
|
}
|
||||||
@@ -0,0 +1,179 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2012 Jun Wako <[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 0x5945 // "YE"
|
||||||
|
#define PRODUCT_ID 0x0001
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER YDKB
|
||||||
|
#define PRODUCT Chili
|
||||||
|
#define DESCRIPTION QMK keyboard firmware for Chili, a G80-3000 replacement PCB
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 11
|
||||||
|
#define MATRIX_COLS 10
|
||||||
|
|
||||||
|
// ROWS: Top to bottom, COLS: Left to right
|
||||||
|
/* Row pin configuration
|
||||||
|
*/
|
||||||
|
#define MATRIX_ROW_PINS { F5, F4, F1, F0, E6, B0, D5, D3, D2, D1, D0 }
|
||||||
|
/* Column pin configuration
|
||||||
|
*/
|
||||||
|
#define MATRIX_COL_PINS { D4, F6, F7, C7, C6, B6, B5, B4, D7, D6 }
|
||||||
|
#define UNUSED_PINS
|
||||||
|
|
||||||
|
/* COL2ROW or ROW2COL */
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
#define BACKLIGHT_PIN B7
|
||||||
|
#define BACKLIGHT_BREATHING
|
||||||
|
#define BACKLIGHT_LEVELS 3
|
||||||
|
|
||||||
|
/* Underlight configuration
|
||||||
|
*/
|
||||||
|
#define RGB_DI_PIN B3
|
||||||
|
#define RGBLIGHT_ANIMATIONS
|
||||||
|
#define RGBLED_NUM 30 // Number of LEDs
|
||||||
|
#define RGBLIGHT_HUE_STEP 5
|
||||||
|
#define RGBLIGHT_SAT_STEP 10
|
||||||
|
#define RGBLIGHT_VAL_STEP 10
|
||||||
|
|
||||||
|
/* define if matrix has ghost */
|
||||||
|
//#define MATRIX_HAS_GHOST
|
||||||
|
|
||||||
|
/* 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
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* control how magic key switches layers */
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
|
||||||
|
|
||||||
|
/* override magic key keymap */
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
|
||||||
|
//#define MAGIC_KEY_HELP1 H
|
||||||
|
//#define MAGIC_KEY_HELP2 SLASH
|
||||||
|
//#define MAGIC_KEY_DEBUG D
|
||||||
|
//#define MAGIC_KEY_DEBUG_MATRIX X
|
||||||
|
//#define MAGIC_KEY_DEBUG_KBD K
|
||||||
|
//#define MAGIC_KEY_DEBUG_MOUSE M
|
||||||
|
//#define MAGIC_KEY_VERSION V
|
||||||
|
//#define MAGIC_KEY_STATUS S
|
||||||
|
//#define MAGIC_KEY_CONSOLE C
|
||||||
|
//#define MAGIC_KEY_LAYER0_ALT1 ESC
|
||||||
|
//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
|
||||||
|
//#define MAGIC_KEY_LAYER0 0
|
||||||
|
//#define MAGIC_KEY_LAYER1 1
|
||||||
|
//#define MAGIC_KEY_LAYER2 2
|
||||||
|
//#define MAGIC_KEY_LAYER3 3
|
||||||
|
//#define MAGIC_KEY_LAYER4 4
|
||||||
|
//#define MAGIC_KEY_LAYER5 5
|
||||||
|
//#define MAGIC_KEY_LAYER6 6
|
||||||
|
//#define MAGIC_KEY_LAYER7 7
|
||||||
|
//#define MAGIC_KEY_LAYER8 8
|
||||||
|
//#define MAGIC_KEY_LAYER9 9
|
||||||
|
//#define MAGIC_KEY_BOOTLOADER PAUSE
|
||||||
|
//#define MAGIC_KEY_LOCK CAPS
|
||||||
|
//#define MAGIC_KEY_EEPROM E
|
||||||
|
//#define MAGIC_KEY_NKRO N
|
||||||
|
//#define MAGIC_KEY_SLEEP_LED Z
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Feature disable options
|
||||||
|
* These options are also useful to firmware size reduction.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* disable debug print */
|
||||||
|
//#define NO_DEBUG
|
||||||
|
|
||||||
|
/* disable print */
|
||||||
|
//#define NO_PRINT
|
||||||
|
|
||||||
|
/* disable action features */
|
||||||
|
//#define NO_ACTION_LAYER
|
||||||
|
//#define NO_ACTION_TAPPING
|
||||||
|
//#define NO_ACTION_ONESHOT
|
||||||
|
//#define NO_ACTION_MACRO
|
||||||
|
//#define NO_ACTION_FUNCTION
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "YDKB Chili",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "qmk",
|
||||||
|
"width": 22.5,
|
||||||
|
"height": 6.5,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_all": {
|
||||||
|
"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.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"Backsp", "x":13, "y":1.5}, {"x":14, "y":1.5}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Num Lock", "x":18.5, "y":1.5}, {"label":"/", "x":19.5, "y":1.5}, {"label":"*", "x":20.5, "y":1.5}, {"label":"-", "x":21.5, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"|", "x":13.5, "y":2.5, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"7", "x":18.5, "y":2.5}, {"label":"8", "x":19.5, "y":2.5}, {"label":"9", "x":20.5, "y":2.5}, {"label":"+", "x":21.5, "y":2.5}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"\"", "x":11.75, "y":3.5}, {"label":"Enter", "x":12.75, "y":3.5, "w":2.25}, {"label":"4", "x":18.5, "y":3.5}, {"label":"5", "x":19.5, "y":3.5}, {"label":"6", "x":20.5, "y":3.5}, {"x":21.5, "y":3.5}, {"label":"Shift", "x":0, "y":4.5, "w":1.25}, {"x":1.25, "y":4.5}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":1.75}, {"x":14, "y":4.5}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"1", "x":18.5, "y":4.5}, {"label":"2", "x":19.5, "y":4.5}, {"label":"3", "x":20.5, "y":4.5}, {"label":"Enter", "x":21.5, "y":4.5, "h":2}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, {"label":"Win", "x":1.25, "y":5.5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":3}, {"x":6.75, "y":5.5, "w":3}, {"label":"Alt", "x":9.75, "y":5.5, "w":1.5}, {"label":"Win", "x":11.25, "y":5.5, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.5, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}, {"label":"0", "x":18.5, "y":5.5}, {"x":19.5, "y":5.5}, {"label":".", "x":20.5, "y":5.5}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
/* Copyright 2017 Mathias Andersson <[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
|
||||||
|
|
||||||
|
//Layers
|
||||||
|
|
||||||
|
enum {
|
||||||
|
BASE,
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[BASE] = LAYOUT_all(
|
||||||
|
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_NO, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||||
|
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_P7, KC_P8, KC_P9, KC_PPLS,
|
||||||
|
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_P4, KC_P5, KC_P6, KC_NO,
|
||||||
|
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_NO, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_NO, KC_PDOT
|
||||||
|
),
|
||||||
|
|
||||||
|
};
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
/* Copyright 2017 Mathias Andersson <[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
|
||||||
|
|
||||||
|
//Layers
|
||||||
|
|
||||||
|
enum {
|
||||||
|
BASE = 0,
|
||||||
|
FUNCTION,
|
||||||
|
ALTERNATE,
|
||||||
|
LAST,
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[BASE] = LAYOUT_all(
|
||||||
|
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_NO, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||||
|
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_P7, KC_P8, KC_P9, KC_PPLS,
|
||||||
|
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_P4, KC_P5, KC_P6, KC_NO,
|
||||||
|
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_NO, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_NO, KC_PDOT
|
||||||
|
),
|
||||||
|
[FUNCTION] = LAYOUT_all(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
[ALTERNATE] = LAYOUT_all(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
[LAST] = LAYOUT_all(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
@@ -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 = 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 = yes # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight
|
||||||
|
MIDI_ENABLE = no # MIDI controls
|
||||||
|
UNICODE_ENABLE = no # Unicode
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
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_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_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_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_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_UP, KC_END,
|
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_UP, KC_END,
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_NO, KC_LEFT, KC_DOWN, KC_RGHT
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_NO, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
),
|
),
|
||||||
[1] = LAYOUT_all(
|
[1] = LAYOUT_all(
|
||||||
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
|
RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
|
||||||
|
|||||||
+15
-15
@@ -32,7 +32,7 @@
|
|||||||
#define LAYOUT_ansi( \
|
#define LAYOUT_ansi( \
|
||||||
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
||||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, \
|
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, \
|
||||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k56, k47, k57, \
|
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \
|
||||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
||||||
k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
||||||
ka0, kb0, ka1, ka3, ka5, ka6, kb6, ka7, kb7 \
|
ka0, kb0, ka1, ka3, ka5, ka6, kb6, ka7, kb7 \
|
||||||
@@ -42,8 +42,8 @@
|
|||||||
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, XXX }, \
|
{ k20, k21, k22, k23, k24, k25, k26, XXX }, \
|
||||||
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
||||||
{ k40, k41, k42, k43, k44, k45, XXX, k47 }, \
|
{ k40, k41, k42, k43, k44, k45, k46, k47 }, \
|
||||||
{ k50, k51, k52, k53, k54, k55, k56, k57 }, \
|
{ k50, k51, k52, k53, k54, k55, XXX, k57 }, \
|
||||||
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
||||||
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
||||||
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
#define LAYOUT_ansi_wkl( \
|
#define LAYOUT_ansi_wkl( \
|
||||||
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
||||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, \
|
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, \
|
||||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k56, k47, k57, \
|
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \
|
||||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
||||||
k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
k80, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
||||||
ka0, kb0, ka3, ka5, ka6, kb6, ka7, kb7 \
|
ka0, kb0, ka3, ka5, ka6, kb6, ka7, kb7 \
|
||||||
@@ -65,8 +65,8 @@
|
|||||||
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, XXX }, \
|
{ k20, k21, k22, k23, k24, k25, k26, XXX }, \
|
||||||
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
||||||
{ k40, k41, k42, k43, k44, k45, XXX, k47 }, \
|
{ k40, k41, k42, k43, k44, k45, k46, k47 }, \
|
||||||
{ k50, k51, k52, k53, k54, k55, k56, k57 }, \
|
{ k50, k51, k52, k53, k54, k55, XXX, k57 }, \
|
||||||
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
||||||
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
||||||
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
#define LAYOUT_iso( \
|
#define LAYOUT_iso( \
|
||||||
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
||||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, \
|
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, \
|
||||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k56, k47, k57, \
|
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \
|
||||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
||||||
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
||||||
ka0, kb0, ka1, ka3, ka5, ka6, kb6, ka7, kb7 \
|
ka0, kb0, ka1, ka3, ka5, ka6, kb6, ka7, kb7 \
|
||||||
@@ -88,8 +88,8 @@
|
|||||||
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, XXX }, \
|
{ k20, k21, k22, k23, k24, k25, k26, XXX }, \
|
||||||
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
||||||
{ k40, k41, k42, k43, k44, k45, XXX, k47 }, \
|
{ k40, k41, k42, k43, k44, k45, k46, k47 }, \
|
||||||
{ k50, k51, k52, k53, k54, k55, k56, k57 }, \
|
{ k50, k51, k52, k53, k54, k55, XXX, k57 }, \
|
||||||
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
||||||
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
||||||
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
#define LAYOUT_iso_wkl( \
|
#define LAYOUT_iso_wkl( \
|
||||||
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
||||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, \
|
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k37, \
|
||||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k56, k47, k57, \
|
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \
|
||||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
||||||
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
||||||
ka0, kb0, ka3, ka5, ka6, kb6, ka7, kb7 \
|
ka0, kb0, ka3, ka5, ka6, kb6, ka7, kb7 \
|
||||||
@@ -111,8 +111,8 @@
|
|||||||
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, XXX }, \
|
{ k20, k21, k22, k23, k24, k25, k26, XXX }, \
|
||||||
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
||||||
{ k40, k41, k42, k43, k44, k45, XXX, k47 }, \
|
{ k40, k41, k42, k43, k44, k45, k46, k47 }, \
|
||||||
{ k50, k51, k52, k53, k54, k55, k56, k57 }, \
|
{ k50, k51, k52, k53, k54, k55, XXX, k57 }, \
|
||||||
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
||||||
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
||||||
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
||||||
@@ -124,7 +124,7 @@
|
|||||||
#define LAYOUT_all( \
|
#define LAYOUT_all( \
|
||||||
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
k00, k01, k11, k02, k12, k03, k13, k04, k14, k15, k06, k16, k07, k17, \
|
||||||
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, \
|
k20, k30, k21, k31, k22, k32, k23, k33, k24, k34, k25, k35, k26, k36, k27, k37, \
|
||||||
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k56, k47, k57, \
|
k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k47, k57, \
|
||||||
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
k60, k70, k61, k71, k62, k72, k63, k73, k64, k74, k65, k75, k76, k77, \
|
||||||
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
k80, k90, k81, k91, k82, k92, k83, k93, k84, k94, k85, k95, k86, k87, k97, \
|
||||||
ka0, kb0, ka1, ka3, ka5, kb5, ka6, kb6, ka7, kb7 \
|
ka0, kb0, ka1, ka3, ka5, kb5, ka6, kb6, ka7, kb7 \
|
||||||
@@ -134,8 +134,8 @@
|
|||||||
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
{ XXX, k11, k12, k13, k14, k15, k16, k17 }, \
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, k27 }, \
|
{ k20, k21, k22, k23, k24, k25, k26, k27 }, \
|
||||||
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
||||||
{ k40, k41, k42, k43, k44, k45, XXX, k47 }, \
|
{ k40, k41, k42, k43, k44, k45, k46, k47 }, \
|
||||||
{ k50, k51, k52, k53, k54, k55, k56, k57 }, \
|
{ k50, k51, k52, k53, k54, k55, XXX, k57 }, \
|
||||||
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
{ k60, k61, k62, k63, k64, k65, XXX, XXX }, \
|
||||||
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
||||||
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
{ k80, k81, k82, k83, k84, k85, k86, k87 }, \
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020 boss566y
|
||||||
|
|
||||||
|
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 0x5048 //PH
|
||||||
|
#define PRODUCT_ID 0x0001
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER PH
|
||||||
|
#define PRODUCT Redragon Vara
|
||||||
|
#define DESCRIPTION HandWired Redragon Vara
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 12
|
||||||
|
#define MATRIX_COLS 11
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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 { B0, B1, B2, B3, B7, D0, F0, F1, F4, F5, F6, F7 }
|
||||||
|
#define MATRIX_COL_PINS { D1, D2, D3, C6, D5, C7, D4, D7, B4, B5, B6 }
|
||||||
|
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
|
||||||
|
// generated by KBFirmware JSON to QMK Parser
|
||||||
|
// https://noroadsleft.github.io/kbf_qmk_converter/
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Handwired Redragon Vara",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "qmk",
|
||||||
|
"width": 22.5,
|
||||||
|
"height": 6.5,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_fullsize_ansi": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"K00 (B0,D1)", "x":0, "y":0},
|
||||||
|
{"label":"K02 (B0,D3)", "x":2, "y":0},
|
||||||
|
{"label":"K03 (B0,C6)", "x":3, "y":0},
|
||||||
|
{"label":"K04 (B0,D5)", "x":4, "y":0},
|
||||||
|
{"label":"K05 (B0,C7)", "x":5, "y":0},
|
||||||
|
{"label":"K07 (B0,D7)", "x":6.5, "y":0},
|
||||||
|
{"label":"K08 (B0,B4)", "x":7.5, "y":0},
|
||||||
|
{"label":"K09 (B0,B5)", "x":8.5, "y":0},
|
||||||
|
{"label":"K0A (B0,B6)", "x":9.5, "y":0},
|
||||||
|
{"label":"K6A (F0,B6)", "x":11, "y":0},
|
||||||
|
{"label":"K69 (F0,B5)", "x":12, "y":0},
|
||||||
|
{"label":"K68 (F0,B4)", "x":13, "y":0},
|
||||||
|
{"label":"K67 (F0,D7)", "x":14, "y":0},
|
||||||
|
{"label":"K66 (F0,D4)", "x":15.25, "y":0},
|
||||||
|
{"label":"K65 (F0,C7)", "x":16.25, "y":0},
|
||||||
|
{"label":"K64 (F0,D5)", "x":17.25, "y":0},
|
||||||
|
{"label":"K10 (B1,D1)", "x":0, "y":1.5},
|
||||||
|
{"label":"K11 (B1,D2)", "x":1, "y":1.5},
|
||||||
|
{"label":"K12 (B1,D3)", "x":2, "y":1.5},
|
||||||
|
{"label":"K13 (B1,C6)", "x":3, "y":1.5},
|
||||||
|
{"label":"K14 (B1,D5)", "x":4, "y":1.5},
|
||||||
|
{"label":"K15 (B1,C7)", "x":5, "y":1.5},
|
||||||
|
{"label":"K16 (B1,D4)", "x":6, "y":1.5},
|
||||||
|
{"label":"K17 (B1,D7)", "x":7, "y":1.5},
|
||||||
|
{"label":"K18 (B1,B4)", "x":8, "y":1.5},
|
||||||
|
{"label":"K19 (B1,B5)", "x":9, "y":1.5},
|
||||||
|
{"label":"K1A (B1,B6)", "x":10, "y":1.5},
|
||||||
|
{"label":"K7A (F1,B6)", "x":11, "y":1.5},
|
||||||
|
{"label":"K79 (F1,B5)", "x":12, "y":1.5},
|
||||||
|
{"label":"K78 (F1,B4)", "x":13, "y":1.5, "w":2},
|
||||||
|
{"label":"K76 (F1,D4)", "x":15.25, "y":1.5},
|
||||||
|
{"label":"K75 (F1,C7)", "x":16.25, "y":1.5},
|
||||||
|
{"label":"K74 (F1,D5)", "x":17.25, "y":1.5},
|
||||||
|
{"label":"K73 (F1,C6)", "x":18.5, "y":1.5},
|
||||||
|
{"label":"K72 (F1,D3)", "x":19.5, "y":1.5},
|
||||||
|
{"label":"K71 (F1,D2)", "x":20.5, "y":1.5},
|
||||||
|
{"label":"K70 (F1,D1)", "x":21.5, "y":1.5},
|
||||||
|
{"label":"K20 (B2,D1)", "x":0, "y":2.5, "w":1.5},
|
||||||
|
{"label":"K21 (B2,D2)", "x":1.5, "y":2.5},
|
||||||
|
{"label":"K22 (B2,D3)", "x":2.5, "y":2.5},
|
||||||
|
{"label":"K23 (B2,C6)", "x":3.5, "y":2.5},
|
||||||
|
{"label":"K24 (B2,D5)", "x":4.5, "y":2.5},
|
||||||
|
{"label":"K25 (B2,C7)", "x":5.5, "y":2.5},
|
||||||
|
{"label":"K26 (B2,D4)", "x":6.5, "y":2.5},
|
||||||
|
{"label":"K27 (B2,D7)", "x":7.5, "y":2.5},
|
||||||
|
{"label":"K28 (B2,B4)", "x":8.5, "y":2.5},
|
||||||
|
{"label":"K29 (B2,B5)", "x":9.5, "y":2.5},
|
||||||
|
{"label":"K2A (B2,B6)", "x":10.5, "y":2.5},
|
||||||
|
{"label":"K8A (F4,B6)", "x":11.5, "y":2.5},
|
||||||
|
{"label":"K89 (F4,B5)", "x":12.5, "y":2.5},
|
||||||
|
{"label":"K87 (F4,D7)", "x":13.5, "y":2.5, "w":1.5},
|
||||||
|
{"label":"K86 (F4,D4)", "x":15.25, "y":2.5},
|
||||||
|
{"label":"K85 (F4,C7)", "x":16.25, "y":2.5},
|
||||||
|
{"label":"K84 (F4,D5)", "x":17.25, "y":2.5},
|
||||||
|
{"label":"K83 (F4,C6)", "x":18.5, "y":2.5},
|
||||||
|
{"label":"K82 (F4,D3)", "x":19.5, "y":2.5},
|
||||||
|
{"label":"K81 (F4,D2)", "x":20.5, "y":2.5},
|
||||||
|
{"label":"K90 (F5,D1)", "x":21.5, "y":2.5, "h":2},
|
||||||
|
{"label":"K30 (B3,D1)", "x":0, "y":3.5, "w":1.75},
|
||||||
|
{"label":"K31 (B3,D2)", "x":1.75, "y":3.5},
|
||||||
|
{"label":"K32 (B3,D3)", "x":2.75, "y":3.5},
|
||||||
|
{"label":"K33 (B3,C6)", "x":3.75, "y":3.5},
|
||||||
|
{"label":"K34 (B3,D5)", "x":4.75, "y":3.5},
|
||||||
|
{"label":"K35 (B3,C7)", "x":5.75, "y":3.5},
|
||||||
|
{"label":"K36 (B3,D4)", "x":6.75, "y":3.5},
|
||||||
|
{"label":"K37 (B3,D7)", "x":7.75, "y":3.5},
|
||||||
|
{"label":"K38 (B3,B4)", "x":8.75, "y":3.5},
|
||||||
|
{"label":"K39 (B3,B5)", "x":9.75, "y":3.5},
|
||||||
|
{"label":"K3A (B3,B6)", "x":10.75, "y":3.5},
|
||||||
|
{"label":"K9A (F5,B6)", "x":11.75, "y":3.5},
|
||||||
|
{"label":"K98 (F5,B4)", "x":12.75, "y":3.5, "w":2.25},
|
||||||
|
{"label":"K93 (F5,C6)", "x":18.5, "y":3.5},
|
||||||
|
{"label":"K92 (F5,D3)", "x":19.5, "y":3.5},
|
||||||
|
{"label":"K91 (F5,D2)", "x":20.5, "y":3.5},
|
||||||
|
{"label":"K40 (B7,D1)", "x":0, "y":4.5, "w":2.25},
|
||||||
|
{"label":"K42 (B7,D3)", "x":2.25, "y":4.5},
|
||||||
|
{"label":"K43 (B7,C6)", "x":3.25, "y":4.5},
|
||||||
|
{"label":"K44 (B7,D5)", "x":4.25, "y":4.5},
|
||||||
|
{"label":"K45 (B7,C7)", "x":5.25, "y":4.5},
|
||||||
|
{"label":"K46 (B7,D4)", "x":6.25, "y":4.5},
|
||||||
|
{"label":"K47 (B7,D7)", "x":7.25, "y":4.5},
|
||||||
|
{"label":"K48 (B7,B4)", "x":8.25, "y":4.5},
|
||||||
|
{"label":"K49 (B7,B5)", "x":9.25, "y":4.5},
|
||||||
|
{"label":"K4A (B7,B6)", "x":10.25, "y":4.5},
|
||||||
|
{"label":"KAA (F6,B6)", "x":11.25, "y":4.5},
|
||||||
|
{"label":"KA8 (F6,B4)", "x":12.25, "y":4.5, "w":2.75},
|
||||||
|
{"label":"KA5 (F6,C7)", "x":16.25, "y":4.5},
|
||||||
|
{"label":"KA3 (F6,C6)", "x":18.5, "y":4.5},
|
||||||
|
{"label":"KA2 (F6,D3)", "x":19.5, "y":4.5},
|
||||||
|
{"label":"KA1 (F6,D2)", "x":20.5, "y":4.5},
|
||||||
|
{"label":"KB0 (F7,D1)", "x":21.5, "y":4.5, "h":2},
|
||||||
|
{"label":"K50 (D0,D1)", "x":0, "y":5.5, "w":1.25},
|
||||||
|
{"label":"K51 (D0,D2)", "x":1.25, "y":5.5, "w":1.25},
|
||||||
|
{"label":"K53 (D0,C6)", "x":2.5, "y":5.5, "w":1.25},
|
||||||
|
{"label":"K56 (D0,D4)", "x":3.75, "y":5.5, "w":6.25},
|
||||||
|
{"label":"K5A (D0,B6)", "x":10, "y":5.5, "w":1.25},
|
||||||
|
{"label":"KBA (F7,B6)", "x":11.25, "y":5.5, "w":1.25},
|
||||||
|
{"label":"KB9 (F7,B5)", "x":12.5, "y":5.5, "w":1.25},
|
||||||
|
{"label":"KB7 (F7,D7)", "x":13.75, "y":5.5, "w":1.25},
|
||||||
|
{"label":"KB6 (F7,D4)", "x":15.25, "y":5.5},
|
||||||
|
{"label":"KB5 (F7,C7)", "x":16.25, "y":5.5},
|
||||||
|
{"label":"KB4 (F7,D5)", "x":17.25, "y":5.5},
|
||||||
|
{"label":"KB3 (F7,C6)", "x":18.5, "y":5.5, "w":2},
|
||||||
|
{"label":"KB1 (F7,D2)", "x":20.5, "y":5.5}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
/* Copyright 2020 boss566y
|
||||||
|
*
|
||||||
|
* 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_fullsize_ansi(
|
||||||
|
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_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||||
|
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_P7, KC_P8, KC_P9, KC_PPLS,
|
||||||
|
XXXXXXX, 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_P4, KC_P5, KC_P6,
|
||||||
|
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_P1, KC_P2, KC_P3, KC_PENT,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), RGUI_T(KC_APP), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||||
|
),
|
||||||
|
[1] = LAYOUT_fullsize_ansi(
|
||||||
|
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, C(KC_HOME), _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
KC_CAPS, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
[2] = LAYOUT_fullsize_ansi(
|
||||||
|
RESET, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
# Default Layout
|
||||||
|
|
||||||
|
Keymap is basic 104 qwerty layout with:
|
||||||
|
|
||||||
|
* Caps Lock moved to Layer 1 leaving blank key on Base Layer
|
||||||
|
* Menu Key changed to mod tap for Menu and Windows Keys
|
||||||
|
* RAlt changed to M(1). Media playback on A to F, volume keys on X to V, and Delete on Backspace
|
||||||
|
* FN is M(2). Arrow keys on HJKL, media keys on F6 to F12, and RCtrl+Home on Home.
|
||||||
|
* Both M(1) and M(2) have Reset on Escape
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020 boss566y
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
|
||||||
|
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
/* Copyright 2020 boss566y
|
||||||
|
*
|
||||||
|
* 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_fullsize_ansi(
|
||||||
|
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_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||||
|
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_P7, KC_P8, KC_P9, KC_PPLS,
|
||||||
|
XXXXXXX, 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_P4, KC_P5, KC_P6,
|
||||||
|
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_P1, KC_P2, KC_P3, KC_PENT,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), KC_RGUI, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
|
||||||
|
),
|
||||||
|
[1] = LAYOUT_fullsize_ansi(
|
||||||
|
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
KC_CAPS, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
[2] = LAYOUT_fullsize_ansi(
|
||||||
|
RESET, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
};
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
# Default Layout
|
||||||
|
|
||||||
|
Keymap is basic 104 qwerty layout with:
|
||||||
|
|
||||||
|
* Caps Lock moved to Layer 1 leaving blank key on Base Layer
|
||||||
|
* Menu Key changed to mod tap for Menu and Windows Keys
|
||||||
|
* RAlt changed to M(1). Media playback on A to F, volume keys on X to V, and Delete on Backspace
|
||||||
|
* FN is M(2). Arrow keys on HJKL, media keys on F6 to F12, and RCtrl+Home on Home.
|
||||||
|
* Both M(1) and M(2) have Reset on Escape
|
||||||
|
* VIA Enabled [VIA JSON File](https://github.com/boss566y/keyboards/blob/boss566y/src/boss566y/handwired/redragon_vara.json)
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
# Handwired Redragon Vara
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
A handwired Redragon Vara. Built using a teensy 2.0 and has a 12x11 matrix
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [boss566y](https://github.com/boss566y)
|
||||||
|
* Hardware: Redragon Vara and Teensy 2.0
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make handwired/boss566y/redragon_vara: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,16 @@
|
|||||||
|
/* Copyright 2020 boss566y
|
||||||
|
*
|
||||||
|
* 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 "redragon_vara.h"
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
/* Copyright 2020 boss566y
|
||||||
|
*
|
||||||
|
* 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"
|
||||||
|
|
||||||
|
#define LAYOUT_fullsize_ansi( \
|
||||||
|
K00, K02, K03, K04, K05, K07, K08, K09, K0A, K6A, K69, K68, K67, K66, K65, K64, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K7A, K79, K78, K76, K75, K74, K73, K72, K71, K70, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K8A, K89, K87, K86, K85, K84, K83, K82, K81, K90, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K9A, K98, K93, K92, K91, \
|
||||||
|
K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, KAA, KA8, KA5, KA3, KA2, KA1, KB0, \
|
||||||
|
K50, K51, K53, K56, K5A, KBA, KB9, KB7, KB6, KB5, KB4, KB3, KB1 \
|
||||||
|
) { \
|
||||||
|
{ K00, KC_NO, K02, K03, K04, K05, KC_NO, K07, K08, K09, K0A }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A }, \
|
||||||
|
{ K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A }, \
|
||||||
|
{ K50, K51, KC_NO, K53, KC_NO, KC_NO, K56, KC_NO, KC_NO, KC_NO, K5A }, \
|
||||||
|
{ KC_NO, KC_NO, KC_NO, KC_NO, K64, K65, K66, K67, K68, K69, K6A }, \
|
||||||
|
{ K70, K71, K72, K73, K74, K75, K76, KC_NO, K78, K79, K7A }, \
|
||||||
|
{ KC_NO, K81, K82, K83, K84, K85, K86, K87, KC_NO, K89, K8A }, \
|
||||||
|
{ K90, K91, K92, K93, KC_NO, KC_NO, KC_NO, KC_NO, K98, KC_NO, K9A }, \
|
||||||
|
{ KC_NO, KA1, KA2, KA3, KC_NO, KA5, KC_NO, KC_NO, KA8, KC_NO, KAA }, \
|
||||||
|
{ KB0, KB1, KC_NO, KB3, KB4, KB5, KB6, KB7, KC_NO, KB9, KBA }, \
|
||||||
|
}
|
||||||
|
|
||||||
|
// generated by KBFirmware JSON to QMK Parser
|
||||||
|
// https://noroadsleft.github.io/kbf_qmk_converter/
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
# 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 = halfkay
|
||||||
|
|
||||||
|
# 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 = 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 = no # 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
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
|
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||||
|
|
||||||
|
LAYOUTS = fullsize_ansi
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_LGUI, KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, RGUI_T(KC_RBRC),
|
||||||
|
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, RCTL_T(KC_QUOT),
|
||||||
|
KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RALT_T(KC_BSLS),
|
||||||
|
LT(2, KC_TAB), LSFT_T(KC_SPC), LT(1, KC_ENT), LT(1, KC_ESC), RSFT_T(KC_BSPC), LT(2, KC_DEL)
|
||||||
|
),
|
||||||
|
[1] = LAYOUT(
|
||||||
|
_______, KC_UNDS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, RGUI_T(KC_F12),
|
||||||
|
LCTL_T(KC_EQL), KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, RCTL_T(KC_MINS),
|
||||||
|
LALT_T(KC_PPLS), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||||
|
LT(3, KC_TAB), _______, _______, _______, _______, LT(3, KC_DEL)
|
||||||
|
),
|
||||||
|
[2] = LAYOUT(
|
||||||
|
_______, KC_NLCK, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_VOLU, KC_HOME, KC_PSCR, KC_PGUP, KC_SLCK, KC_CAPS, _______,
|
||||||
|
LCTL_T(KC_EQL), KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_MUTE, KC_LEFT, KC_UP, KC_RGHT, KC_INS, RCTL_T(KC_APP),
|
||||||
|
_______, KC_P0, KC_P1, KC_P2, KC_P3, KC_PCMM, KC_VOLD, KC_END, KC_DOWN, KC_PGDN, KC_PAUS, _______,
|
||||||
|
_______, _______, LT(3, KC_ENT), LT(3, KC_ESC), _______, _______
|
||||||
|
),
|
||||||
|
[3] = LAYOUT_symmetric(
|
||||||
|
RESET, DEBUG, XXXXXXX, BL_INC, RGB_VAI, RGB_HUD, RGB_HUI,
|
||||||
|
XXXXXXX, XXXXXXX, BL_DEC, RGB_VAD, RGB_SAD, RGB_SAI,
|
||||||
|
XXXXXXX, BL_BRTG, BL_TOGG, RGB_TOG, RGB_RMOD,RGB_MOD,
|
||||||
|
_______, SH_TG, _______
|
||||||
|
)
|
||||||
|
};
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
SWAP_HANDS_ENABLE = yes
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
VIA_ENABLE = yes
|
||||||
@@ -41,6 +41,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
/* Set 0 if debouncing isn't needed */
|
/* Set 0 if debouncing isn't needed */
|
||||||
#define DEBOUNCE 5
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
#define QMK_ESC_OUTPUT D3
|
||||||
|
#define QMK_ESC_INPUT B1
|
||||||
|
|
||||||
#define PHYSICAL_LEDS_ENABLE
|
#define PHYSICAL_LEDS_ENABLE
|
||||||
|
|
||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_ENABLE
|
||||||
|
|||||||
@@ -47,6 +47,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
/* Set 0 if debouncing isn't needed */
|
/* Set 0 if debouncing isn't needed */
|
||||||
#define DEBOUNCE 5
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
#define QMK_ESC_OUTPUT D3
|
||||||
|
#define QMK_ESC_INPUT B1
|
||||||
|
|
||||||
#define PHYSICAL_LEDS_ENABLE
|
#define PHYSICAL_LEDS_ENABLE
|
||||||
#define IOS_DEVICE_ENABLE
|
#define IOS_DEVICE_ENABLE
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
DEFAULT_FOLDER = jian/rev2
|
DEFAULT_FOLDER = jian/rev2
|
||||||
|
LTO_ENABLE = yes
|
||||||
@@ -17,8 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
#define VENDOR_ID 0xFEED
|
#define VENDOR_ID 0x4B48 //KH for Keyhive
|
||||||
#define PRODUCT_ID 0x6060
|
#define PRODUCT_ID 0x4D50 // MP
|
||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0001
|
||||||
#define MANUFACTURER KeyHive
|
#define MANUFACTURER KeyHive
|
||||||
#define PRODUCT maypad
|
#define PRODUCT maypad
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
/* Copyright 2019 codybender
|
||||||
|
*
|
||||||
|
* 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] = {
|
||||||
|
LAYOUT_ortho_5x4(
|
||||||
|
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||||
|
KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||||
|
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||||
|
KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||||
|
KC_P0, KC_P0, KC_PDOT, KC_PENT
|
||||||
|
)
|
||||||
|
};
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# VIA Support for Maypad
|
||||||
|
|
||||||
|
This adds [VIA](https://caniusevia.com/) support for the Keyhive Maypad.
|
||||||
|
|
||||||
|
Please note that this is a keymap for the Ortho_5x4 layout.
|
||||||
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
||||||
@@ -20,8 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
#define VENDOR_ID 0xB00B
|
#define VENDOR_ID 0x434B // "CK"
|
||||||
#define PRODUCT_ID 0x0000
|
#define PRODUCT_ID 0x4E49 // "NI"
|
||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0001
|
||||||
#define MANUFACTURER cfbender
|
#define MANUFACTURER cfbender
|
||||||
#define PRODUCT nightmare
|
#define PRODUCT nightmare
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
/* Copyright 2019 cfbender
|
||||||
|
*
|
||||||
|
* 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_split(/* Base */
|
||||||
|
KC_HOME, KC_GESC, 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_BSPC,
|
||||||
|
KC_END, LCTL_T(KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOTE, KC_ENTER,
|
||||||
|
KC_PGUP, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
|
||||||
|
KC_PGDN, KC_LGUI, KC_LALT, KC_LALT, KC_SPACE, KC_SPACE, KC_RGUI, KC_RCTL, MO(2)),
|
||||||
|
|
||||||
|
[1] = LAYOUT_split(
|
||||||
|
_______, _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_DEL,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
|
|
||||||
|
[2] = LAYOUT_split(
|
||||||
|
_______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_UP, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
|
|
||||||
|
[3] = LAYOUT_split(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
|
};
|
||||||
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# The default keymap for nightmare
|
||||||
|
|
||||||
|

|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
||||||
+630
-3
@@ -6,7 +6,6 @@
|
|||||||
"height": 5,
|
"height": 5,
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT_all": {
|
"LAYOUT_all": {
|
||||||
"key_count": 69,
|
|
||||||
"layout": [
|
"layout": [
|
||||||
{"label":"Esc", "x":0, "y":0},
|
{"label":"Esc", "x":0, "y":0},
|
||||||
{"label":"1", "x":1, "y":0},
|
{"label":"1", "x":1, "y":0},
|
||||||
@@ -80,7 +79,6 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"LAYOUT_60_ansi": {
|
"LAYOUT_60_ansi": {
|
||||||
"key_count": 61,
|
|
||||||
"layout": [
|
"layout": [
|
||||||
{"x":0, "y":0},
|
{"x":0, "y":0},
|
||||||
{"x":1, "y":0},
|
{"x":1, "y":0},
|
||||||
@@ -145,8 +143,354 @@
|
|||||||
{"x":13.75, "y":4, "w":1.25}
|
{"x":13.75, "y":4, "w":1.25}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"LAYOUT_60_ansi_split_bs": {
|
||||||
|
"layout": [
|
||||||
|
{"x":0, "y":0},
|
||||||
|
{"x":1, "y":0},
|
||||||
|
{"x":2, "y":0},
|
||||||
|
{"x":3, "y":0},
|
||||||
|
{"x":4, "y":0},
|
||||||
|
{"x":5, "y":0},
|
||||||
|
{"x":6, "y":0},
|
||||||
|
{"x":7, "y":0},
|
||||||
|
{"x":8, "y":0},
|
||||||
|
{"x":9, "y":0},
|
||||||
|
{"x":10, "y":0},
|
||||||
|
{"x":11, "y":0},
|
||||||
|
{"x":12, "y":0},
|
||||||
|
{"x":13, "y":0},
|
||||||
|
{"x":14, "y":0},
|
||||||
|
|
||||||
|
{"x":0, "y":1, "w":1.5},
|
||||||
|
{"x":1.5, "y":1},
|
||||||
|
{"x":2.5, "y":1},
|
||||||
|
{"x":3.5, "y":1},
|
||||||
|
{"x":4.5, "y":1},
|
||||||
|
{"x":5.5, "y":1},
|
||||||
|
{"x":6.5, "y":1},
|
||||||
|
{"x":7.5, "y":1},
|
||||||
|
{"x":8.5, "y":1},
|
||||||
|
{"x":9.5, "y":1},
|
||||||
|
{"x":10.5, "y":1},
|
||||||
|
{"x":11.5, "y":1},
|
||||||
|
{"x":12.5, "y":1},
|
||||||
|
{"x":13.5, "y":1, "w":1.5},
|
||||||
|
|
||||||
|
{"x":0, "y":2, "w":1.75},
|
||||||
|
{"x":1.75, "y":2},
|
||||||
|
{"x":2.75, "y":2},
|
||||||
|
{"x":3.75, "y":2},
|
||||||
|
{"x":4.75, "y":2},
|
||||||
|
{"x":5.75, "y":2},
|
||||||
|
{"x":6.75, "y":2},
|
||||||
|
{"x":7.75, "y":2},
|
||||||
|
{"x":8.75, "y":2},
|
||||||
|
{"x":9.75, "y":2},
|
||||||
|
{"x":10.75, "y":2},
|
||||||
|
{"x":11.75, "y":2},
|
||||||
|
{"x":12.75, "y":2, "w":2.25},
|
||||||
|
|
||||||
|
{"x":0, "y":3, "w":2.25},
|
||||||
|
{"x":2.25, "y":3},
|
||||||
|
{"x":3.25, "y":3},
|
||||||
|
{"x":4.25, "y":3},
|
||||||
|
{"x":5.25, "y":3},
|
||||||
|
{"x":6.25, "y":3},
|
||||||
|
{"x":7.25, "y":3},
|
||||||
|
{"x":8.25, "y":3},
|
||||||
|
{"x":9.25, "y":3},
|
||||||
|
{"x":10.25, "y":3},
|
||||||
|
{"x":11.25, "y":3},
|
||||||
|
{"x":12.25, "y":3, "w":2.75},
|
||||||
|
|
||||||
|
{"x":0, "y":4, "w":1.25},
|
||||||
|
{"x":1.25, "y":4, "w":1.25},
|
||||||
|
{"x":2.5, "y":4, "w":1.25},
|
||||||
|
{"x":3.75, "y":4, "w":6.25},
|
||||||
|
{"x":10, "y":4, "w":1.25},
|
||||||
|
{"x":11.25, "y":4, "w":1.25},
|
||||||
|
{"x":12.5, "y":4, "w":1.25},
|
||||||
|
{"x":13.75, "y":4, "w":1.25}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_ansi_split_bs_rshift": {
|
||||||
|
"layout": [
|
||||||
|
{"x":0, "y":0},
|
||||||
|
{"x":1, "y":0},
|
||||||
|
{"x":2, "y":0},
|
||||||
|
{"x":3, "y":0},
|
||||||
|
{"x":4, "y":0},
|
||||||
|
{"x":5, "y":0},
|
||||||
|
{"x":6, "y":0},
|
||||||
|
{"x":7, "y":0},
|
||||||
|
{"x":8, "y":0},
|
||||||
|
{"x":9, "y":0},
|
||||||
|
{"x":10, "y":0},
|
||||||
|
{"x":11, "y":0},
|
||||||
|
{"x":12, "y":0},
|
||||||
|
{"x":13, "y":0},
|
||||||
|
{"x":14, "y":0},
|
||||||
|
|
||||||
|
{"x":0, "y":1, "w":1.5},
|
||||||
|
{"x":1.5, "y":1},
|
||||||
|
{"x":2.5, "y":1},
|
||||||
|
{"x":3.5, "y":1},
|
||||||
|
{"x":4.5, "y":1},
|
||||||
|
{"x":5.5, "y":1},
|
||||||
|
{"x":6.5, "y":1},
|
||||||
|
{"x":7.5, "y":1},
|
||||||
|
{"x":8.5, "y":1},
|
||||||
|
{"x":9.5, "y":1},
|
||||||
|
{"x":10.5, "y":1},
|
||||||
|
{"x":11.5, "y":1},
|
||||||
|
{"x":12.5, "y":1},
|
||||||
|
{"x":13.5, "y":1, "w":1.5},
|
||||||
|
|
||||||
|
{"x":0, "y":2, "w":1.75},
|
||||||
|
{"x":1.75, "y":2},
|
||||||
|
{"x":2.75, "y":2},
|
||||||
|
{"x":3.75, "y":2},
|
||||||
|
{"x":4.75, "y":2},
|
||||||
|
{"x":5.75, "y":2},
|
||||||
|
{"x":6.75, "y":2},
|
||||||
|
{"x":7.75, "y":2},
|
||||||
|
{"x":8.75, "y":2},
|
||||||
|
{"x":9.75, "y":2},
|
||||||
|
{"x":10.75, "y":2},
|
||||||
|
{"x":11.75, "y":2},
|
||||||
|
{"x":12.75, "y":2, "w":2.25},
|
||||||
|
|
||||||
|
{"x":0, "y":3, "w":2.25},
|
||||||
|
{"x":2.25, "y":3},
|
||||||
|
{"x":3.25, "y":3},
|
||||||
|
{"x":4.25, "y":3},
|
||||||
|
{"x":5.25, "y":3},
|
||||||
|
{"x":6.25, "y":3},
|
||||||
|
{"x":7.25, "y":3},
|
||||||
|
{"x":8.25, "y":3},
|
||||||
|
{"x":9.25, "y":3},
|
||||||
|
{"x":10.25, "y":3},
|
||||||
|
{"x":11.25, "y":3},
|
||||||
|
{"x":12.25, "y":3, "w":1.75},
|
||||||
|
{"x":14, "y":3},
|
||||||
|
|
||||||
|
{"x":0, "y":4, "w":1.25},
|
||||||
|
{"x":1.25, "y":4, "w":1.25},
|
||||||
|
{"x":2.5, "y":4, "w":1.25},
|
||||||
|
{"x":3.75, "y":4, "w":6.25},
|
||||||
|
{"x":10, "y":4, "w":1.25},
|
||||||
|
{"x":11.25, "y":4, "w":1.25},
|
||||||
|
{"x":12.5, "y":4, "w":1.25},
|
||||||
|
{"x":13.75, "y":4, "w":1.25}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_ansi_split_rshift": {
|
||||||
|
"layout": [
|
||||||
|
{"x":0, "y":0},
|
||||||
|
{"x":1, "y":0},
|
||||||
|
{"x":2, "y":0},
|
||||||
|
{"x":3, "y":0},
|
||||||
|
{"x":4, "y":0},
|
||||||
|
{"x":5, "y":0},
|
||||||
|
{"x":6, "y":0},
|
||||||
|
{"x":7, "y":0},
|
||||||
|
{"x":8, "y":0},
|
||||||
|
{"x":9, "y":0},
|
||||||
|
{"x":10, "y":0},
|
||||||
|
{"x":11, "y":0},
|
||||||
|
{"x":12, "y":0},
|
||||||
|
{"x":13, "y":0, "w":2},
|
||||||
|
|
||||||
|
{"x":0, "y":1, "w":1.5},
|
||||||
|
{"x":1.5, "y":1},
|
||||||
|
{"x":2.5, "y":1},
|
||||||
|
{"x":3.5, "y":1},
|
||||||
|
{"x":4.5, "y":1},
|
||||||
|
{"x":5.5, "y":1},
|
||||||
|
{"x":6.5, "y":1},
|
||||||
|
{"x":7.5, "y":1},
|
||||||
|
{"x":8.5, "y":1},
|
||||||
|
{"x":9.5, "y":1},
|
||||||
|
{"x":10.5, "y":1},
|
||||||
|
{"x":11.5, "y":1},
|
||||||
|
{"x":12.5, "y":1},
|
||||||
|
{"x":13.5, "y":1, "w":1.5},
|
||||||
|
|
||||||
|
{"x":0, "y":2, "w":1.75},
|
||||||
|
{"x":1.75, "y":2},
|
||||||
|
{"x":2.75, "y":2},
|
||||||
|
{"x":3.75, "y":2},
|
||||||
|
{"x":4.75, "y":2},
|
||||||
|
{"x":5.75, "y":2},
|
||||||
|
{"x":6.75, "y":2},
|
||||||
|
{"x":7.75, "y":2},
|
||||||
|
{"x":8.75, "y":2},
|
||||||
|
{"x":9.75, "y":2},
|
||||||
|
{"x":10.75, "y":2},
|
||||||
|
{"x":11.75, "y":2},
|
||||||
|
{"x":12.75, "y":2, "w":2.25},
|
||||||
|
|
||||||
|
{"x":0, "y":3, "w":2.25},
|
||||||
|
{"x":2.25, "y":3},
|
||||||
|
{"x":3.25, "y":3},
|
||||||
|
{"x":4.25, "y":3},
|
||||||
|
{"x":5.25, "y":3},
|
||||||
|
{"x":6.25, "y":3},
|
||||||
|
{"x":7.25, "y":3},
|
||||||
|
{"x":8.25, "y":3},
|
||||||
|
{"x":9.25, "y":3},
|
||||||
|
{"x":10.25, "y":3},
|
||||||
|
{"x":11.25, "y":3},
|
||||||
|
{"x":12.25, "y":3, "w":1.75},
|
||||||
|
{"x":14, "y":3},
|
||||||
|
|
||||||
|
{"x":0, "y":4, "w":1.25},
|
||||||
|
{"x":1.25, "y":4, "w":1.25},
|
||||||
|
{"x":2.5, "y":4, "w":1.25},
|
||||||
|
{"x":3.75, "y":4, "w":6.25},
|
||||||
|
{"x":10, "y":4, "w":1.25},
|
||||||
|
{"x":11.25, "y":4, "w":1.25},
|
||||||
|
{"x":12.5, "y":4, "w":1.25},
|
||||||
|
{"x":13.75, "y":4, "w":1.25}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_ansi_tsangan": {
|
||||||
|
"layout": [
|
||||||
|
{"x":0, "y":0},
|
||||||
|
{"x":1, "y":0},
|
||||||
|
{"x":2, "y":0},
|
||||||
|
{"x":3, "y":0},
|
||||||
|
{"x":4, "y":0},
|
||||||
|
{"x":5, "y":0},
|
||||||
|
{"x":6, "y":0},
|
||||||
|
{"x":7, "y":0},
|
||||||
|
{"x":8, "y":0},
|
||||||
|
{"x":9, "y":0},
|
||||||
|
{"x":10, "y":0},
|
||||||
|
{"x":11, "y":0},
|
||||||
|
{"x":12, "y":0},
|
||||||
|
{"x":13, "y":0, "w":2},
|
||||||
|
|
||||||
|
{"x":0, "y":1, "w":1.5},
|
||||||
|
{"x":1.5, "y":1},
|
||||||
|
{"x":2.5, "y":1},
|
||||||
|
{"x":3.5, "y":1},
|
||||||
|
{"x":4.5, "y":1},
|
||||||
|
{"x":5.5, "y":1},
|
||||||
|
{"x":6.5, "y":1},
|
||||||
|
{"x":7.5, "y":1},
|
||||||
|
{"x":8.5, "y":1},
|
||||||
|
{"x":9.5, "y":1},
|
||||||
|
{"x":10.5, "y":1},
|
||||||
|
{"x":11.5, "y":1},
|
||||||
|
{"x":12.5, "y":1},
|
||||||
|
{"x":13.5, "y":1, "w":1.5},
|
||||||
|
|
||||||
|
{"x":0, "y":2, "w":1.75},
|
||||||
|
{"x":1.75, "y":2},
|
||||||
|
{"x":2.75, "y":2},
|
||||||
|
{"x":3.75, "y":2},
|
||||||
|
{"x":4.75, "y":2},
|
||||||
|
{"x":5.75, "y":2},
|
||||||
|
{"x":6.75, "y":2},
|
||||||
|
{"x":7.75, "y":2},
|
||||||
|
{"x":8.75, "y":2},
|
||||||
|
{"x":9.75, "y":2},
|
||||||
|
{"x":10.75, "y":2},
|
||||||
|
{"x":11.75, "y":2},
|
||||||
|
{"x":12.75, "y":2, "w":2.25},
|
||||||
|
|
||||||
|
{"x":0, "y":3, "w":2.25},
|
||||||
|
{"x":2.25, "y":3},
|
||||||
|
{"x":3.25, "y":3},
|
||||||
|
{"x":4.25, "y":3},
|
||||||
|
{"x":5.25, "y":3},
|
||||||
|
{"x":6.25, "y":3},
|
||||||
|
{"x":7.25, "y":3},
|
||||||
|
{"x":8.25, "y":3},
|
||||||
|
{"x":9.25, "y":3},
|
||||||
|
{"x":10.25, "y":3},
|
||||||
|
{"x":11.25, "y":3},
|
||||||
|
{"x":12.25, "y":3, "w":2.75},
|
||||||
|
|
||||||
|
{"x":0, "y":4, "w":1.5},
|
||||||
|
{"x":1.5, "y":4},
|
||||||
|
{"x":2.5, "y":4, "w":1.5},
|
||||||
|
{"x":4, "y":4, "w":7},
|
||||||
|
{"x":11, "y":4, "w":1.5},
|
||||||
|
{"x":12.5, "y":4},
|
||||||
|
{"x":13.5, "y":4, "w":1.5}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_hhkb": {
|
||||||
|
"layout": [
|
||||||
|
{"x":0, "y":0},
|
||||||
|
{"x":1, "y":0},
|
||||||
|
{"x":2, "y":0},
|
||||||
|
{"x":3, "y":0},
|
||||||
|
{"x":4, "y":0},
|
||||||
|
{"x":5, "y":0},
|
||||||
|
{"x":6, "y":0},
|
||||||
|
{"x":7, "y":0},
|
||||||
|
{"x":8, "y":0},
|
||||||
|
{"x":9, "y":0},
|
||||||
|
{"x":10, "y":0},
|
||||||
|
{"x":11, "y":0},
|
||||||
|
{"x":12, "y":0},
|
||||||
|
{"x":13, "y":0},
|
||||||
|
{"x":14, "y":0},
|
||||||
|
|
||||||
|
{"x":0, "y":1, "w":1.5},
|
||||||
|
{"x":1.5, "y":1},
|
||||||
|
{"x":2.5, "y":1},
|
||||||
|
{"x":3.5, "y":1},
|
||||||
|
{"x":4.5, "y":1},
|
||||||
|
{"x":5.5, "y":1},
|
||||||
|
{"x":6.5, "y":1},
|
||||||
|
{"x":7.5, "y":1},
|
||||||
|
{"x":8.5, "y":1},
|
||||||
|
{"x":9.5, "y":1},
|
||||||
|
{"x":10.5, "y":1},
|
||||||
|
{"x":11.5, "y":1},
|
||||||
|
{"x":12.5, "y":1},
|
||||||
|
{"x":13.5, "y":1, "w":1.5},
|
||||||
|
|
||||||
|
{"x":0, "y":2, "w":1.75},
|
||||||
|
{"x":1.75, "y":2},
|
||||||
|
{"x":2.75, "y":2},
|
||||||
|
{"x":3.75, "y":2},
|
||||||
|
{"x":4.75, "y":2},
|
||||||
|
{"x":5.75, "y":2},
|
||||||
|
{"x":6.75, "y":2},
|
||||||
|
{"x":7.75, "y":2},
|
||||||
|
{"x":8.75, "y":2},
|
||||||
|
{"x":9.75, "y":2},
|
||||||
|
{"x":10.75, "y":2},
|
||||||
|
{"x":11.75, "y":2},
|
||||||
|
{"x":12.75, "y":2, "w":2.25},
|
||||||
|
|
||||||
|
{"x":0, "y":3, "w":2.25},
|
||||||
|
{"x":2.25, "y":3},
|
||||||
|
{"x":3.25, "y":3},
|
||||||
|
{"x":4.25, "y":3},
|
||||||
|
{"x":5.25, "y":3},
|
||||||
|
{"x":6.25, "y":3},
|
||||||
|
{"x":7.25, "y":3},
|
||||||
|
{"x":8.25, "y":3},
|
||||||
|
{"x":9.25, "y":3},
|
||||||
|
{"x":10.25, "y":3},
|
||||||
|
{"x":11.25, "y":3},
|
||||||
|
{"x":12.25, "y":3, "w":1.75},
|
||||||
|
{"x":14, "y":3},
|
||||||
|
|
||||||
|
{"x":1.5, "y":4},
|
||||||
|
{"x":2.5, "y":4, "w":1.5},
|
||||||
|
{"x":4, "y":4, "w":7},
|
||||||
|
{"x":11, "y":4, "w":1.5},
|
||||||
|
{"x":12.5, "y":4}
|
||||||
|
]
|
||||||
|
},
|
||||||
"LAYOUT_60_iso": {
|
"LAYOUT_60_iso": {
|
||||||
"key_count": 62,
|
|
||||||
"layout": [
|
"layout": [
|
||||||
{"x":0, "y":0},
|
{"x":0, "y":0},
|
||||||
{"x":1, "y":0},
|
{"x":1, "y":0},
|
||||||
@@ -215,6 +559,289 @@
|
|||||||
{"x":12.5, "y":4, "w":1.25},
|
{"x":12.5, "y":4, "w":1.25},
|
||||||
{"x":13.75, "y":4, "w":1.25}
|
{"x":13.75, "y":4, "w":1.25}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_iso_split_bs": {
|
||||||
|
"layout": [
|
||||||
|
{"x":0, "y":0},
|
||||||
|
{"x":1, "y":0},
|
||||||
|
{"x":2, "y":0},
|
||||||
|
{"x":3, "y":0},
|
||||||
|
{"x":4, "y":0},
|
||||||
|
{"x":5, "y":0},
|
||||||
|
{"x":6, "y":0},
|
||||||
|
{"x":7, "y":0},
|
||||||
|
{"x":8, "y":0},
|
||||||
|
{"x":9, "y":0},
|
||||||
|
{"x":10, "y":0},
|
||||||
|
{"x":11, "y":0},
|
||||||
|
{"x":12, "y":0},
|
||||||
|
{"x":13, "y":0},
|
||||||
|
{"x":14, "y":0},
|
||||||
|
|
||||||
|
{"x":0, "y":1, "w":1.5},
|
||||||
|
{"x":1.5, "y":1},
|
||||||
|
{"x":2.5, "y":1},
|
||||||
|
{"x":3.5, "y":1},
|
||||||
|
{"x":4.5, "y":1},
|
||||||
|
{"x":5.5, "y":1},
|
||||||
|
{"x":6.5, "y":1},
|
||||||
|
{"x":7.5, "y":1},
|
||||||
|
{"x":8.5, "y":1},
|
||||||
|
{"x":9.5, "y":1},
|
||||||
|
{"x":10.5, "y":1},
|
||||||
|
{"x":11.5, "y":1},
|
||||||
|
{"x":12.5, "y":1},
|
||||||
|
|
||||||
|
{"x":0, "y":2, "w":1.75},
|
||||||
|
{"x":1.75, "y":2},
|
||||||
|
{"x":2.75, "y":2},
|
||||||
|
{"x":3.75, "y":2},
|
||||||
|
{"x":4.75, "y":2},
|
||||||
|
{"x":5.75, "y":2},
|
||||||
|
{"x":6.75, "y":2},
|
||||||
|
{"x":7.75, "y":2},
|
||||||
|
{"x":8.75, "y":2},
|
||||||
|
{"x":9.75, "y":2},
|
||||||
|
{"x":10.75, "y":2},
|
||||||
|
{"x":11.75, "y":2},
|
||||||
|
{"x":12.75, "y":2},
|
||||||
|
{"x":13.75, "y":1, "w":1.25, "h":2},
|
||||||
|
|
||||||
|
{"x":0, "y":3, "w":1.25},
|
||||||
|
{"x":1.25, "y":3},
|
||||||
|
{"x":2.25, "y":3},
|
||||||
|
{"x":3.25, "y":3},
|
||||||
|
{"x":4.25, "y":3},
|
||||||
|
{"x":5.25, "y":3},
|
||||||
|
{"x":6.25, "y":3},
|
||||||
|
{"x":7.25, "y":3},
|
||||||
|
{"x":8.25, "y":3},
|
||||||
|
{"x":9.25, "y":3},
|
||||||
|
{"x":10.25, "y":3},
|
||||||
|
{"x":11.25, "y":3},
|
||||||
|
{"x":12.25, "y":3, "w":2.75},
|
||||||
|
|
||||||
|
{"x":0, "y":4, "w":1.25},
|
||||||
|
{"x":1.25, "y":4, "w":1.25},
|
||||||
|
{"x":2.5, "y":4, "w":1.25},
|
||||||
|
{"x":3.75, "y":4, "w":6.25},
|
||||||
|
{"x":10, "y":4, "w":1.25},
|
||||||
|
{"x":11.25, "y":4, "w":1.25},
|
||||||
|
{"x":12.5, "y":4, "w":1.25},
|
||||||
|
{"x":13.75, "y":4, "w":1.25}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_iso_split_bs_rshift": {
|
||||||
|
"layout": [
|
||||||
|
{"x":0, "y":0},
|
||||||
|
{"x":1, "y":0},
|
||||||
|
{"x":2, "y":0},
|
||||||
|
{"x":3, "y":0},
|
||||||
|
{"x":4, "y":0},
|
||||||
|
{"x":5, "y":0},
|
||||||
|
{"x":6, "y":0},
|
||||||
|
{"x":7, "y":0},
|
||||||
|
{"x":8, "y":0},
|
||||||
|
{"x":9, "y":0},
|
||||||
|
{"x":10, "y":0},
|
||||||
|
{"x":11, "y":0},
|
||||||
|
{"x":12, "y":0},
|
||||||
|
{"x":13, "y":0},
|
||||||
|
{"x":14, "y":0},
|
||||||
|
|
||||||
|
{"x":0, "y":1, "w":1.5},
|
||||||
|
{"x":1.5, "y":1},
|
||||||
|
{"x":2.5, "y":1},
|
||||||
|
{"x":3.5, "y":1},
|
||||||
|
{"x":4.5, "y":1},
|
||||||
|
{"x":5.5, "y":1},
|
||||||
|
{"x":6.5, "y":1},
|
||||||
|
{"x":7.5, "y":1},
|
||||||
|
{"x":8.5, "y":1},
|
||||||
|
{"x":9.5, "y":1},
|
||||||
|
{"x":10.5, "y":1},
|
||||||
|
{"x":11.5, "y":1},
|
||||||
|
{"x":12.5, "y":1},
|
||||||
|
|
||||||
|
{"x":0, "y":2, "w":1.75},
|
||||||
|
{"x":1.75, "y":2},
|
||||||
|
{"x":2.75, "y":2},
|
||||||
|
{"x":3.75, "y":2},
|
||||||
|
{"x":4.75, "y":2},
|
||||||
|
{"x":5.75, "y":2},
|
||||||
|
{"x":6.75, "y":2},
|
||||||
|
{"x":7.75, "y":2},
|
||||||
|
{"x":8.75, "y":2},
|
||||||
|
{"x":9.75, "y":2},
|
||||||
|
{"x":10.75, "y":2},
|
||||||
|
{"x":11.75, "y":2},
|
||||||
|
{"x":12.75, "y":2},
|
||||||
|
{"x":13.75, "y":1, "w":1.25, "h":2},
|
||||||
|
|
||||||
|
{"x":0, "y":3, "w":1.25},
|
||||||
|
{"x":1.25, "y":3},
|
||||||
|
{"x":2.25, "y":3},
|
||||||
|
{"x":3.25, "y":3},
|
||||||
|
{"x":4.25, "y":3},
|
||||||
|
{"x":5.25, "y":3},
|
||||||
|
{"x":6.25, "y":3},
|
||||||
|
{"x":7.25, "y":3},
|
||||||
|
{"x":8.25, "y":3},
|
||||||
|
{"x":9.25, "y":3},
|
||||||
|
{"x":10.25, "y":3},
|
||||||
|
{"x":11.25, "y":3},
|
||||||
|
{"x":12.25, "y":3, "w":1.75},
|
||||||
|
{"x":14, "y":3},
|
||||||
|
|
||||||
|
{"x":0, "y":4, "w":1.25},
|
||||||
|
{"x":1.25, "y":4, "w":1.25},
|
||||||
|
{"x":2.5, "y":4, "w":1.25},
|
||||||
|
{"x":3.75, "y":4, "w":6.25},
|
||||||
|
{"x":10, "y":4, "w":1.25},
|
||||||
|
{"x":11.25, "y":4, "w":1.25},
|
||||||
|
{"x":12.5, "y":4, "w":1.25},
|
||||||
|
{"x":13.75, "y":4, "w":1.25}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_iso_split_rshift": {
|
||||||
|
"layout": [
|
||||||
|
{"x":0, "y":0},
|
||||||
|
{"x":1, "y":0},
|
||||||
|
{"x":2, "y":0},
|
||||||
|
{"x":3, "y":0},
|
||||||
|
{"x":4, "y":0},
|
||||||
|
{"x":5, "y":0},
|
||||||
|
{"x":6, "y":0},
|
||||||
|
{"x":7, "y":0},
|
||||||
|
{"x":8, "y":0},
|
||||||
|
{"x":9, "y":0},
|
||||||
|
{"x":10, "y":0},
|
||||||
|
{"x":11, "y":0},
|
||||||
|
{"x":12, "y":0},
|
||||||
|
{"x":13, "y":0, "w":2},
|
||||||
|
|
||||||
|
{"x":0, "y":1, "w":1.5},
|
||||||
|
{"x":1.5, "y":1},
|
||||||
|
{"x":2.5, "y":1},
|
||||||
|
{"x":3.5, "y":1},
|
||||||
|
{"x":4.5, "y":1},
|
||||||
|
{"x":5.5, "y":1},
|
||||||
|
{"x":6.5, "y":1},
|
||||||
|
{"x":7.5, "y":1},
|
||||||
|
{"x":8.5, "y":1},
|
||||||
|
{"x":9.5, "y":1},
|
||||||
|
{"x":10.5, "y":1},
|
||||||
|
{"x":11.5, "y":1},
|
||||||
|
{"x":12.5, "y":1},
|
||||||
|
|
||||||
|
{"x":0, "y":2, "w":1.75},
|
||||||
|
{"x":1.75, "y":2},
|
||||||
|
{"x":2.75, "y":2},
|
||||||
|
{"x":3.75, "y":2},
|
||||||
|
{"x":4.75, "y":2},
|
||||||
|
{"x":5.75, "y":2},
|
||||||
|
{"x":6.75, "y":2},
|
||||||
|
{"x":7.75, "y":2},
|
||||||
|
{"x":8.75, "y":2},
|
||||||
|
{"x":9.75, "y":2},
|
||||||
|
{"x":10.75, "y":2},
|
||||||
|
{"x":11.75, "y":2},
|
||||||
|
{"x":12.75, "y":2},
|
||||||
|
{"x":13.75, "y":1, "w":1.25, "h":2},
|
||||||
|
|
||||||
|
{"x":0, "y":3, "w":1.25},
|
||||||
|
{"x":1.25, "y":3},
|
||||||
|
{"x":2.25, "y":3},
|
||||||
|
{"x":3.25, "y":3},
|
||||||
|
{"x":4.25, "y":3},
|
||||||
|
{"x":5.25, "y":3},
|
||||||
|
{"x":6.25, "y":3},
|
||||||
|
{"x":7.25, "y":3},
|
||||||
|
{"x":8.25, "y":3},
|
||||||
|
{"x":9.25, "y":3},
|
||||||
|
{"x":10.25, "y":3},
|
||||||
|
{"x":11.25, "y":3},
|
||||||
|
{"x":12.25, "y":3, "w":1.75},
|
||||||
|
{"x":14, "y":3},
|
||||||
|
|
||||||
|
{"x":0, "y":4, "w":1.25},
|
||||||
|
{"x":1.25, "y":4, "w":1.25},
|
||||||
|
{"x":2.5, "y":4, "w":1.25},
|
||||||
|
{"x":3.75, "y":4, "w":6.25},
|
||||||
|
{"x":10, "y":4, "w":1.25},
|
||||||
|
{"x":11.25, "y":4, "w":1.25},
|
||||||
|
{"x":12.5, "y":4, "w":1.25},
|
||||||
|
{"x":13.75, "y":4, "w":1.25}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_60_iso_tsangan": {
|
||||||
|
"layout": [
|
||||||
|
{"x":0, "y":0},
|
||||||
|
{"x":1, "y":0},
|
||||||
|
{"x":2, "y":0},
|
||||||
|
{"x":3, "y":0},
|
||||||
|
{"x":4, "y":0},
|
||||||
|
{"x":5, "y":0},
|
||||||
|
{"x":6, "y":0},
|
||||||
|
{"x":7, "y":0},
|
||||||
|
{"x":8, "y":0},
|
||||||
|
{"x":9, "y":0},
|
||||||
|
{"x":10, "y":0},
|
||||||
|
{"x":11, "y":0},
|
||||||
|
{"x":12, "y":0},
|
||||||
|
{"x":13, "y":0, "w":2},
|
||||||
|
|
||||||
|
{"x":0, "y":1, "w":1.5},
|
||||||
|
{"x":1.5, "y":1},
|
||||||
|
{"x":2.5, "y":1},
|
||||||
|
{"x":3.5, "y":1},
|
||||||
|
{"x":4.5, "y":1},
|
||||||
|
{"x":5.5, "y":1},
|
||||||
|
{"x":6.5, "y":1},
|
||||||
|
{"x":7.5, "y":1},
|
||||||
|
{"x":8.5, "y":1},
|
||||||
|
{"x":9.5, "y":1},
|
||||||
|
{"x":10.5, "y":1},
|
||||||
|
{"x":11.5, "y":1},
|
||||||
|
{"x":12.5, "y":1},
|
||||||
|
|
||||||
|
{"x":0, "y":2, "w":1.75},
|
||||||
|
{"x":1.75, "y":2},
|
||||||
|
{"x":2.75, "y":2},
|
||||||
|
{"x":3.75, "y":2},
|
||||||
|
{"x":4.75, "y":2},
|
||||||
|
{"x":5.75, "y":2},
|
||||||
|
{"x":6.75, "y":2},
|
||||||
|
{"x":7.75, "y":2},
|
||||||
|
{"x":8.75, "y":2},
|
||||||
|
{"x":9.75, "y":2},
|
||||||
|
{"x":10.75, "y":2},
|
||||||
|
{"x":11.75, "y":2},
|
||||||
|
{"x":12.75, "y":2},
|
||||||
|
{"x":13.75, "y":1, "w":1.25, "h":2},
|
||||||
|
|
||||||
|
{"x":0, "y":3, "w":1.25},
|
||||||
|
{"x":1.25, "y":3},
|
||||||
|
{"x":2.25, "y":3},
|
||||||
|
{"x":3.25, "y":3},
|
||||||
|
{"x":4.25, "y":3},
|
||||||
|
{"x":5.25, "y":3},
|
||||||
|
{"x":6.25, "y":3},
|
||||||
|
{"x":7.25, "y":3},
|
||||||
|
{"x":8.25, "y":3},
|
||||||
|
{"x":9.25, "y":3},
|
||||||
|
{"x":10.25, "y":3},
|
||||||
|
{"x":11.25, "y":3},
|
||||||
|
{"x":12.25, "y":3, "w":2.75},
|
||||||
|
|
||||||
|
{"x":0, "y":4, "w":1.5},
|
||||||
|
{"x":1.5, "y":4},
|
||||||
|
{"x":2.5, "y":4, "w":1.5},
|
||||||
|
{"x":4, "y":4, "w":7},
|
||||||
|
{"x":11, "y":4, "w":1.5},
|
||||||
|
{"x":12.5, "y":4},
|
||||||
|
{"x":13.5, "y":4, "w":1.5}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -31,6 +31,6 @@ 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
|
HD44780_ENABLE = no # Enable support for HD44780 based LCDs
|
||||||
|
|
||||||
LAYOUTS = 60_ansi 60_iso
|
LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 60_ansi_tsangan 60_hhkb 60_iso 60_iso_split_bs_rshift 60_iso_tsangan
|
||||||
|
|
||||||
DEFAULT_FOLDER = yd60mq/12led
|
DEFAULT_FOLDER = yd60mq/12led
|
||||||
+132
-7
@@ -30,19 +30,144 @@
|
|||||||
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, K49, K4A, KC_NO, K4C, K4D, KC_NO } \
|
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, K49, K4A, KC_NO, K4C, K4D, KC_NO } \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define LAYOUT_60_iso( \
|
#define LAYOUT_60_ansi_split_bs( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
|
||||||
|
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
|
||||||
|
K40, K41, K42, K47, K49, K4A, K4C, K4D \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO }, \
|
||||||
|
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, KC_NO }, \
|
||||||
|
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, K49, K4A, KC_NO, K4C, K4D, KC_NO } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_60_ansi_split_bs_rshift( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
|
||||||
|
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
|
||||||
|
K40, K41, K42, K47, K49, K4A, K4C, K4D \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO }, \
|
||||||
|
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E }, \
|
||||||
|
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, K49, K4A, KC_NO, K4C, K4D, KC_NO } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_60_ansi_split_rshift( \
|
||||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \
|
||||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1a, K1b, K1c, \
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b, K2c, K1d, \
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
|
||||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3a, K3b, K3d, \
|
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
|
||||||
K40, K41, K42, K47, K49, K4A, K4C, K4D \
|
K40, K41, K42, K47, K49, K4A, K4C, K4D \
|
||||||
) { \
|
) { \
|
||||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E }, \
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E }, \
|
||||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1a, K1b, K1c, KC_NO, }, \
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \
|
||||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2a, K2b, K2c, K1d }, \
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO }, \
|
||||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3a, K3b, KC_NO, K3d, KC_NO }, \
|
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E }, \
|
||||||
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, K49, K4A, KC_NO, K4C, K4D, KC_NO } \
|
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, K49, K4A, KC_NO, K4C, K4D, KC_NO } \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_60_ansi_tsangan( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
|
||||||
|
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
|
||||||
|
K40, K41, K42, K47, K4A, K4C, K4D \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO }, \
|
||||||
|
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, KC_NO }, \
|
||||||
|
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, KC_NO, K4C, K4D, KC_NO } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_60_hhkb( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
|
||||||
|
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
|
||||||
|
K41, K42, K47, K4A, K4C \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO }, \
|
||||||
|
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E }, \
|
||||||
|
{ KC_NO, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, KC_NO, K4C, KC_NO, KC_NO } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_60_iso( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
|
||||||
|
K40, K41, K42, K47, K49, K4A, K4C, K4D \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, KC_NO }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, KC_NO }, \
|
||||||
|
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, K49, K4A, KC_NO, K4C, K4D, KC_NO } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_60_iso_split_bs( \
|
||||||
|
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, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
|
||||||
|
K40, K41, K42, K47, K49, K4A, K4C, K4D \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, KC_NO }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, KC_NO }, \
|
||||||
|
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, K49, K4A, KC_NO, K4C, K4D, KC_NO } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_60_iso_split_bs_rshift( \
|
||||||
|
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, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
|
||||||
|
K40, K41, K42, K47, K49, K4A, K4C, K4D \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, KC_NO }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E }, \
|
||||||
|
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, K49, K4A, KC_NO, K4C, K4D, KC_NO } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_60_iso_split_rshift( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
|
||||||
|
K40, K41, K42, K47, K49, K4A, K4C, K4D \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, KC_NO }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E }, \
|
||||||
|
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, K49, K4A, KC_NO, K4C, K4D, KC_NO } \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_60_iso_tsangan( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
|
||||||
|
K40, K41, K42, K47, K4A, K4C, K4D \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO, KC_NO }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, KC_NO }, \
|
||||||
|
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, KC_NO, K47, KC_NO, KC_NO, K4A, KC_NO, K4C, K4D, KC_NO } \
|
||||||
|
}
|
||||||
|
|
||||||
#define LAYOUT LAYOUT_all
|
#define LAYOUT LAYOUT_all
|
||||||
@@ -0,0 +1,253 @@
|
|||||||
|
/* Copyright 2020 Guillaume Gérard
|
||||||
|
*
|
||||||
|
* 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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* French AZERTY - AFNOR NF Z71-300
|
||||||
|
*
|
||||||
|
* A standard for the French keyboard
|
||||||
|
*
|
||||||
|
* The project was launched at the end of 2015 on the proposal of the General
|
||||||
|
* Delegation for the French language and the languages of France (Ministry
|
||||||
|
* of Culture), starting from the observation that the current "azerty"
|
||||||
|
* keyboards constrain the writing of French, languages regional and European
|
||||||
|
* languages with Latin alphabet.
|
||||||
|
*
|
||||||
|
* For the first time, a standard (NF Z71-300) defines the placement of
|
||||||
|
* characters on the French keyboard. It offers two layouts, one of which
|
||||||
|
* closely follows the QWERTY keyboard used by most people who write in French.
|
||||||
|
*
|
||||||
|
* However, it is in many ways superior to the old keyboard:
|
||||||
|
*
|
||||||
|
* - it contains all the characters required to enter text in French (for example É, œ and ")
|
||||||
|
* - it is designed to be more ergonomic and allow faster typing
|
||||||
|
* - it includes almost 60 additional characters for entering foreign languages, technical content, etc
|
||||||
|
* - however, the characters remain easy to locate thanks to intuitive groupings
|
||||||
|
*
|
||||||
|
* Source: https://norme-azerty.fr
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "keymap.h"
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||||
|
* │ @ │ à │ é │ è │ ê │ ( │ ) │ ‘ │ ’ │ « │ » │ ' │ ^ │ │
|
||||||
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||||
|
* │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ - │ + │ │
|
||||||
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||||
|
* │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ / │ * │ │
|
||||||
|
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||||
|
* │ │ < │ W │ X │ C │ V │ B │ N │ . │ , │ : │ ; │ │
|
||||||
|
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||||
|
* │ │ │ │ │ │ │ │ │
|
||||||
|
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||||
|
*/
|
||||||
|
// Row 1
|
||||||
|
#define FR_AT KC_GRV // @
|
||||||
|
#define FR_AGRV KC_1 // à
|
||||||
|
#define FR_EACU KC_2 // é
|
||||||
|
#define FR_EGRV KC_3 // è
|
||||||
|
#define FR_ECIR KC_4 // ê
|
||||||
|
#define FR_LPRN KC_5 // (
|
||||||
|
#define FR_RPRN KC_6 // )
|
||||||
|
#define FR_LSQU KC_7 // ‘
|
||||||
|
#define FR_RSQU KC_8 // ’
|
||||||
|
#define FR_LDAQ KC_9 // «
|
||||||
|
#define FR_RDAQ KC_0 // »
|
||||||
|
#define FR_QUOT KC_MINS // '
|
||||||
|
#define FR_DCIR KC_EQL // ^ (dead)
|
||||||
|
// Row 2
|
||||||
|
#define FR_A KC_Q // A
|
||||||
|
#define FR_Z KC_W // Z
|
||||||
|
#define FR_E KC_E // E
|
||||||
|
#define FR_R KC_R // R
|
||||||
|
#define FR_T KC_T // T
|
||||||
|
#define FR_Y KC_Y // Y
|
||||||
|
#define FR_U KC_U // U
|
||||||
|
#define FR_I KC_I // I
|
||||||
|
#define FR_O KC_O // O
|
||||||
|
#define FR_P KC_P // P
|
||||||
|
#define FR_MINS KC_LBRC // -
|
||||||
|
#define FR_PLUS KC_RBRC // +
|
||||||
|
// Row 3
|
||||||
|
#define FR_Q KC_A // Q
|
||||||
|
#define FR_S KC_S // S
|
||||||
|
#define FR_D KC_D // D
|
||||||
|
#define FR_F KC_F // F
|
||||||
|
#define FR_G KC_G // G
|
||||||
|
#define FR_H KC_H // H
|
||||||
|
#define FR_J KC_J // J
|
||||||
|
#define FR_K KC_K // K
|
||||||
|
#define FR_L KC_L // L
|
||||||
|
#define FR_M KC_SCLN // M
|
||||||
|
#define FR_SLSH KC_QUOT // /
|
||||||
|
#define FR_ASTR KC_NUHS // *
|
||||||
|
// Row 4
|
||||||
|
#define FR_LABK KC_NUBS // <
|
||||||
|
#define FR_W KC_Z // W
|
||||||
|
#define FR_X KC_X // X
|
||||||
|
#define FR_C KC_C // C
|
||||||
|
#define FR_V KC_V // V
|
||||||
|
#define FR_B KC_B // B
|
||||||
|
#define FR_N KC_N // N
|
||||||
|
#define FR_DOT KC_M // .
|
||||||
|
#define FR_COMM KC_COMM // ,
|
||||||
|
#define FR_COLN KC_DOT // :
|
||||||
|
#define FR_SCLN KC_SLSH // ;
|
||||||
|
|
||||||
|
/* Shifted symbols
|
||||||
|
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||||
|
* │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ " │ ¨ │ │
|
||||||
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ – │ ± │ │
|
||||||
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||||
|
* │ │ │ │ │ │ │ │ │ │ │ │ \ │ ½ │ │
|
||||||
|
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||||
|
* │ │ > │ │ │ │ │ │ │ ? │ ! │ … │ = │ │
|
||||||
|
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||||
|
* │ │ │ │ │ │ │ │ │
|
||||||
|
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||||
|
*/
|
||||||
|
// Row 1
|
||||||
|
#define FR_HASH S(FR_AT) // #
|
||||||
|
#define FR_1 S(FR_AGRV) // 1
|
||||||
|
#define FR_2 S(FR_EACU) // 2
|
||||||
|
#define FR_3 S(FR_EGRV) // 3
|
||||||
|
#define FR_4 S(FR_ECIR) // 4
|
||||||
|
#define FR_5 S(FR_LPRN) // 5
|
||||||
|
#define FR_6 S(FR_RPRN) // 6
|
||||||
|
#define FR_7 S(FR_LSQU) // 7
|
||||||
|
#define FR_8 S(FR_RSQU) // 8
|
||||||
|
#define FR_9 S(FR_LDAQ) // 9
|
||||||
|
#define FR_0 S(FR_RDAQ) // 0
|
||||||
|
#define FR_DQUO S(FR_QUOT) // "
|
||||||
|
#define FR_DIAE S(FR_DCIR) // ¨ (dead)
|
||||||
|
// Row 2
|
||||||
|
#define FR_NDSH S(FR_MINS) // –
|
||||||
|
#define FR_PLMN S(FR_PLUS) // ±
|
||||||
|
// Row 3
|
||||||
|
#define FR_BSLS S(FR_SLSH) // (backslash)
|
||||||
|
#define FR_HALF S(FR_ASTR) // ½
|
||||||
|
// Row 4
|
||||||
|
#define FR_RABK S(FR_LABK) // >
|
||||||
|
#define FR_QUES S(FR_DOT) // ?
|
||||||
|
#define FR_EXLM S(FR_COMM) // !
|
||||||
|
#define FR_ELLP S(FR_COLN) // …
|
||||||
|
#define FR_EQL S(FR_SCLN) // =
|
||||||
|
|
||||||
|
/* AltGr symbols
|
||||||
|
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||||
|
* │ ˘ │ § │ ´ │ ` │ & │ [ │ ] │ ¯ │ _ │ “ │ ” │ ° │ ˇ │ │
|
||||||
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||||
|
* │ │ æ │ £ │ € │ ® │ { │ } │ ù │ ˙ │ œ │ % │ − │ † │ │
|
||||||
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||||
|
* │ │ θ │ ß │ $ │ ¤ │ µ │ Eu│ │ ∕ │ | │ ∞ │ ÷ │ × │ │
|
||||||
|
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||||
|
* │ │ ≤ │ ʒ │ © │ ç │ ¸ │ − │ ~ │ ¿ │ ¡ │ · │ ≃ │ │
|
||||||
|
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||||
|
* │ │ │ │ │ │ │ │ │
|
||||||
|
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||||
|
*/
|
||||||
|
// Row 1
|
||||||
|
#define FR_BREV ALGR(FR_AT) // ˘ (dead)
|
||||||
|
#define FR_SECT ALGR(FR_AGRV) // §
|
||||||
|
#define FR_ACUT ALGR(FR_EACU) // ´ (dead)
|
||||||
|
#define FR_GRV ALGR(FR_EGRV) // ` (dead)
|
||||||
|
#define FR_AMPR ALGR(FR_ECIR) // &
|
||||||
|
#define FR_LBRC ALGR(FR_LPRN) // [
|
||||||
|
#define FR_RBRC ALGR(FR_RPRN) // ]
|
||||||
|
#define FR_MACR ALGR(FR_LSQU) // ¯ (dead)
|
||||||
|
#define FR_UNDS ALGR(FR_RSQU) // _
|
||||||
|
#define FR_LDQU ALGR(FR_LDAQ) // “
|
||||||
|
#define FR_RDQU ALGR(FR_RDAQ) // ”
|
||||||
|
#define FR_DEG ALGR(FR_QUOT) // °
|
||||||
|
#define FR_CARN ALGR(FR_DCIR) // ˇ (dead)
|
||||||
|
// Row 2
|
||||||
|
#define FR_AE ALGR(FR_A) // æ
|
||||||
|
#define FR_PND ALGR(FR_Z) // £
|
||||||
|
#define FR_EURO ALGR(FR_E) // €
|
||||||
|
#define FR_REGD ALGR(FR_R) // ®
|
||||||
|
#define FR_LCBR ALGR(FR_T) // {
|
||||||
|
#define FR_RCBR ALGR(FR_Y) // }
|
||||||
|
#define FR_UGRV ALGR(FR_U) // ù
|
||||||
|
#define FR_DOTA ALGR(FR_I) // ˙ (dead)
|
||||||
|
#define FR_OE ALGR(FR_O) // œ
|
||||||
|
#define FR_PERC ALGR(FR_P) // %
|
||||||
|
#define FR_MMNS ALGR(FR_MINS) // −
|
||||||
|
#define FR_DAGG ALGR(FR_PLUS) // †
|
||||||
|
// Row 3
|
||||||
|
#define FR_THET ALGR(FR_Q) // θ
|
||||||
|
#define FR_SS ALGR(FR_S) // ß
|
||||||
|
#define FR_DLR ALGR(FR_D) // $
|
||||||
|
#define FR_CURR ALGR(FR_F) // ¤ (dead monetary key)
|
||||||
|
#define FR_DGRK ALGR(FR_G) // µ (dead Greek key)
|
||||||
|
#define FR_EU ALGR(FR_H) // Eu (dead European symbol key)
|
||||||
|
#define FR_DSLS ALGR(FR_K) // ∕ (dead)
|
||||||
|
#define FR_PIPE ALGR(FR_L) // |
|
||||||
|
#define FR_INFN ALGR(FR_M) // ∞
|
||||||
|
#define FR_DIV ALGR(FR_SLSH) // ÷
|
||||||
|
#define FR_MUL ALGR(FR_ASTR) // ×
|
||||||
|
// Row 4
|
||||||
|
#define FR_LEQL ALGR(FR_LABK) // ≤
|
||||||
|
#define FR_EZH ALGR(FR_W) // ʒ
|
||||||
|
#define FR_COPY ALGR(FR_X) // ©
|
||||||
|
#define FR_CCED ALGR(FR_C) // ç
|
||||||
|
#define FR_CEDL ALGR(FR_V) // ¸ (dead)
|
||||||
|
#define FR_DMNS ALGR(FR_B) // − (dead)
|
||||||
|
#define FR_DTIL ALGR(FR_N) // ~ (dead)
|
||||||
|
#define FR_IQUE ALGR(FR_DOT) // ¿
|
||||||
|
#define FR_IEXL ALGR(FR_COMM) // ¡
|
||||||
|
#define FR_MDDT ALGR(FR_COLN) // ·
|
||||||
|
#define FR_AEQL ALGR(FR_SCLN) // ≃
|
||||||
|
|
||||||
|
/* Shift+AltGr symbols
|
||||||
|
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||||
|
* │ ̑ │ │ │ │ │ ˝ │ ̏ │ │ — │ ‹ │ › │ ˚ │ │ │
|
||||||
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||||
|
* │ │ │ │ │ │ ™ │ │ │ ̣ │ │ ‰ │ ‑ │ ‡ │ │
|
||||||
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||||
|
* │ │ │ │ │ │ │ ˍ │ │ │ │ │ √ │ ¼ │ │
|
||||||
|
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||||
|
* │ │ ≥ │ │ │ │ ˛ │ │ │ │ ̦ │ │ ≠ │ │
|
||||||
|
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||||
|
* │ │ │ │ │ │ │ │ │
|
||||||
|
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||||
|
*/
|
||||||
|
// Row 1
|
||||||
|
#define FR_IBRV S(ALGR(FR_AT)) // ̑ (dead)
|
||||||
|
#define FR_DACU S(ALGR(FR_LPRN)) // ˝ (dead)
|
||||||
|
#define FR_DGRV S(ALGR(FR_RPRN)) // ̏ (dead)
|
||||||
|
#define FR_MDSH S(ALGR(FR_RSQU)) // —
|
||||||
|
#define FR_LSAQ S(ALGR(FR_LDAQ)) // ‹
|
||||||
|
#define FR_RSAQ S(ALGR(FR_RDAQ)) // ›
|
||||||
|
#define FR_RNGA S(ALGR(FR_QUOT)) // ˚ (dead)
|
||||||
|
// Row 2
|
||||||
|
#define FR_TM S(ALGR(FR_T)) // ™
|
||||||
|
#define FR_DOTB S(ALGR(FR_I)) // ̣ (dead)
|
||||||
|
#define FR_PERM S(ALGR(FR_P)) // ‰
|
||||||
|
#define FR_NBHY S(ALGR(FR_MINS)) // ‑ (non-breaking hyphen)
|
||||||
|
#define FR_DDAG S(ALGR(FR_PLUS)) // ‡
|
||||||
|
// Row 3
|
||||||
|
#define FR_MACB S(ALGR(FR_H)) // ˍ (dead)
|
||||||
|
#define FR_SQRT S(ALGR(FR_SLSH)) // √
|
||||||
|
#define FR_QRTR S(ALGR(FR_ASTR)) // ¼
|
||||||
|
// Row 4
|
||||||
|
#define FR_GEQL S(ALGR(FR_LABK)) // ≥
|
||||||
|
#define FR_OGON S(ALGR(FR_V)) // ˛ (dead)
|
||||||
|
#define FR_DCMM S(ALGR(FR_COMM)) // ̦ (dead)
|
||||||
|
#define FR_NEQL S(ALGR(FR_SCLN)) // ≠
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
#define US_O KC_O // O
|
#define US_O KC_O // O
|
||||||
#define US_P KC_P // P
|
#define US_P KC_P // P
|
||||||
#define US_LBRC KC_LBRC // [
|
#define US_LBRC KC_LBRC // [
|
||||||
#define US_RBRC KC_LBRC // ]
|
#define US_RBRC KC_RBRC // ]
|
||||||
#define US_BSLS KC_BSLS // (backslash)
|
#define US_BSLS KC_BSLS // (backslash)
|
||||||
// Row 3
|
// Row 3
|
||||||
#define US_A KC_A // A
|
#define US_A KC_A // A
|
||||||
|
|||||||
@@ -0,0 +1,100 @@
|
|||||||
|
/* Copyright 2020 Guillaume Gérard
|
||||||
|
*
|
||||||
|
* 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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Sendstring lookup tables for French (AZERTY - AFNOR NF Z71-300) layouts
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "keymap_french_afnor.h"
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
|
||||||
|
const uint8_t ascii_to_shift_lut[16] PROGMEM = {
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
|
||||||
|
KCLUT_ENTRY(0, 1, 1, 1, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
KCLUT_ENTRY(1, 1, 0, 0, 0, 1, 1, 1),
|
||||||
|
KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
KCLUT_ENTRY(1, 1, 1, 0, 1, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0)
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 1, 1, 1, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 0, 1),
|
||||||
|
KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||||
|
KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0)
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||||
|
// NUL SOH STX ETX EOT ENQ ACK BEL
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
// BS TAB LF VT FF CR SO SI
|
||||||
|
KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
// DLE DC1 DC2 DC3 DC4 NAK SYN ETB
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
// CAN EM SUB ESC FS GS RS US
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
|
||||||
|
// ! " # $ % & '
|
||||||
|
KC_SPC, FR_COMM, FR_QUOT, FR_AT, FR_D, FR_P, FR_ECIR, FR_QUOT,
|
||||||
|
// ( ) * + , - . /
|
||||||
|
FR_LPRN, FR_RPRN, FR_ASTR, FR_PLUS, FR_COMM, FR_MINS, FR_DOT, FR_SLSH,
|
||||||
|
// 0 1 2 3 4 5 6 7
|
||||||
|
FR_RDAQ, FR_AGRV, FR_EACU, FR_EGRV, FR_ECIR, FR_LPRN, FR_RPRN, FR_LSQU,
|
||||||
|
// 8 9 : ; < = > ?
|
||||||
|
FR_RSQU, FR_LDAQ, FR_COLN, FR_SCLN, FR_LABK, FR_SCLN, FR_LABK, FR_DOT,
|
||||||
|
// @ A B C D E F G
|
||||||
|
FR_AT, FR_A, FR_B, FR_C, FR_D, FR_E, FR_F, FR_G,
|
||||||
|
// H I J K L M N O
|
||||||
|
FR_H, FR_I, FR_J, FR_K, FR_L, FR_M, FR_N, FR_O,
|
||||||
|
// P Q R S T U V W
|
||||||
|
FR_P, FR_Q, FR_R, FR_S, FR_T, FR_U, FR_V, FR_W,
|
||||||
|
// X Y Z [ \ ] ^ _
|
||||||
|
FR_X, FR_Y, FR_Z, FR_LPRN, FR_SLSH, FR_RPRN, FR_DCIR, FR_RSQU,
|
||||||
|
// ` a b c d e f g
|
||||||
|
FR_EGRV, FR_A, FR_B, FR_C, FR_D, FR_E, FR_F, FR_G,
|
||||||
|
// h i j k l m n o
|
||||||
|
FR_H, FR_I, FR_J, FR_K, FR_L, FR_M, FR_N, FR_O,
|
||||||
|
// p q r s t u v w
|
||||||
|
FR_P, FR_Q, FR_R, FR_S, FR_T, FR_U, FR_V, FR_W,
|
||||||
|
// x y z { | } ~ DEL
|
||||||
|
FR_X, FR_Y, FR_Z, FR_T, FR_L, FR_Y, FR_N, KC_DEL
|
||||||
|
};
|
||||||
@@ -216,11 +216,13 @@ bool process_dynamic_macro(uint16_t keycode, keyrecord_t *record) {
|
|||||||
} else {
|
} else {
|
||||||
/* A macro is being recorded right now. */
|
/* A macro is being recorded right now. */
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
|
case DYN_REC_START1:
|
||||||
|
case DYN_REC_START2:
|
||||||
case DYN_REC_STOP:
|
case DYN_REC_STOP:
|
||||||
/* Stop the macro recording. */
|
/* Stop the macro recording. */
|
||||||
if (record->event.pressed) { /* Ignore the initial release
|
if (record->event.pressed ^ (keycode != DYN_REC_STOP)) { /* Ignore the initial release
|
||||||
* just after the recoding
|
* just after the recording
|
||||||
* starts. */
|
* starts for DYN_REC_STOP. */
|
||||||
switch (macro_id) {
|
switch (macro_id) {
|
||||||
case 1:
|
case 1:
|
||||||
dynamic_macro_record_end(macro_buffer, macro_pointer, +1, ¯o_end);
|
dynamic_macro_record_end(macro_buffer, macro_pointer, +1, ¯o_end);
|
||||||
|
|||||||
@@ -1,25 +1,40 @@
|
|||||||
{ avr ? true, arm ? true, teensy ? true }:
|
{ avr ? true, arm ? true, teensy ? true }:
|
||||||
|
|
||||||
let
|
let
|
||||||
overlay = self: super:
|
|
||||||
let addDarwinSupport = pkg: pkg.overrideAttrs (oldAttrs: {
|
|
||||||
meta.platforms = (oldAttrs.meta.platforms or []) ++ self.lib.platforms.darwin;
|
|
||||||
});
|
|
||||||
in {
|
|
||||||
dfu-programmer = addDarwinSupport super.dfu-programmer;
|
|
||||||
teensy-loader-cli = addDarwinSupport super.teensy-loader-cli;
|
|
||||||
};
|
|
||||||
|
|
||||||
nixpkgs = builtins.fetchTarball {
|
nixpkgs = builtins.fetchTarball {
|
||||||
url = "https://github.com/NixOS/nixpkgs/archive/903266491b7b9b0379e88709feca0af900def0d9.tar.gz";
|
url = "https://github.com/NixOS/nixpkgs/archive/903266491b7b9b0379e88709feca0af900def0d9.tar.gz";
|
||||||
sha256 = "1b5wjrfgyha6s15k1yjyx41hvrpmd5szpkpkxk6l5hyrfqsr8wip";
|
sha256 = "1b5wjrfgyha6s15k1yjyx41hvrpmd5szpkpkxk6l5hyrfqsr8wip";
|
||||||
};
|
};
|
||||||
|
|
||||||
pkgs = import nixpkgs { overlays = [ overlay ]; };
|
pkgs = import nixpkgs { };
|
||||||
|
|
||||||
|
hjson = with pkgs.python3Packages; buildPythonPackage rec {
|
||||||
|
pname = "hjson";
|
||||||
|
version = "3.0.1";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "1yaimcgz8w0ps1wk28wk9g9zdidp79d14xqqj9rjkvxalvx2f5qx";
|
||||||
|
};
|
||||||
|
doCheck = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
pythonEnv = pkgs.python3.withPackages (p: with p; [
|
||||||
|
# requirements.txt
|
||||||
|
appdirs
|
||||||
|
argcomplete
|
||||||
|
colorama
|
||||||
|
hjson
|
||||||
|
# requirements-dev.txt
|
||||||
|
nose2
|
||||||
|
flake8
|
||||||
|
pep8-naming
|
||||||
|
yapf
|
||||||
|
]);
|
||||||
in
|
in
|
||||||
|
|
||||||
with pkgs;
|
with pkgs;
|
||||||
let
|
let
|
||||||
avrlibc = pkgsCross.avr.libcCross;
|
avrlibc = pkgsCross.avr.libcCross;
|
||||||
|
|
||||||
avr_incflags = [
|
avr_incflags = [
|
||||||
@@ -32,11 +47,11 @@ let
|
|||||||
"-L${avrlibc}/avr/lib/avr51"
|
"-L${avrlibc}/avr/lib/avr51"
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
mkShell {
|
||||||
name = "qmk-firmware";
|
name = "qmk-firmware";
|
||||||
|
|
||||||
buildInputs = [ dfu-programmer dfu-util diffutils git python3 ]
|
buildInputs = [ dfu-programmer dfu-util diffutils git pythonEnv ]
|
||||||
++ lib.optional avr [
|
++ lib.optional avr [
|
||||||
pkgsCross.avr.buildPackages.binutils
|
pkgsCross.avr.buildPackages.binutils
|
||||||
pkgsCross.avr.buildPackages.gcc8
|
pkgsCross.avr.buildPackages.gcc8
|
||||||
avrlibc
|
avrlibc
|
||||||
@@ -47,4 +62,9 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
AVR_CFLAGS = lib.optional avr avr_incflags;
|
AVR_CFLAGS = lib.optional avr avr_incflags;
|
||||||
AVR_ASFLAGS = lib.optional avr avr_incflags;
|
AVR_ASFLAGS = lib.optional avr avr_incflags;
|
||||||
|
shellHook = ''
|
||||||
|
# Prevent the avr-gcc wrapper from picking up host GCC flags
|
||||||
|
# like -iframework, which is problematic on Darwin
|
||||||
|
unset NIX_TARGET_CFLAGS_COMPILE
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
@@ -364,6 +364,8 @@ void process_action(keyrecord_t *record, action_t action) {
|
|||||||
dprint("MODS_TAP: Tap: unregister_code\n");
|
dprint("MODS_TAP: Tap: unregister_code\n");
|
||||||
if (action.layer_tap.code == KC_CAPS) {
|
if (action.layer_tap.code == KC_CAPS) {
|
||||||
wait_ms(TAP_HOLD_CAPS_DELAY);
|
wait_ms(TAP_HOLD_CAPS_DELAY);
|
||||||
|
} else {
|
||||||
|
wait_ms(TAP_CODE_DELAY);
|
||||||
}
|
}
|
||||||
unregister_code(action.key.code);
|
unregister_code(action.key.code);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in new issue
Block a user