diff --git a/userspace/usr/comma/comma.sh b/userspace/usr/comma/comma.sh index 1608241..890b292 100755 --- a/userspace/usr/comma/comma.sh +++ b/userspace/usr/comma/comma.sh @@ -38,27 +38,18 @@ handle_setup_keys () { fi } -# trigger factory reset if screen is pressed for 2s -TOUCH_CNT=0 -for ((i=0; i < 100; i++)); do - # EV_KEY 330 = BTN_TOUCH, returns 10 when pressed - evtest --query /dev/input/by-path/platform-894000.i2c-event EV_KEY 330 - if [ "$?" -eq 10 ]; then - ((TOUCH_CNT++)) - fi - sleep 0.02 -done - -if [ -f "$RESET_TRIGGER" ] || (( TOUCH_CNT >= 10 )); then - echo "launching system reset" +# factory reset handling +if [ -f "$RESET_TRIGGER" ]; then + echo "launching system reset, reset trigger present" rm -f $RESET_TRIGGER $RESET -fi - -# load system reset if userdata is not mounted -if ! mountpoint -q /data; then +elif ! mountpoint -q /data; then echo "userdata not mounted. loading system reset" - $RESET --recover + if [ "$(head -c 15 /dev/disk/by-partlabel/userdata)" == "COMMA_ABL_RESET" ]; then + $RESET --format + else + $RESET --recover + fi fi # symlink vscode to userdata diff --git a/userspace/usr/comma/reset b/userspace/usr/comma/reset index abf3507..1b3c573 100755 Binary files a/userspace/usr/comma/reset and b/userspace/usr/comma/reset differ