From d8421c6fbe40862ec5f418d62066c7e85fe6bbea Mon Sep 17 00:00:00 2001 From: urob <978080+urob@users.noreply.github.com> Date: Mon, 31 Jul 2023 10:58:21 -0400 Subject: [PATCH 1/2] Tune combo timing --- config/combos.dtsi | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/config/combos.dtsi b/config/combos.dtsi index 79dde3bf1..5905d313a 100644 --- a/config/combos.dtsi +++ b/config/combos.dtsi @@ -9,10 +9,10 @@ // use global-quick-tap-ms for combos (requires PR 1387) #undef COMBO_HOOK -#define COMBO_HOOK global-quick-tap-ms = <100>; +#define COMBO_HOOK global-quick-tap-ms = <150>; -#define COMBO_TERM_FAST 20 -#define COMBO_TERM_SLOW 35 +#define COMBO_TERM_FAST 18 +#define COMBO_TERM_SLOW 30 // make homerow combos tap-only (so HRMs can be chorded instantaneously) #define HRC_TAB &hml LA(LCTRL) TAB @@ -23,12 +23,12 @@ /* Horizontal combos - left hand */ ZMK_COMBO(esc, &kp ESC, LT3 LT2, DEF NAV NUM, COMBO_TERM_FAST) ZMK_COMBO(ret, &kp RETURN, LT2 LT1, DEF NAV NUM, COMBO_TERM_FAST) -ZMK_COMBO(mouse, &smart_mouse, LT3 LT1, DEF NAV NUM, COMBO_TERM_SLOW) +ZMK_COMBO(mouse, &smart_mouse, LT3 LT1, DEF NAV NUM, COMBO_TERM_FAST) ZMK_COMBO(tab, HRC_TAB, LM3 LM2, DEF NAV NUM, COMBO_TERM_FAST) ZMK_COMBO(repeat,HRC_REPEAT, LM2 LM1, DEF NAV NUM, COMBO_TERM_FAST) -ZMK_COMBO(cut, &kp LC(X), LB3 LB1, DEF NAV NUM, COMBO_TERM_SLOW) +ZMK_COMBO(cut, &kp LC(X), LB3 LB1, DEF NAV NUM, COMBO_TERM_FAST) ZMK_COMBO(copy, &kp LC(INS), LB3 LB2, DEF NAV NUM, COMBO_TERM_FAST) ZMK_COMBO(paste, &kp LS(INS), LB2 LB1, DEF NAV NUM, COMBO_TERM_FAST) @@ -46,8 +46,8 @@ ZMK_COMBO(rbkt, &kp RBKT, RB2 RB3, DEF NUM, COMBO_TERM_FAST) ZMK_COMBO(lbrc, &kp LBRC, RB1 RB2, NAV , COMBO_TERM_FAST) ZMK_COMBO(rbrc, &kp RBRC, RB2 RB3, NAV , COMBO_TERM_FAST) -ZMK_COMBO(grk, &sl UC, RT1 RT3, DEF NAV NUM, COMBO_TERM_SLOW) -ZMK_COMBO(cpgrk, &sls 0, RT1 RT2 RT3, DEF NAV NUM, COMBO_TERM_SLOW) +ZMK_COMBO(grk, &sl UC, RT1 RT3, DEF NAV NUM, COMBO_TERM_FAST) +ZMK_COMBO(cpgrk, &sls 0, RT1 RT2 RT3, DEF NAV NUM, COMBO_TERM_FAST) /* Vertical combos - left hand */ ZMK_COMBO(at, &kp AT, LT3 LM3, DEF NAV NUM, COMBO_TERM_SLOW) From 4fbcfb1afabe066e0fd3ba7a209cd4c3cc846b76 Mon Sep 17 00:00:00 2001 From: urob <978080+urob@users.noreply.github.com> Date: Mon, 31 Jul 2023 11:53:21 -0400 Subject: [PATCH 2/2] Squashed commit of the following: commit ea2fdc05e454f6fb0d7e5468e0f40b9497c6a0b0 Author: urob <978080+urob@users.noreply.github.com> Date: Mon Jul 31 10:56:02 2023 -0400 Multithreading support for docker/podman commit 9da06f8f5c97da66a6be83bbaa144f60759a9b89 Merge: c21715b c7e299e Author: urob <978080+urob@users.noreply.github.com> Date: Tue Jun 27 16:53:15 2023 -0400 Merge remote-tracking branch 'ffnf/main' into parallel commit c7e299e5588ba85586c0231e53f544d1e71cf2dc Author: ffnf <133487359+ffnf@users.noreply.github.com> Date: Sat May 13 18:59:27 2023 +0700 Add multithreading when running locally Run it by using the `-m` option. It can only run locally, so the `-l` option must be included. Therefore, it should be `-l -m` Co-authored-by: ffnf <133487359+ffnf@users.noreply.github.com> --- scripts/zmk_build.sh | 42 +++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/scripts/zmk_build.sh b/scripts/zmk_build.sh index 849f612b8..332f394e5 100755 --- a/scripts/zmk_build.sh +++ b/scripts/zmk_build.sh @@ -12,6 +12,10 @@ while [[ $# -gt 0 ]]; do RUNWITH_DOCKER="false" ;; + -m|--multithread) + MULTITHREAD="true" + ;; + -c|--clear-cache) CLEAR_CACHE="true" ;; @@ -128,7 +132,8 @@ fi if [[ $RUNWITH_DOCKER = true ]] then echo "Build mode: docker" - DOCKER_CMD="$DOCKER_BIN run --name zmk-$ZEPHYR_VERSION --rm \ + # DOCKER_CMD="$DOCKER_BIN run --name zmk-$ZEPHYR_VERSION --rm \ + DOCKER_CMD="$DOCKER_BIN run --rm \ --mount type=bind,source=$HOST_ZMK_DIR,target=$DOCKER_ZMK_DIR \ --mount type=bind,source=$HOST_CONFIG_DIR,target=$DOCKER_CONFIG_DIR,readonly \ --mount type=volume,source=zmk-root-user-$ZEPHYR_VERSION,target=/root \ @@ -165,15 +170,15 @@ fi # usage: compile_board board compile_board () { - echo -en "\n$(tput setaf 2)Building $1... $(tput sgr0)" BUILD_DIR="${1}_$SUFFIX" LOGFILE="$LOG_DIR/zmk_build_$1.log" + [[ $MULTITHREAD = "true" ]] || echo -en "\n$(tput setaf 2)Building $1... $(tput sgr0)" + [[ $MULTITHREAD = "true" ]] && echo -e "$(tput setaf 2)Building $1... $(tput sgr0)" $DOCKER_PREFIX west build -d "build/$BUILD_DIR" -b $1 $WEST_OPTS \ -- -DZMK_CONFIG="$CONFIG_DIR" -Wno-dev > "$LOGFILE" 2>&1 if [[ $? -eq 0 ]] then - # echo "$(tput setaf 4)Success: $1 done$(tput sgr0)" - echo "$(tput setaf 2)done$(tput sgr0)" + [[ $MULTITHREAD = "true" ]] || echo "$(tput setaf 2)done$(tput sgr0)" echo "Build log saved to \"$LOGFILE\"." if [[ -f $HOST_ZMK_DIR/app/build/$BUILD_DIR/zephyr/zmk.uf2 ]] then @@ -192,8 +197,27 @@ compile_board () { } cd "$HOST_ZMK_DIR/app" -for board in $(echo $BOARDS | sed 's/,/ /g') -do - compile_board $board -done - +if [[ $MULTITHREAD = "true" ]]; then + i=1 + for board in $(echo $BOARDS | sed 's/,/ /g') + do + compile_board $board & + eval "T${i}=\${!}" + eval "B${i}=\$board" # Store the board name in a corresponding variable + ((i++)) + done + + echo "Starting $(($i - 1)) background threads:" + for ((x=1; x