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 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)) 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)) diff --git a/unireader.lua b/unireader.lua index 8b6b4bfb8..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 @@ -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)) @@ -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