Compare commits
17 Commits
Author | SHA1 | Date | |
---|---|---|---|
b6ffda4849 | |||
449ab9109a | |||
35edb382ee | |||
0a3c5c06fe | |||
5c8cdfd2b5 | |||
246d2583ff | |||
ee386a29d1 | |||
cf8dac3538 | |||
98adda34c9 | |||
470c8436c2 | |||
3a76f24cbd | |||
835cacb031 | |||
45e0d09414 | |||
f644b9a07a | |||
2b3859937b | |||
6f44ca7a59 | |||
0aa413af44 |
@ -5,6 +5,7 @@ language: c
|
||||
branches:
|
||||
except:
|
||||
- /^.*-automated-build$/
|
||||
- /^[0-9]+\.[0-9]+\.[0-9]+/
|
||||
env:
|
||||
global:
|
||||
- secure: vBTSL34BDPxDilKUuTXqU4CJ26Pv5hogD2nghatkxSQkI1/jbdnLj/DQdPUrMJFDIY6TK3AltsBx72MaMsLQ1JO/Ou24IeHINHXzUC1FlS9yQa48cpxnhX5kzXNyGs3oa0qaFbvnr7RgYRWtmD52n4bIZuSuW+xpBv05x2OCizdT2ZonH33nATaHGFasxROm4qYZ241VfzcUv766V6RVHgL4x9V08warugs+RENVkfzxxwhk3NmkrISabze0gSVJLHBPHxroZC6EUcf/ocobcuDrCwFqtEt90i7pNIAFUE7gZsN2uE75LmpzAWin21G7lLPcPL2k4FJVd8an1HiP2WmscJU6U89fOfMb2viObnKcCzebozBCmKGtHEuXZo9FcReOx49AnQSpmESJGs+q2dL/FApkTjQiyT4J6O5dJpoww0/r57Wx0cmmqjETKBb5rSgXM51Etk3wO09mvcPHsEwrT7qH8r9XWdyCDoEn7FCLX3/LYnf/D4SmZ633YPl5gv3v9XEwxR5+04akjgnvWDSNIaDbWBdxHNb7l4pMc+WR1bwCyMyA7KXj0RrftEGOrm9ZRLe6BkbT4cycA+j77nbPOMcyZChliV9pPQos+4TOJoTzcK2L8yWVoY409aDNVuAjdP6Yum0R2maBGl/etLmIMpJC35C5/lZ+dUNjJAM=
|
||||
@ -19,7 +20,7 @@ install:
|
||||
before_script:
|
||||
- avr-gcc --version
|
||||
script:
|
||||
- make $TARGET AUTOGEN=$AUTOGEN
|
||||
- 'if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then make $TARGET AUTOGEN=$AUTOGEN; fi'
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
|
@ -141,7 +141,16 @@ bool process_unicode_map(uint16_t keycode, keyrecord_t *record) {
|
||||
const uint32_t* map = unicode_map;
|
||||
uint16_t index = keycode & 0x7FF;
|
||||
uint32_t code = pgm_read_dword_far(&map[index]);
|
||||
if ((code > 0xFFFF && input_mode == UC_OSX) || (code > 0xFFFFF && input_mode == UC_LNX)) {
|
||||
if (code > 0xFFFF && code <= 0x10ffff && input_mode == UC_OSX) {
|
||||
// Convert to UTF-16 surrogate pair
|
||||
code -= 0x10000;
|
||||
uint32_t lo = code & 0x3ff;
|
||||
uint32_t hi = (code & 0xffc00) >> 10;
|
||||
unicode_input_start();
|
||||
register_hex32(hi + 0xd800);
|
||||
register_hex32(lo + 0xdc00);
|
||||
unicode_input_finish();
|
||||
} else if ((code > 0x10ffff && input_mode == UC_OSX) || (code > 0xFFFFF && input_mode == UC_LNX)) {
|
||||
// when character is out of range supported by the OS
|
||||
unicode_map_input_error();
|
||||
} else {
|
||||
|
@ -33,14 +33,42 @@ static void do_code16 (uint16_t code, void (*f) (uint8_t)) {
|
||||
f(KC_RGUI);
|
||||
}
|
||||
|
||||
static inline void qk_register_weak_mods(uint8_t kc) {
|
||||
add_weak_mods(MOD_BIT(kc));
|
||||
send_keyboard_report();
|
||||
}
|
||||
|
||||
static inline void qk_unregister_weak_mods(uint8_t kc) {
|
||||
del_weak_mods(MOD_BIT(kc));
|
||||
send_keyboard_report();
|
||||
}
|
||||
|
||||
static inline void qk_register_mods(uint8_t kc) {
|
||||
add_weak_mods(MOD_BIT(kc));
|
||||
send_keyboard_report();
|
||||
}
|
||||
|
||||
static inline void qk_unregister_mods(uint8_t kc) {
|
||||
del_weak_mods(MOD_BIT(kc));
|
||||
send_keyboard_report();
|
||||
}
|
||||
|
||||
void register_code16 (uint16_t code) {
|
||||
do_code16 (code, register_code);
|
||||
if (IS_MOD(code) || code == KC_NO) {
|
||||
do_code16 (code, qk_register_mods);
|
||||
} else {
|
||||
do_code16 (code, qk_register_weak_mods);
|
||||
}
|
||||
register_code (code);
|
||||
}
|
||||
|
||||
void unregister_code16 (uint16_t code) {
|
||||
unregister_code (code);
|
||||
do_code16 (code, unregister_code);
|
||||
if (IS_MOD(code) || code == KC_NO) {
|
||||
do_code16 (code, qk_unregister_mods);
|
||||
} else {
|
||||
do_code16 (code, qk_unregister_weak_mods);
|
||||
}
|
||||
}
|
||||
|
||||
__attribute__ ((weak))
|
||||
|
@ -49,6 +49,13 @@ void action_exec(keyevent_t event)
|
||||
|
||||
keyrecord_t record = { .event = event };
|
||||
|
||||
#if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0))
|
||||
if (has_oneshot_layer_timed_out()) {
|
||||
dprintf("Oneshot layer: timeout\n");
|
||||
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef NO_ACTION_TAPPING
|
||||
action_tapping_process(record);
|
||||
#else
|
||||
@ -100,7 +107,7 @@ bool process_record_quantum(keyrecord_t *record) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void process_record(keyrecord_t *record)
|
||||
void process_record(keyrecord_t *record)
|
||||
{
|
||||
if (IS_NOEVENT(record->event)) { return; }
|
||||
|
||||
@ -126,13 +133,6 @@ void process_action(keyrecord_t *record, action_t action)
|
||||
uint8_t tap_count = record->tap.count;
|
||||
#endif
|
||||
|
||||
#if (defined(ONESHOT_TIMEOUT) && (ONESHOT_TIMEOUT > 0))
|
||||
if (has_oneshot_layer_timed_out()) {
|
||||
dprintf("Oneshot layer: timeout\n");
|
||||
clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (event.pressed) {
|
||||
// clear the potential weak mods left by previously pressed keys
|
||||
clear_weak_mods();
|
||||
|
@ -7,21 +7,49 @@ rev=$(git rev-parse --short HEAD)
|
||||
git config --global user.name "Travis CI"
|
||||
git config --global user.email "jack.humb+travis.ci@gmail.com"
|
||||
|
||||
make ergodox-ez AUTOGEN=true
|
||||
if [[ "$TRAVIS_BRANCH" == "master" ]] ; then
|
||||
|
||||
find . -name ".build" | xargs rm -rf
|
||||
cd ..
|
||||
git clone https://$GH_TOKEN@github.com/jackhumbert/qmk.fm.git
|
||||
cd qmk.fm
|
||||
git submodule update --init --recursive
|
||||
rm -rf keyboard
|
||||
rm -rf keyboards
|
||||
cp -r ../qmk_firmware/keyboards .
|
||||
mkdir keyboards/ergodox_ez/
|
||||
cp ../qmk_firmware/util/ergodox_ez.html keyboards/ergodox_ez/index.html
|
||||
cp ../qmk_firmware/readme.md qmk_readme.md
|
||||
./generate.sh
|
||||
increment_version ()
|
||||
{
|
||||
declare -a part=( ${1//\./ } )
|
||||
part[2]=$((part[2] + 1))
|
||||
new="${part[*]}"
|
||||
echo -e "${new// /.}"
|
||||
}
|
||||
|
||||
git add -A
|
||||
git commit -m "generated from qmk_firmware/$TRAVIS_BRANCH@${rev}"
|
||||
git push
|
||||
NEFM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/)' | wc -l)
|
||||
if [[ $NEFM -gt 0 ]] ; then
|
||||
echo "Essential files modified."
|
||||
git fetch --tags
|
||||
lasttag=$(git tag | grep -Ev '\-' | xargs -I@ git log --format=format:"%ai @%n" -1 @ | sort -V | awk '{print $4}' | tail -1)
|
||||
newtag=$(increment_version $lasttag)
|
||||
git tag $newtag
|
||||
git push --tags -q https://$GH_TOKEN@github.com/qmk/qmk_firmware
|
||||
else
|
||||
echo "No essential files modified."
|
||||
fi
|
||||
|
||||
if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
|
||||
|
||||
make ergodox-ez AUTOGEN=true
|
||||
|
||||
find . -name ".build" | xargs rm -rf
|
||||
cd ..
|
||||
git clone https://$GH_TOKEN@github.com/jackhumbert/qmk.fm.git
|
||||
cd qmk.fm
|
||||
git submodule update --init --recursive
|
||||
rm -rf keyboard
|
||||
rm -rf keyboards
|
||||
cp -r ../qmk_firmware/keyboards .
|
||||
mkdir keyboards/ergodox_ez/
|
||||
cp ../qmk_firmware/util/ergodox_ez.html keyboards/ergodox_ez/index.html
|
||||
cp ../qmk_firmware/readme.md qmk_readme.md
|
||||
./generate.sh
|
||||
|
||||
git add -A
|
||||
git commit -m "generated from qmk/qmk_firmware@${rev}"
|
||||
git push
|
||||
|
||||
fi
|
||||
|
||||
fi
|
Reference in New Issue
Block a user