From 6dcd8495154342b9db7d894ede71d9ed2c4eb55c Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Fri, 27 Apr 2012 11:18:59 +0800 Subject: [PATCH 1/6] remove x shortcut in crereader --- crereader.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/crereader.lua b/crereader.lua index 4aaad0c39..d59a35722 100644 --- a/crereader.lua +++ b/crereader.lua @@ -304,6 +304,7 @@ function CREReader:adjustCreReaderCommands() self.commands:del(KEY_D, nil, "D") self.commands:del(KEY_D, MOD_SHIFT, "D") self.commands:del(KEY_D, MOD_ALT, "D") + self.commands:del(KEY_X, nil, "X") self.commands:del(KEY_F, MOD_SHIFT, "F") self.commands:del(KEY_F, MOD_ALT, "F") self.commands:del(KEY_N, nil, "N") -- highlight From 6a479aee80bb5e337f32c2fec78de1b6d51fc0ff Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Fri, 27 Apr 2012 20:37:07 +0200 Subject: [PATCH 2/6] support pressed or repeating keys --- unireader.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unireader.lua b/unireader.lua index 8b6b4bfb8..2bce82924 100644 --- a/unireader.lua +++ b/unireader.lua @@ -1792,7 +1792,7 @@ function UniReader:inputLoop() while 1 do local ev = input.saveWaitForEvent() ev.code = adjustKeyEvents(ev) - if ev.type == EV_KEY and ev.value == EVENT_VALUE_KEY_PRESS then + if ev.type == EV_KEY and ev.value ~= EVENT_VALUE_KEY_RELEASE then local secs, usecs = util.gettime() keydef = Keydef:new(ev.code, getKeyModifier()) debug("key pressed:", tostring(keydef)) From 9bdf4bf4c76bb876f7ce93557c4bfe16a69c552c Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Fri, 27 Apr 2012 20:38:24 +0200 Subject: [PATCH 3/6] prevent full screen refresh if key is repeating #142 --- unireader.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/unireader.lua b/unireader.lua index 2bce82924..23181932a 100644 --- a/unireader.lua +++ b/unireader.lua @@ -1810,6 +1810,13 @@ function UniReader:inputLoop() local nsecs, nusecs = util.gettime() local dur = (nsecs - secs) * 1000000 + nusecs - usecs debug("E: T="..ev.type, " V="..ev.value, " C="..ev.code, " DUR=", dur) + + if ev.value == EVENT_VALUE_KEY_REPEAT then + self.rcount = 0 + debug("prevent full screen refresh", self.rcount) + end + else + debug("ignored ev ",ev) end end From c688e6e20caec9f12ff8c257a4f05ff5f16f1667 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Fri, 27 Apr 2012 23:35:33 +0200 Subject: [PATCH 4/6] few more places in which repeat key is useful --- filechooser.lua | 2 +- filesearcher.lua | 2 +- inputbox.lua | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/filechooser.lua b/filechooser.lua index 688160ddd..0e4ff59a2 100644 --- a/filechooser.lua +++ b/filechooser.lua @@ -169,7 +169,7 @@ function FileChooser:choose(ypos, height) local ev = input.saveWaitForEvent() --debug("key code:"..ev.code) ev.code = adjustKeyEvents(ev) - if ev.type == EV_KEY and ev.value == EVENT_VALUE_KEY_PRESS then + if ev.type == EV_KEY and ev.value ~= EVENT_VALUE_KEY_RELEASE then if ev.code == KEY_FW_UP then prevItem() elseif ev.code == KEY_FW_DOWN then diff --git a/filesearcher.lua b/filesearcher.lua index d3c7827f5..f36d14152 100644 --- a/filesearcher.lua +++ b/filesearcher.lua @@ -292,7 +292,7 @@ function FileSearcher:choose(keywords) local ev = input.saveWaitForEvent() ev.code = adjustKeyEvents(ev) - if ev.type == EV_KEY and ev.value == EVENT_VALUE_KEY_PRESS then + if ev.type == EV_KEY and ev.value ~= EVENT_VALUE_KEY_RELEASE then keydef = Keydef:new(ev.code, getKeyModifier()) debug("key pressed: "..tostring(keydef)) diff --git a/inputbox.lua b/inputbox.lua index 239267d5b..34339841d 100644 --- a/inputbox.lua +++ b/inputbox.lua @@ -185,7 +185,7 @@ function InputBox:input(ypos, height, title, d_text, is_hint) while true do local ev = input.saveWaitForEvent() ev.code = adjustKeyEvents(ev) - if ev.type == EV_KEY and ev.value == EVENT_VALUE_KEY_PRESS then + if ev.type == EV_KEY and ev.value ~= EVENT_VALUE_KEY_RELEASE then keydef = Keydef:new(ev.code, getKeyModifier()) debug("key pressed: "..tostring(keydef)) From 761cd68964e9d7d4571d9757dfb5780c7c6870cb Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Fri, 27 Apr 2012 23:45:07 +0200 Subject: [PATCH 5/6] highlight mode also benefits from key repeat --- unireader.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/unireader.lua b/unireader.lua index 23181932a..4ff82b109 100644 --- a/unireader.lua +++ b/unireader.lua @@ -556,7 +556,7 @@ function UniReader:startHighLightMode() while running do local ev = input.saveWaitForEvent() ev.code = adjustKeyEvents(ev) - if ev.type == EV_KEY and ev.value == EVENT_VALUE_KEY_PRESS then + if ev.type == EV_KEY and ev.value ~= EVENT_VALUE_KEY_RELEASE then if ev.code == KEY_FW_LEFT and not is_meet_start then is_meet_end = false l.new, w.new, is_meet_start = _prevGap(t, l.cur, w.cur) @@ -780,7 +780,7 @@ function UniReader:startHighLightMode() while running do local ev = input.saveWaitForEvent() ev.code = adjustKeyEvents(ev) - if ev.type == EV_KEY and ev.value == EVENT_VALUE_KEY_PRESS then + if ev.type == EV_KEY and ev.value ~= EVENT_VALUE_KEY_RELEASE then if ev.code == KEY_FW_LEFT then is_meet_end = false if not is_meet_start then From db02c7ca1d115b6d95765441cb4fc379636d25b4 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Sat, 28 Apr 2012 09:28:50 +0800 Subject: [PATCH 6/6] apply key repeat from menus --- selectmenu.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/selectmenu.lua b/selectmenu.lua index 186f6fb4d..dae914d0d 100644 --- a/selectmenu.lua +++ b/selectmenu.lua @@ -317,7 +317,7 @@ function SelectMenu:choose(ypos, height) local ev = input.saveWaitForEvent() ev.code = adjustKeyEvents(ev) - if ev.type == EV_KEY and ev.value == EVENT_VALUE_KEY_PRESS then + if ev.type == EV_KEY and ev.value ~= EVENT_VALUE_KEY_RELEASE then keydef = Keydef:new(ev.code, getKeyModifier()) debug("key pressed: "..tostring(keydef))