From 2485a552eb877b2de2f2d04fb0d724ff7fbd935e Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Thu, 7 Jun 2012 23:39:28 +0800 Subject: [PATCH] first try to fix #127 --- commands.lua | 59 ++++++++++++++++++++++++++++++++++++++++++---------- reader.lua | 2 ++ 2 files changed, 50 insertions(+), 11 deletions(-) diff --git a/commands.lua b/commands.lua index 89c8b0f37..4819af607 100644 --- a/commands.lua +++ b/commands.lua @@ -165,22 +165,59 @@ function Commands:new(obj) obj:add(KEY_INTO_SCREEN_SAVER, nil, "Slider", "toggle screen saver", function() - Screen:saveCurrentBB() - InfoMessage:show("Going into screensaver... ", 0) - Screen.kpv_rotation_mode = Screen.cur_rotation_mode - fb:setOrientation(Screen.native_rotation_mode) - util.sleep(1) - os.execute("killall -cont cvm") + --os.execute("echo 'screensaver in' >> /mnt/us/event_test.txt") + if G_charging_mode == false and G_screen_saver_mode == false then + Screen:saveCurrentBB() + InfoMessage:show("Going into screensaver... ", 0) + Screen.kpv_rotation_mode = Screen.cur_rotation_mode + fb:setOrientation(Screen.native_rotation_mode) + util.sleep(1) + os.execute("killall -cont cvm") + G_screen_saver_mode = true + end end ) obj:add(KEY_OUTOF_SCREEN_SAVER, nil, "Slider", "toggle screen saver", function() - util.usleep(1500000) - os.execute("killall -stop cvm") - fb:setOrientation(Screen.kpv_rotation_mode) - Screen:restoreFromSavedBB() - fb:refresh(0) + --os.execute("echo 'screensaver out' >> /mnt/us/event_test.txt") + if G_screen_saver_mode == true and G_charging_mode == false then + util.usleep(1500000) + os.execute("killall -stop cvm") + fb:setOrientation(Screen.kpv_rotation_mode) + Screen:restoreFromSavedBB() + fb:refresh(0) + end + G_screen_saver_mode = false + end + ) + obj:add(KEY_CHARGING, nil, nil, + "", + function() + --os.execute("echo 'usb in' >> /mnt/us/event_test.txt") + if G_charging_mode == false and G_screen_saver_mode == false then + Screen:saveCurrentBB() + Screen.kpv_rotation_mode = Screen.cur_rotation_mode + fb:setOrientation(Screen.native_rotation_mode) + InfoMessage:show("Going into USB mode... ", 0) + util.sleep(1) + os.execute("killall -cont cvm") + end + G_charging_mode = true + end + ) + obj:add(KEY_NOT_CHARGING, nil, nil, + "", + function() + --os.execute("echo 'usb out' >> /mnt/us/event_test.txt") + if G_charging_mode == true and G_screen_saver_mode == false then + util.usleep(1500000) + os.execute("killall -stop cvm") + fb:setOrientation(Screen.kpv_rotation_mode) + Screen:restoreFromSavedBB() + fb:refresh(0) + end + G_charging_mode = false end ) return obj diff --git a/reader.lua b/reader.lua index c8a187fed..94b36b173 100755 --- a/reader.lua +++ b/reader.lua @@ -112,6 +112,8 @@ else end end +G_screen_saver_mode = false +G_charging_mode = false fb = einkfb.open("/dev/fb0") G_width, G_height = fb:getSize() -- read current rotation mode