Compare commits
6 Commits
0.5.98
...
keyboard_i
Author | SHA1 | Date | |
---|---|---|---|
|
993427e58b | ||
|
1b4b5e5c66 | ||
|
5ad103fa51 | ||
|
188ed682e3 | ||
|
897ceac26c | ||
|
88198a9606 |
8
Makefile
8
Makefile
@@ -19,6 +19,11 @@ endif
|
|||||||
# Otherwise the [OK], [ERROR] and [WARN] messages won't be displayed correctly
|
# Otherwise the [OK], [ERROR] and [WARN] messages won't be displayed correctly
|
||||||
override SILENT := false
|
override SILENT := false
|
||||||
|
|
||||||
|
QMK_VERSION := $(shell git describe --abbrev=0 --tags 2>/dev/null)
|
||||||
|
ifneq ($(QMK_VERSION),)
|
||||||
|
$(info QMK Firmware v$(QMK_VERSION))
|
||||||
|
endif
|
||||||
|
|
||||||
ON_ERROR := error_occurred=1
|
ON_ERROR := error_occurred=1
|
||||||
|
|
||||||
BREAK_ON_ERRORS = no
|
BREAK_ON_ERRORS = no
|
||||||
@@ -390,7 +395,6 @@ endef
|
|||||||
define BUILD
|
define BUILD
|
||||||
MAKE_VARS += VERBOSE=$(VERBOSE) COLOR=$(COLOR)
|
MAKE_VARS += VERBOSE=$(VERBOSE) COLOR=$(COLOR)
|
||||||
COMMANDS += $$(COMMAND)
|
COMMANDS += $$(COMMAND)
|
||||||
MAKE_MSG = QMK Firmware v$$(shell git describe --abbrev=0 --tags 2>/dev/null)\n\n$(MAKE_MSG)
|
|
||||||
COMMAND_true_$$(COMMAND) := \
|
COMMAND_true_$$(COMMAND) := \
|
||||||
printf "$$(MAKE_MSG)" | \
|
printf "$$(MAKE_MSG)" | \
|
||||||
$$(MAKE_MSG_FORMAT); \
|
$$(MAKE_MSG_FORMAT); \
|
||||||
@@ -421,7 +425,7 @@ define BUILD_TEST
|
|||||||
COMMAND := $1
|
COMMAND := $1
|
||||||
MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f build_test.mk $$(MAKE_TARGET)
|
MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f build_test.mk $$(MAKE_TARGET)
|
||||||
MAKE_VARS := TEST=$$(TEST_NAME) FULL_TESTS="$$(FULL_TESTS)"
|
MAKE_VARS := TEST=$$(TEST_NAME) FULL_TESTS="$$(FULL_TESTS)"
|
||||||
MAKE_MSG := QMK Firmware v$$(shell git describe --abbrev=0 --tags 2>/dev/null)\n\n$$(MSG_MAKE_TEST)
|
MAKE_MSG := $$(MSG_MAKE_TEST)
|
||||||
$$(eval $$(call BUILD))
|
$$(eval $$(call BUILD))
|
||||||
ifneq ($$(MAKE_TARGET),clean)
|
ifneq ($$(MAKE_TARGET),clean)
|
||||||
TEST_EXECUTABLE := $$(TEST_DIR)/$$(TEST_NAME).elf
|
TEST_EXECUTABLE := $$(TEST_DIR)/$$(TEST_NAME).elf
|
||||||
|
@@ -116,7 +116,9 @@ https://github.com/tekezo/Karabiner/issues/403
|
|||||||
|
|
||||||
## Esc and `~ on a key
|
## Esc and `~ on a key
|
||||||
|
|
||||||
Use `GRAVE_ESC` or `KC_GESC` in your keymap.
|
Use `GRAVE_ESC` or `KC_GESC` in your keymap. `GUI`+`GRAVE_ESC` results in `\`` and `SHIFT`+`GRAVE_ESC` results in `~`.
|
||||||
|
|
||||||
|
Note that this will break the CTRL+SHIFT+ESC shortcut to the Windows task manager. Use `#define GRAVE_ESC_CTRL_OVERRIDE` in your `config.h` to get the shortcut back. With this option, `ESC_GRAVE` results in `ESC` if `CTRL` is held, even if `SHIFT` or `GUI` are also held.
|
||||||
|
|
||||||
## Arrow on Right Modifier keys with Dual-Role
|
## Arrow on Right Modifier keys with Dual-Role
|
||||||
This turns right modifer keys into arrow keys when the keys are tapped while still modifiers when the keys are hold. In TMK the dual-role function is dubbed **TAP**.
|
This turns right modifer keys into arrow keys when the keys are tapped while still modifiers when the keys are hold. In TMK the dual-role function is dubbed **TAP**.
|
||||||
|
62
docs/keyboard_identifiers.md
Normal file
62
docs/keyboard_identifiers.md
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
# Keyboard Identifiers
|
||||||
|
|
||||||
|
|Keyboard|Vendor ID|Product ID|Device Ver|
|
||||||
|
| ------ |--------:| --------:| --------:|
|
||||||
|
|alps64|0xFEED|0x6464|0x0001|
|
||||||
|
|amj40|0xFEED|0x6072|0x0002|
|
||||||
|
|amj60|0xFEED|0x6066|0x0001|
|
||||||
|
|amjpad|0xFEED|0x6060|0x0003|
|
||||||
|
|atomic|0xFEED|0x6060|0x0001|
|
||||||
|
|atreus|0xFEED|0x6060|0x0001|
|
||||||
|
|atreus62|0xFEED|0x6062|0x0001|
|
||||||
|
|bananasplit|0xFEAE|0x8870|0x0001|
|
||||||
|
|bantam44|0xFEED|0x6060|0x0001|
|
||||||
|
|chibios_test|0xFEED|0x6464|0x0001|
|
||||||
|
|clueboard|0xC1ED|rev1: 0x2301<br />rev2: 0x2320<br />|rev1: 0x0003<br />rev2: 0x0001<br />|
|
||||||
|
|cluecard|0xC1ED|0x2330|0x0001|
|
||||||
|
|cluepad|0xC1ED|0x2312|0x0001|
|
||||||
|
|deltasplit75|v2: 0xFEED<br />|v2: 0x3060<br />|v2: 0x0001<br />|
|
||||||
|
|dk60|0xFEED|0x6060|0x0001|
|
||||||
|
|eco|0x1337|0x6006|rev1: 0x0001<br />rev2: 0x0002<br />|
|
||||||
|
|ergodox|ez: 0xFEED<br />infinity: 0xFEED<br />|ez: 0x1307<br />infinity: 0x6464<br />|ez: 0x0001<br />infinity: 0x0001<br />|
|
||||||
|
|frosty_flake|0xFEED|0x6060|0x0001|
|
||||||
|
|gh60|0xFEED|0x6060|0x0001|
|
||||||
|
|gherkin|0xFEED|0x6060|0x0001|
|
||||||
|
|gonnerd|0xFEED|0x6060|0x0001|
|
||||||
|
|hadron|0xFEED|0x6060|ver0: 0x0001<br />ver2: 0x0002<br />|
|
||||||
|
|hhkb|0xFEED|0xCAFE|0x0104|
|
||||||
|
|infinity60|0xFEED|0x6464|0x0001|
|
||||||
|
|jd40|0xFEED|0x6060|0x0001|
|
||||||
|
|jd45|0xFEED|0x6060|0x0001|
|
||||||
|
|kbd75|0xFEED|0x6060|0x0001|
|
||||||
|
|kc60|0xFEED|0x6060|0x0001|
|
||||||
|
|kinesis|0xFEED|alvicstep: 0x6060<br />stapelberg: 0x6060<br />|alvicstep: 0x0001<br />stapelberg: 0x0002<br />|
|
||||||
|
|kitten_paw|0xFEED|0x6050|0x0104|
|
||||||
|
|kmac|0xFEED|0x6050|0x0104|
|
||||||
|
|lets_split|rev1: 0xFEED<br />rev2: 0xFEED<br />|rev1: 0x3060<br />rev2: 0x3060<br />|rev1: 0x0001<br />rev2: 0x0001<br />|
|
||||||
|
|m10a|0xFEED|0x0007|0x0001|
|
||||||
|
|maxipad|0xFEED|0x6060|0x0001|
|
||||||
|
|mechmini|0x20A0|0x422D||
|
||||||
|
|minidox|0xFEED|0x3060|rev1: 0x0001<br />|
|
||||||
|
|mitosis|0xFEED|0x6060|0x0001|
|
||||||
|
|miuni32|0xFEED|0x6060|0x0001|
|
||||||
|
|nyquist|rev1: 0xCEEB<br />|rev1: 0x1156<br />|rev1: 0x0100<br />|
|
||||||
|
|orthodox|rev1: 0xFEED<br />|rev1: 0x3060<br />|rev1: 0x0001<br />|
|
||||||
|
|pegasushoof|0xFEED|0x6050|0x0104|
|
||||||
|
|phantom|0xFEED|0x6060|0x0003|
|
||||||
|
|planck|0xFEED|0x6060|rev3: 0x0003<br />rev4: 0x0004<br />|
|
||||||
|
|preonic|0xFEED|0x6061|0x0001|
|
||||||
|
|ps2avrGB|0x20A0|0x422D||
|
||||||
|
|roadkit|0xFEAE|0x8846|0x0001|
|
||||||
|
|s60_x|0xFEED|0x6060|0x0001|
|
||||||
|
|s65_x|0xFEED|0x6060|0x0001|
|
||||||
|
|satan|0xFEED|0x6060|0x0003|
|
||||||
|
|sixkeyboard|0xFEED|0x6062|0x0001|
|
||||||
|
|tada68|0xFEED|0x6060|0x0003|
|
||||||
|
|tiger_lily|0xFEED|0x6060|0x0001|
|
||||||
|
|tv44|0xFEAE|0x8844|0x0002|
|
||||||
|
|uk78|0x554B|0x004E|0x0002|
|
||||||
|
|vision_division||||
|
||||||
|
|whitefox|0xFEED|0x0F0F|0x0001|
|
||||||
|
|xd60|0xFEED|0x6060|0x0001|
|
||||||
|
|xd75|0xCDCD|0x7575|0x0001|
|
@@ -20,5 +20,6 @@
|
|||||||
#include "../../config.h"
|
#include "../../config.h"
|
||||||
|
|
||||||
// place overrides here
|
// place overrides here
|
||||||
|
#define GRAVE_ESC_CTRL_OVERRIDE
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -478,6 +478,13 @@ bool process_record_quantum(keyrecord_t *record) {
|
|||||||
void (*method)(uint8_t) = (record->event.pressed) ? &add_key : &del_key;
|
void (*method)(uint8_t) = (record->event.pressed) ? &add_key : &del_key;
|
||||||
uint8_t shifted = get_mods() & ((MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)
|
uint8_t shifted = get_mods() & ((MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)
|
||||||
|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)));
|
|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)));
|
||||||
|
|
||||||
|
#ifdef GRAVE_ESC_CTRL_OVERRIDE
|
||||||
|
// if CTRL is pressed, ESC is always read as ESC, even if SHIFT or GUI is pressed.
|
||||||
|
// this is handy for the ctrl+shift+esc shortcut on windows, among other things.
|
||||||
|
if (get_mods() & (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)))
|
||||||
|
shifted = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
method(shifted ? KC_GRAVE : KC_ESCAPE);
|
method(shifted ? KC_GRAVE : KC_ESCAPE);
|
||||||
send_keyboard_report();
|
send_keyboard_report();
|
||||||
|
@@ -67,6 +67,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
/* Locking resynchronize hack */
|
/* Locking resynchronize hack */
|
||||||
#define LOCKING_RESYNC_ENABLE
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
|
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||||
|
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||||
|
*/
|
||||||
|
// #define GRAVE_ESC_CTRL_OVERRIDE
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Force NKRO
|
* Force NKRO
|
||||||
*
|
*
|
||||||
|
49
util/keyboard_identifier_generator.sh
Normal file
49
util/keyboard_identifier_generator.sh
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
#/bin/bash
|
||||||
|
echo "# Keyboard Identifiers
|
||||||
|
|
||||||
|
|Keyboard|Vendor ID|Product ID|Device Ver|
|
||||||
|
| ------ |--------:| --------:| --------:|" > docs/keyboard_identifiers.md
|
||||||
|
for project in $(find . -regex '\./keyboards/[a-z0-9_\-]+/config.h')
|
||||||
|
do
|
||||||
|
keyboard_name=$(printf $project | sed -r "s/\.\/keyboards\/([a-zA-Z0-9_\-]+).*/\1/g")
|
||||||
|
vendor_id=$(grep 'VENDOR_ID' $project | \
|
||||||
|
tr -d '\n' | \
|
||||||
|
sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
|
||||||
|
if [ -z $vendor_id ]; then
|
||||||
|
for subproject in $(find . -regex "\./keyboards/$keyboard_name/[a-z0-9_\-]+/config.h")
|
||||||
|
do
|
||||||
|
subproject_name=$(printf $subproject | sed -r "s/\.\/keyboards\/${keyboard_name}\/([a-zA-Z0-9_\-]+).*/\1/g")
|
||||||
|
subproject_vendor_id=$(grep 'VENDOR_ID' $subproject | \
|
||||||
|
tr -d '\n' | \
|
||||||
|
sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
|
||||||
|
vendor_id+=$(printf "%s: %s<br />" $subproject_name $subproject_vendor_id)
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
product_id=$(grep 'PRODUCT_ID' $project | \
|
||||||
|
tr -d '\n' | \
|
||||||
|
sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
|
||||||
|
if [ -z $product_id ]; then
|
||||||
|
for subproject in $(find . -regex "\./keyboards/$keyboard_name/[a-z0-9_\-]+/config.h")
|
||||||
|
do
|
||||||
|
subproject_name=$(printf $subproject | sed -r "s/\.\/keyboards\/${keyboard_name}\/([a-zA-Z0-9_\-]+).*/\1/g")
|
||||||
|
subproject_product_id=$(grep 'PRODUCT_ID' $subproject | \
|
||||||
|
tr -d '\n' | \
|
||||||
|
sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
|
||||||
|
product_id+=$(printf "%s: %s<br />" $subproject_name $subproject_product_id)
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
device_ver=$(grep 'DEVICE_VER' $project | \
|
||||||
|
tr -d '\n' | \
|
||||||
|
sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
|
||||||
|
if [ -z $device_ver ]; then
|
||||||
|
for subproject in $(find . -regex "\./keyboards/$keyboard_name/[a-z0-9_\-]+/config.h")
|
||||||
|
do
|
||||||
|
subproject_name=$(printf $subproject | sed -r "s/\.\/keyboards\/${keyboard_name}\/([a-zA-Z0-9_\-]+).*/\1/g")
|
||||||
|
subproject_device_ver=$(grep 'DEVICE_VER' $subproject | \
|
||||||
|
tr -d '\n' | \
|
||||||
|
sed -r "s/.*(0x[a-fA-F0-9]+).*/\1/g")
|
||||||
|
device_ver+=$(printf "%s: %s<br />" $subproject_name $subproject_device_ver)
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
printf "|%s|%s|%s|%s|\n" "$keyboard_name" "$vendor_id" "$product_id" "$device_ver" >> docs/keyboard_identifiers.md
|
||||||
|
done
|
Reference in New Issue
Block a user