From 722b643d750828f0dd064362ab224a2288ee3bb9 Mon Sep 17 00:00:00 2001 From: Thijs Schreijer Date: Mon, 21 Apr 2025 13:19:42 +0200 Subject: fix(input): maximum sleep delay on backoff 0.1 seconds (#69) Current setting of 0.2 sometimes makes the response feel sluggish. --- CHANGELOG.md | 6 +++++- system/init.lua | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d4107d6..9bd02ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,9 +27,13 @@ The scope of what is covered by the version number excludes: ## Version history +### version x.x.x, unreleased + +- Fix: maximum key-delay, reduced from 0.2 to 0.1 seconds to reduce slugginess feel on some key presses. + ### version 0.6.2, released 15-Apr-2025 - - Fix: autotermrestore didn't work because its metatable was overwritten. +- Fix: autotermrestore didn't work because its metatable was overwritten. ### version 0.6.1, released 13-Apr-2025 diff --git a/system/init.lua b/system/init.lua index 9c86c4a..f05b237 100644 --- a/system/init.lua +++ b/system/init.lua @@ -239,7 +239,7 @@ end do --- Reads a single byte from the console, with a timeout. -- This function uses `fsleep` to wait until either a byte is available or the timeout is reached. - -- The sleep period is exponentially backing off, starting at 0.0125 seconds, with a maximum of 0.2 seconds. + -- The sleep period is exponentially backing off, starting at 0.0125 seconds, with a maximum of 0.1 seconds. -- It returns immediately if a byte is available or if `timeout` is less than or equal to `0`. -- -- Using `system.readansi` is preferred over this function. Since this function can leave stray/invalid @@ -263,7 +263,7 @@ do return nil, err end timeout = timeout - interval - interval = math.min(0.2, interval * 2) + interval = math.min(0.1, interval * 2) key = system._readkey() end -- cgit v1.2.3-55-g6feb