Merge pull request #170 from infernalmaster/master

Fix UX for XBOX layout
This commit is contained in:
GNU 2019-02-12 17:19:56 +08:00 committed by GitHub
commit b7cd5aaf90
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 224 additions and 244 deletions

View File

@ -14,7 +14,7 @@ from UI.page import Page,PageSelector
from UI.label import Label from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect from UI.util_funcs import midRect
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyMenuOrB
from UI.scroller import ListScroller from UI.scroller import ListScroller
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.icon_item import IconItem from UI.icon_item import IconItem
@ -300,7 +300,7 @@ class AboutPage(Page):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()

View File

@ -14,7 +14,7 @@ from UI.page import Page,PageSelector
from UI.label import Label from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect from UI.util_funcs import midRect
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.scroller import ListScroller from UI.scroller import ListScroller
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.icon_item import IconItem from UI.icon_item import IconItem
@ -24,7 +24,7 @@ from UI.lang_manager import MyLangManager
from UI.multilabel import MultiLabel from UI.multilabel import MultiLabel
class AirplanePage(Page): class AirplanePage(Page):
_FootMsg = ["Nav","Rescue","","Back","Toggle"] _FootMsg = ["Nav","","Rescue","Back","Toggle"]
_MyList = [] _MyList = []
_ListFontObj = MyLangManager.TrFont("varela13") _ListFontObj = MyLangManager.TrFont("varela13")
@ -194,12 +194,12 @@ class AirplanePage(Page):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
self.ToggleModeAni() self.ToggleModeAni()
""" """
self.ToggleMode() self.ToggleMode()

View File

@ -17,7 +17,7 @@ from UI.page import Page,PageSelector
from UI.label import Label from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect from UI.util_funcs import midRect
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.scroller import ListScroller from UI.scroller import ListScroller
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.icon_item import IconItem from UI.icon_item import IconItem
@ -39,12 +39,12 @@ class BleForgetConfirmPage(ConfirmPage):
_ConfirmText = MyLangManager.Tr("ConfirmForgetQ") _ConfirmText = MyLangManager.Tr("ConfirmForgetQ")
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
self.SnapMsg(MyLangManager.Tr("Deleting")) self.SnapMsg(MyLangManager.Tr("Deleting"))
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
@ -97,7 +97,7 @@ class BleInfoPageSelector(PageSelector):
(x,y,self._Width-4,h),self._BackgroundColor,4,0,self._BackgroundColor) (x,y,self._Width-4,h),self._BackgroundColor,4,0,self._BackgroundColor)
class BleInfoPage(Page): class BleInfoPage(Page):
_FootMsg = ["Nav","Disconnect","Forget","Back",""] _FootMsg = ["Nav","Forget","Disconnect","Back",""]
_MyList = [] _MyList = []
_ListFontObj = MyLangManager.TrFont("varela15") _ListFontObj = MyLangManager.TrFont("varela15")
_ListSmFontObj = fonts["varela12"] # small font _ListSmFontObj = fonts["varela12"] # small font
@ -266,7 +266,7 @@ class BleInfoPage(Page):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
@ -280,7 +280,7 @@ class BleInfoPage(Page):
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["Enter"]: if IsKeyStartOrA(event.key):
self.Click() self.Click()
if event.key == CurKeys["X"]: if event.key == CurKeys["X"]:
@ -378,7 +378,7 @@ class BluetoothPage(Page):
_BlockCb = None _BlockCb = None
_LastStatusMsg = "" _LastStatusMsg = ""
_FootMsg = ["Nav","Scan","Info","Back","TryConnect"] _FootMsg = ["Nav","Info","Scan","Back","TryConnect"]
_Scroller = None _Scroller = None
_ListFontObj = fonts["notosanscjk15"] _ListFontObj = fonts["notosanscjk15"]
@ -637,7 +637,7 @@ class BluetoothPage(Page):
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
if self._Offline == True: if self._Offline == True:
self.AbortedAndReturnToUpLevel() self.AbortedAndReturnToUpLevel()
return return
@ -688,7 +688,7 @@ class BluetoothPage(Page):
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
if self._Offline == False: if self._Offline == False:
self.TryConnect() self.TryConnect()

View File

@ -7,7 +7,7 @@ import dbus
#from beeprint import pp #from beeprint import pp
from libs.roundrects import aa_round_rect from libs.roundrects import aa_round_rect
from UI.page import Page,PageSelector from UI.page import Page,PageSelector
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyMenuOrB
from libs.DBUS import bus, adapter,devices from libs.DBUS import bus, adapter,devices
@ -204,7 +204,7 @@ class BleAgentPairPage(Page):
self._Screen._FootBar.ResetNavText() self._Screen._FootBar.ResetNavText()
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
if self._dev_obj != None: if self._dev_obj != None:
try: try:
self._dev_obj.CancelPairing() self._dev_obj.CancelPairing()

View File

@ -12,7 +12,7 @@ from UI.label import Label
from UI.icon_item import IconItem from UI.icon_item import IconItem
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect from UI.util_funcs import midRect
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyMenuOrB
from UI.slider import Slider from UI.slider import Slider
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.multi_icon_item import MultiIconItem from UI.multi_icon_item import MultiIconItem
@ -161,7 +161,7 @@ class BrightnessPage(Page):
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()

View File

@ -11,7 +11,7 @@ from UI.page import Page,PageSelector
from UI.label import Label from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect from UI.util_funcs import midRect
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, GetButtonsLayoutMode, SetButtonsLayoutMode, IsKeyStartOrA, IsKeyMenuOrB
from UI.scroller import ListScroller from UI.scroller import ListScroller
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.icon_item import IconItem from UI.icon_item import IconItem
@ -72,12 +72,12 @@ class UpdateConfirmPage(ConfirmPage):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
return return
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
if self._LayoutMode == "xbox": if self._LayoutMode == "xbox":
keymap = ["j","k","u","i"] keymap = ["j","k","u","i"]
@ -115,7 +115,7 @@ class UpdateConfirmPage(ConfirmPage):
self.Reset() self.Reset()
class ButtonsLayoutPage(Page): class ButtonsLayoutPage(Page):
_FootMsg = ["Nav.","UpdateRetroArch","","Back","Toggle"] _FootMsg = ["Nav.","","UpdateRetroArch","Back","Toggle"]
_MyList = [] _MyList = []
_ListFontObj = fonts["varela13"] _ListFontObj = fonts["varela13"]
@ -172,7 +172,7 @@ class ButtonsLayoutPage(Page):
self._Scroller.SetCanvasHWND(self._HWND) self._Scroller.SetCanvasHWND(self._HWND)
self._ConfirmPage = UpdateConfirmPage() self._ConfirmPage = UpdateConfirmPage()
self._ConfirmPage._LayoutMode = self.GetButtonsLayoutMode() self._ConfirmPage._LayoutMode = GetButtonsLayoutMode()
self._ConfirmPage._Screen = self._Screen self._ConfirmPage._Screen = self._Screen
self._ConfirmPage._Name = "Overwrite RA conf" self._ConfirmPage._Name = "Overwrite RA conf"
self._ConfirmPage._Parent = self self._ConfirmPage._Parent = self
@ -191,31 +191,16 @@ class ButtonsLayoutPage(Page):
self._PosY += dis self._PosY += dis
self._Scrolled += dis self._Scrolled += dis
def GetButtonsLayoutMode(self):
lm = "xbox"
try:
with open(".buttonslayout", "r") as f:
lm = f.read()
except:
None
if lm not in ["xbox","snes"]:
lm = "xbox"
return lm
def ToggleMode(self): def ToggleMode(self):
if self.GetButtonsLayoutMode() == "xbox": if GetButtonsLayoutMode() == "xbox":
SetButtonsLayoutMode("snes")
with open(".buttonslayout", "w") as f:
f.write("snes")
self._dialog_index = 1 self._dialog_index = 1
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
else: else:
SetButtonsLayoutMode("xbox")
with open(".buttonslayout", "w") as f:
f.write("xbox")
self._dialog_index = 0 self._dialog_index = 0
self._Screen.Draw() self._Screen.Draw()
@ -226,10 +211,7 @@ class ButtonsLayoutPage(Page):
self._PosY = 0 self._PosY = 0
self._DrawOnce = False self._DrawOnce = False
if self.GetButtonsLayoutMode() == "xbox": self._dialog_index = 0 if GetButtonsLayoutMode() == "xbox" else 1
self._dialog_index = 0
else:
self._dialog_index = 1
def OnReturnBackCb(self): def OnReturnBackCb(self):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
@ -237,16 +219,16 @@ class ButtonsLayoutPage(Page):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
self.ToggleMode() self.ToggleMode()
if event.key == CurKeys["X"]: if event.key == CurKeys["X"]:
self._ConfirmPage._LayoutMode = self.GetButtonsLayoutMode() self._ConfirmPage._LayoutMode = GetButtonsLayoutMode()
self._Screen.PushPage(self._ConfirmPage) self._Screen.PushPage(self._ConfirmPage)
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()

View File

@ -13,7 +13,7 @@ from UI.page import Page,PageSelector
from UI.label import Label from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect,FileExists from UI.util_funcs import midRect,FileExists
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.scroller import ListScroller from UI.scroller import ListScroller
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.icon_item import IconItem from UI.icon_item import IconItem
@ -76,7 +76,7 @@ class PageListItem(InfoPageListItem):
pygame.draw.line(self._Parent._CanvasHWND,MySkinManager.GiveColor('Line'),(self._PosX,self._PosY+self._Height-1),(self._PosX+self._Width,self._PosY+self._Height-1),1) pygame.draw.line(self._Parent._CanvasHWND,MySkinManager.GiveColor('Line'),(self._PosX,self._PosY+self._Height-1),(self._PosX+self._Width,self._PosY+self._Height-1),1)
class GateWayPage(Page): class GateWayPage(Page):
_FootMsg = ["Nav","","Clear All","Back","Select"] _FootMsg = ["Nav","Clear All","","Back","Select"]
_MyList = [] _MyList = []
_ListFont = fonts["notosanscjk15"] _ListFont = fonts["notosanscjk15"]
@ -268,12 +268,12 @@ class GateWayPage(Page):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
""" """
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
self.Click() self.Click()
if event.key == CurKeys["Y"]: if event.key == CurKeys["Y"]:

View File

@ -13,7 +13,7 @@ from UI.page import Page,PageSelector
from UI.label import Label from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect from UI.util_funcs import midRect
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.scroller import ListScroller from UI.scroller import ListScroller
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.icon_item import IconItem from UI.icon_item import IconItem
@ -231,12 +231,12 @@ class LanguagesPage(Page):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
""" """
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
self.Click() self.Click()
if event.key == CurKeys["Up"]: if event.key == CurKeys["Up"]:

View File

@ -13,7 +13,7 @@ from UI.page import Page,PageSelector
from UI.label import Label from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect,FileExists from UI.util_funcs import midRect,FileExists
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.scroller import ListScroller from UI.scroller import ListScroller
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.icon_item import IconItem from UI.icon_item import IconItem
@ -218,12 +218,12 @@ class GPUDriverPage(Page):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
""" """
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
self.Click() self.Click()
if event.key == CurKeys["Up"]: if event.key == CurKeys["Up"]:

View File

@ -17,7 +17,7 @@ from UI.page import Page,PageSelector
from UI.label import Label from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect,FileExists,IsExecutable from UI.util_funcs import midRect,FileExists,IsExecutable
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.scroller import ListScroller from UI.scroller import ListScroller
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.icon_item import IconItem from UI.icon_item import IconItem
@ -194,12 +194,12 @@ class NotificationPage(Page):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
self._Screen._MsgBox.SetText("Applying") self._Screen._MsgBox.SetText("Applying")
self._Screen._MsgBox.Draw() self._Screen._MsgBox.Draw()

View File

@ -4,7 +4,7 @@ import pygame
#UI lib #UI lib
from UI.constants import RUNSYS from UI.constants import RUNSYS
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.confirm_page import ConfirmPage from UI.confirm_page import ConfirmPage
from UI.lang_manager import MyLangManager from UI.lang_manager import MyLangManager
import config import config
@ -40,13 +40,13 @@ class PowerOffConfirmPage(ConfirmPage):
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
if self.CheckBattery() < 20: if self.CheckBattery() < 20:
cmdpath = "feh --bg-center gameshell/wallpaper/gameover.png;" cmdpath = "feh --bg-center gameshell/wallpaper/gameover.png;"
else: else:

View File

@ -14,7 +14,7 @@ from UI.page import Page,PageSelector
from UI.label import Label from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect from UI.util_funcs import midRect
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.scroller import ListScroller from UI.scroller import ListScroller
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.icon_item import IconItem from UI.icon_item import IconItem
@ -268,7 +268,7 @@ class InfoPage(Page):
""" """
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
@ -290,7 +290,7 @@ class InfoPage(Page):
i.Draw() i.Draw()
class PowerOptionsPage(Page): class PowerOptionsPage(Page):
_FootMsg = ["Nav","","Detail","Back","Select"] _FootMsg = ["Nav","Detail","","Back","Select"]
_MyList = [] _MyList = []
_ListFont = fonts["notosanscjk15"] _ListFont = fonts["notosanscjk15"]
@ -461,12 +461,12 @@ class PowerOptionsPage(Page):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
""" """
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
self.Click() self.Click()
if event.key == CurKeys["Up"]: if event.key == CurKeys["Up"]:

View File

@ -13,7 +13,7 @@ from UI.icon_item import IconItem
from UI.label import Label from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect from UI.util_funcs import midRect
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyMenuOrB
from UI.slider import Slider from UI.slider import Slider
from UI.multi_icon_item import MultiIconItem from UI.multi_icon_item import MultiIconItem
@ -145,7 +145,7 @@ class SoundPage(Page):
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()

View File

@ -13,7 +13,7 @@ from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.icon_item import IconItem from UI.icon_item import IconItem
from UI.util_funcs import midRect from UI.util_funcs import midRect
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.multi_icon_item import MultiIconItem from UI.multi_icon_item import MultiIconItem
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.scroller import ListScroller from UI.scroller import ListScroller
@ -230,7 +230,7 @@ class TimezoneListPage(Page):
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
@ -255,7 +255,7 @@ class TimezoneListPage(Page):
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["Enter"]: if IsKeyStartOrA(event.key):
self.Click() self.Click()
def Draw(self): def Draw(self):

View File

@ -15,7 +15,7 @@ from UI.icon_pool import MyIconPool
from UI.label import Label from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect,CmdClean,get_git_revision_short_hash from UI.util_funcs import midRect,CmdClean,get_git_revision_short_hash
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.confirm_page import ConfirmPage from UI.confirm_page import ConfirmPage
from UI.download import Download from UI.download import Download
from UI.download_process_page import DownloadProcessPage from UI.download_process_page import DownloadProcessPage
@ -111,12 +111,12 @@ class UpdateConfirmPage(ConfirmPage):
def KeyDown(self,event): def KeyDown(self,event):
global LauncherLoc global LauncherLoc
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
if self._GIT == True: if self._GIT == True:
cmdpath = "%s/update.sh %s" % (LauncherLoc,self._Version) cmdpath = "%s/update.sh %s" % (LauncherLoc,self._Version)
pygame.event.post( pygame.event.Event(RUNSH, message=cmdpath)) pygame.event.post( pygame.event.Event(RUNSH, message=cmdpath))
@ -155,7 +155,7 @@ class UpdateConfirmPage(ConfirmPage):
class UpdatePage(Page): class UpdatePage(Page):
_Icons = {} _Icons = {}
_FootMsg = ["Nav","Check Update","","Back",""] _FootMsg = ["Nav","","Check Update","Back",""]
_ListFontObj = fonts["varela15"] _ListFontObj = fonts["varela15"]
_ConfirmPage = None _ConfirmPage = None
@ -277,7 +277,7 @@ class UpdatePage(Page):
pass pass
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()

View File

@ -12,7 +12,7 @@ from UI.page import Page,PageSelector
from UI.label import Label from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect,SwapAndShow from UI.util_funcs import midRect,SwapAndShow
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.scroller import ListScroller from UI.scroller import ListScroller
from UI.confirm_page import ConfirmPage from UI.confirm_page import ConfirmPage
from UI.skin_manager import MySkinManager from UI.skin_manager import MySkinManager
@ -32,12 +32,12 @@ class WifiDisconnectConfirmPage(ConfirmPage):
_ConfirmText = MyLangManager.Tr("ConfirmDisconnectQ") _ConfirmText = MyLangManager.Tr("ConfirmDisconnectQ")
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
self.SnapMsg(MyLangManager.Tr("Disconnecting")) self.SnapMsg(MyLangManager.Tr("Disconnecting"))
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
@ -60,7 +60,7 @@ class WifiDisconnectConfirmPage(ConfirmPage):
self.Reset() self.Reset()
class WifiInfoPage(Page): class WifiInfoPage(Page):
_FootMsg = ["Nav","Disconnect","","Back",""] _FootMsg = ["Nav","","Disconnect","Back",""]
_MyList = [] _MyList = []
_ListFontObj = MyLangManager.TrFont("varela15") _ListFontObj = MyLangManager.TrFont("varela15")
@ -171,7 +171,7 @@ class WifiInfoPage(Page):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
@ -186,7 +186,7 @@ class WifiInfoPage(Page):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["Enter"]: if IsKeyStartOrA(event.key):
self.Click() self.Click()
if event.key == CurKeys["X"]: if event.key == CurKeys["X"]:
@ -264,7 +264,7 @@ class WifiList(Page):
_BlockCb = None _BlockCb = None
_LastStatusMsg = "" _LastStatusMsg = ""
_FootMsg = ["Nav","Scan","Info","Back","Enter"] _FootMsg = ["Nav","Info","Scan","Back","Enter"]
_EncMethods = None _EncMethods = None
_Scroller = None _Scroller = None
_ListFontObj = fonts["notosanscjk15"] _ListFontObj = fonts["notosanscjk15"]
@ -580,7 +580,7 @@ class WifiList(Page):
# print("UI blocking ...") # print("UI blocking ...")
# return # return
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
if self._Wireless != None: if self._Wireless != None:
wireless_connecting = self._Wireless.CheckIfWirelessConnecting() wireless_connecting = self._Wireless.CheckIfWirelessConnecting()
if wireless_connecting: if wireless_connecting:
@ -605,7 +605,7 @@ class WifiList(Page):
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["Enter"]: ## enter to set password,enter is B on GM if IsKeyStartOrA(event.key): ## enter to set password,enter is B on GM
if len(self._MyList) == 0: if len(self._MyList) == 0:
return return

View File

@ -11,7 +11,7 @@ from UI.page import Page,PageSelector
from UI.label import Label from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect,FileExists from UI.util_funcs import midRect,FileExists
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.scroller import ListScroller from UI.scroller import ListScroller
from UI.skin_manager import MySkinManager from UI.skin_manager import MySkinManager
from UI.lang_manager import MyLangManager from UI.lang_manager import MyLangManager
@ -114,7 +114,7 @@ class ListPage(Page):
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
@ -129,7 +129,7 @@ class ListPage(Page):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["Enter"]: if IsKeyStartOrA(event.key):
self.Click() self.Click()
def Draw(self): def Draw(self):

View File

@ -17,7 +17,7 @@ from UI.page import Page,PageSelector
from UI.label import Label from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect from UI.util_funcs import midRect
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.icon_item import IconItem from UI.icon_item import IconItem
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.skin_manager import MySkinManager from UI.skin_manager import MySkinManager
@ -265,7 +265,7 @@ class MPDSpectrumPage(Page):
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key):
try: try:
os.close(self._FIFO) os.close(self._FIFO)
self._FIFO = None self._FIFO = None
@ -281,13 +281,6 @@ class MPDSpectrumPage(Page):
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["Start"]:
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Enter"]:
pass
def Draw(self): def Draw(self):
self.ClearCanvas() self.ClearCanvas()

View File

@ -11,7 +11,7 @@ from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.icon_item import IconItem from UI.icon_item import IconItem
from UI.util_funcs import midRect from UI.util_funcs import midRect
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.multi_icon_item import MultiIconItem from UI.multi_icon_item import MultiIconItem
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.scroller import ListScroller from UI.scroller import ListScroller
@ -82,7 +82,7 @@ class MusicLibListPage(Page):
_Icons = {} _Icons = {}
_Selector=None _Selector=None
_FootMsg = ["Nav","Scan","","Back","Add to Playlist"] _FootMsg = ["Nav","","Scan","Back","Add to Playlist"]
_MyList = [] _MyList = []
_SwapMyList = [] _SwapMyList = []
_ListFont = fonts["notosanscjk15"] _ListFont = fonts["notosanscjk15"]
@ -226,7 +226,7 @@ class MusicLibListPage(Page):
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["Left"] or event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key) or event.key == CurKeys["Left"]:
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
@ -258,7 +258,7 @@ class MusicLibListPage(Page):
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["Enter"]: if IsKeyStartOrA(event.key):
self.Click() self.Click()
def Draw(self): def Draw(self):

View File

@ -12,7 +12,7 @@ from UI.icon_item import IconItem
from UI.label import Label from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect from UI.util_funcs import midRect
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.skin_manager import MySkinManager from UI.skin_manager import MySkinManager
from UI.lang_manager import MyLangManager from UI.lang_manager import MyLangManager
@ -61,7 +61,7 @@ class PlayListPage(Page):
_Icons = {} _Icons = {}
_Selector=None _Selector=None
_FootMsg = ["Nav","RTA","Remove","Back","Play/Pause"] _FootMsg = ["Nav","Remove","RTA","Back","Play/Pause"]
_MyList = [] _MyList = []
_ListFont = fonts["notosanscjk15"] _ListFont = fonts["notosanscjk15"]
@ -252,7 +252,7 @@ class PlayListPage(Page):
self.SyncScroll() self.SyncScroll()
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
if myvars.Poller != None: if myvars.Poller != None:
myvars.Poller.stop() myvars.Poller.stop()
self._CurSongTime="" self._CurSongTime=""
@ -283,7 +283,7 @@ class PlayListPage(Page):
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["Enter"]: if IsKeyStartOrA(event.key):
self.Click() self.Click()
if event.key == CurKeys["X"]: # start spectrum if event.key == CurKeys["X"]: # start spectrum

View File

@ -9,7 +9,7 @@ from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.icon_item import IconItem from UI.icon_item import IconItem
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyMenuOrB
from UI.skin_manager import MySkinManager from UI.skin_manager import MySkinManager
from UI.lang_manager import MyLangManager from UI.lang_manager import MyLangManager
@ -174,12 +174,10 @@ class TinyCloudPage(Page):
self.SetLabels() self.SetLabels()
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]: if IsKeyMenuOrB(event.key):
if self._FootMsg[3] == "Back": self.ReturnToUpLevelPage()
self.ReturnToUpLevelPage() self._Screen.Draw()
self._Screen.Draw() self._Screen.SwapAndShow()
self._Screen.SwapAndShow()
return
def Draw(self): def Draw(self):
if self._DrawOnce == False: if self._DrawOnce == False:

View File

@ -4,7 +4,7 @@ import pygame
#UI lib #UI lib
from UI.constants import RUNSYS from UI.constants import RUNSYS
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.confirm_page import ConfirmPage from UI.confirm_page import ConfirmPage
import config import config
@ -12,7 +12,7 @@ import config
class PowerOffConfirmPage(ConfirmPage): class PowerOffConfirmPage(ConfirmPage):
_ConfirmText = "Awaiting Input" _ConfirmText = "Awaiting Input"
_FootMsg = ["Nav","Reboot","","Cancel","Shutdown"] _FootMsg = ["Nav","","Reboot","Cancel","Shutdown"]
def CheckBattery(self): def CheckBattery(self):
try: try:
@ -41,13 +41,12 @@ class PowerOffConfirmPage(ConfirmPage):
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
if self.CheckBattery() < 20: if self.CheckBattery() < 20:
cmdpath = "feh --bg-center gameshell/wallpaper/gameover.png;" cmdpath = "feh --bg-center gameshell/wallpaper/gameover.png;"
else: else:

View File

@ -10,7 +10,7 @@ import sys
## local UI import ## local UI import
from UI.delete_confirm_page import DeleteConfirmPage from UI.delete_confirm_page import DeleteConfirmPage
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.lang_manager import MyLangManager from UI.lang_manager import MyLangManager
from rom_list_page import RomListPage from rom_list_page import RomListPage
@ -20,14 +20,14 @@ class FavDeleteConfirmPage(DeleteConfirmPage):
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
try: try:
#self._FileName #self._FileName
stats = os.stat(self._FileName) stats = os.stat(self._FileName)

View File

@ -13,7 +13,7 @@ from UI.label import Label
from UI.icon_item import IconItem from UI.icon_item import IconItem
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect,CmdClean,FileExists from UI.util_funcs import midRect,CmdClean,FileExists
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.multi_icon_item import MultiIconItem from UI.multi_icon_item import MultiIconItem
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.scroller import ListScroller from UI.scroller import ListScroller
@ -92,7 +92,7 @@ class FavListPage(Page):
_Icons = {} _Icons = {}
_Selector=None _Selector=None
_FootMsg = ["Nav","Scan","Remove","","Run"] _FootMsg = ["Nav","Remove","Scan","","Run"]
_MyList = [] _MyList = []
_ListFont = fonts["notosanscjk15"] _ListFont = fonts["notosanscjk15"]
_MyStack = None _MyStack = None
@ -392,7 +392,7 @@ class FavListPage(Page):
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["Left"]: if IsKeyMenuOrB(event.key) or event.key == CurKeys["Left"]:
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
@ -410,7 +410,7 @@ class FavListPage(Page):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["Enter"]: if IsKeyStartOrA(event.key):
self.Click() self.Click()

View File

@ -20,7 +20,7 @@ from UI.label import Label
from UI.icon_item import IconItem from UI.icon_item import IconItem
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect,CmdClean,FileExists from UI.util_funcs import midRect,CmdClean,FileExists
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.multi_icon_item import MultiIconItem from UI.multi_icon_item import MultiIconItem
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.scroller import ListScroller from UI.scroller import ListScroller
@ -99,7 +99,8 @@ class RomListPage(Page):
_Icons = {} _Icons = {}
_Selector=None _Selector=None
_FootMsg = ["Nav","Scan","Del","AddFav","Run"] # TODO: show "AddFav"
_FootMsg = ["Nav","Del","Scan","Back","Run"]
_MyList = [] _MyList = []
_ListFont = fonts["notosanscjk15"] _ListFont = fonts["notosanscjk15"]
_MyStack = None _MyStack = None
@ -428,7 +429,7 @@ class RomListPage(Page):
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["Menu"] : if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
@ -451,10 +452,10 @@ class RomListPage(Page):
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["Enter"]: if IsKeyStartOrA(event.key):
self.Click() self.Click()
if event.key == CurKeys["A"]: if event.key == CurKeys["Select"]:
if len(self._MyList) == 0: if len(self._MyList) == 0:
return return

View File

@ -14,7 +14,7 @@ from libs.roundrects import aa_round_rect
from UI.confirm_page import ConfirmPage from UI.confirm_page import ConfirmPage
from UI.download_process_page import DownloadProcessPage from UI.download_process_page import DownloadProcessPage
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.fonts import fonts from UI.fonts import fonts
from UI.multilabel import MultiLabel from UI.multilabel import MultiLabel
from UI.lang_manager import MyLangManager from UI.lang_manager import MyLangManager
@ -87,12 +87,12 @@ class RomSoConfirmPage(ConfirmPage):
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
if self.CheckBattery() < 5: if self.CheckBattery() < 5:
self.SnapMsg(MyLangManager.Tr("BATOver5Pct")) self.SnapMsg(MyLangManager.Tr("BATOver5Pct"))
else: else:

View File

@ -11,7 +11,7 @@ from page import Page,PageSelector
from label import Label from label import Label
from fonts import fonts from fonts import fonts
from util_funcs import midRect from util_funcs import midRect
from keys_def import CurKeys from keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from confirm_page import ConfirmPage from confirm_page import ConfirmPage
from lang_manager import MyLangManager from lang_manager import MyLangManager
@ -32,14 +32,14 @@ class DeleteConfirmPage(ConfirmPage):
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["B"]: if IsKeyStartOrA(event.key):
try: try:
os.remove(self._TrashDir+"/"+os.path.basename(self._FileName)) os.remove(self._TrashDir+"/"+os.path.basename(self._FileName))
except: except:

View File

@ -15,7 +15,7 @@ from UI.label import Label
from UI.icon_item import IconItem from UI.icon_item import IconItem
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect,CmdClean,FileExists from UI.util_funcs import midRect,CmdClean,FileExists
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyMenuOrB
from UI.multi_icon_item import MultiIconItem from UI.multi_icon_item import MultiIconItem
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.download import Download from UI.download import Download
@ -176,7 +176,7 @@ class DownloadProcessPage(Page):
self._DownloaderTimer = gobject.timeout_add(100, self.GObjectUpdateProcessInterval) self._DownloaderTimer = gobject.timeout_add(100, self.GObjectUpdateProcessInterval)
def KeyDown(self,event): def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key):
gobject.source_remove(self._DownloaderTimer) gobject.source_remove(self._DownloaderTimer)
self._DownloaderTimer = -1 self._DownloaderTimer = -1

View File

@ -132,22 +132,8 @@ class FootBar(Widget):
self.Draw() self.Draw()
def GetButtonsLayoutMode(self):
lm = "xbox"
try:
with open(".buttonslayout", "r") as f:
lm = f.read()
except:
None
if lm not in ["xbox","snes"]:
lm = "xbox"
return lm
def SetLabelTexts(self,texts): def SetLabelTexts(self,texts):
barr = ["nav","y","x","b","a"]
barr = ["nav","x","y","a","b"]
if self.GetButtonsLayoutMode() == "snes":
barr = ["nav","y","x","b","a"]
for idx,x in enumerate(barr): for idx,x in enumerate(barr):
try: try:

View File

@ -10,7 +10,7 @@ from UI.page import Page,PageSelector
from UI.label import Label from UI.label import Label
from UI.fonts import fonts from UI.fonts import fonts
from UI.util_funcs import midRect from UI.util_funcs import midRect
from UI.keys_def import CurKeys from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.icon_item import IconItem from UI.icon_item import IconItem
from UI.icon_pool import MyIconPool from UI.icon_pool import MyIconPool
from UI.skin_manager import MySkinManager from UI.skin_manager import MySkinManager
@ -63,7 +63,7 @@ class Keyboard(Page):
_Textarea = None _Textarea = None
_Selector = None _Selector = None
_LeftOrRight = 1 _LeftOrRight = 1
_FootMsg = ["Nav.","ABC","Done","Backspace","Enter"] _FootMsg = ["Nav.","Done","ABC","Backspace","Enter"]
_RowIndex = 0 _RowIndex = 0
_Caller = None _Caller = None
@ -291,7 +291,7 @@ class Keyboard(Page):
self.SelectNextChar() self.SelectNextChar()
if event.key == CurKeys["Left"]: if event.key == CurKeys["Left"]:
self.SelectPrevChar() self.SelectPrevChar()
if event.key == CurKeys["B"] or event.key == CurKeys["Enter"]: if IsKeyStartOrA(event.key):
self.ClickOnChar() self.ClickOnChar()
if event.key == CurKeys["X"]: if event.key == CurKeys["X"]:
if self._SectionIndex <= 0: if self._SectionIndex <= 0:
@ -317,7 +317,7 @@ class Keyboard(Page):
self._Caller.OnKbdReturnBackCb() self._Caller.OnKbdReturnBackCb()
#Uplevel page invokes OnReturnBackCb,eg: ConfigWireless #Uplevel page invokes OnReturnBackCb,eg: ConfigWireless
if event.key == CurKeys["A"]: if event.key == CurKeys["B"]:
self._Textarea.RemoveFromLastText() self._Textarea.RemoveFromLastText()
self._Textarea.Draw() self._Textarea.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()

View File

@ -9,6 +9,36 @@ import sys
from config import CurKeySet from config import CurKeySet
def GetButtonsLayoutMode():
lm = "xbox"
try:
with open(".buttonslayout", "r") as f:
lm = f.read()
except:
None
if lm not in ["xbox","snes"]:
lm = "xbox"
return lm
def SetButtonsLayoutMode(mode):
SetXYABButtons(mode)
with open(".buttonslayout", "w") as f:
f.write(mode)
def SetXYABButtons(mode):
if mode == "snes":
GameShell["Y"] = pygame.K_u
GameShell["X"] = pygame.K_i
GameShell["B"] = pygame.K_j
GameShell["A"] = pygame.K_k
else:
GameShell["X"] = pygame.K_u
GameShell["Y"] = pygame.K_i
GameShell["A"] = pygame.K_j
GameShell["B"] = pygame.K_k
GameShell = {} GameShell = {}
GameShell["Up"] = pygame.K_UP GameShell["Up"] = pygame.K_UP
GameShell["Down"] = pygame.K_DOWN GameShell["Down"] = pygame.K_DOWN
@ -16,16 +46,10 @@ GameShell["Left"] = pygame.K_LEFT
GameShell["Right"]= pygame.K_RIGHT GameShell["Right"]= pygame.K_RIGHT
GameShell["Menu"] = pygame.K_ESCAPE GameShell["Menu"] = pygame.K_ESCAPE
GameShell["X"] = pygame.K_u
GameShell["Y"] = pygame.K_i
GameShell["A"] = pygame.K_j
GameShell["B"] = pygame.K_k
GameShell["Vol-"] = pygame.K_SPACE SetXYABButtons(GetButtonsLayoutMode())
GameShell["Vol+"] = pygame.K_RETURN
GameShell["Space"] = pygame.K_SPACE
GameShell["Enter"] = pygame.K_k GameShell["Select"] = pygame.K_SPACE
GameShell["Start"] = pygame.K_RETURN GameShell["Start"] = pygame.K_RETURN
GameShell["LK1"] = pygame.K_h GameShell["LK1"] = pygame.K_h
@ -42,10 +66,7 @@ PC["X"] = pygame.K_x
PC["Y"] = pygame.K_y PC["Y"] = pygame.K_y
PC["A"] = pygame.K_a PC["A"] = pygame.K_a
PC["B"] = pygame.K_b PC["B"] = pygame.K_b
PC["Vol-"] = pygame.K_SPACE PC["Select"] = pygame.K_SPACE
PC["Vol+"] = pygame.K_RETURN
PC["Enter"] = pygame.K_RETURN
PC["Space"] = pygame.K_SPACE
PC["Start"] = pygame.K_s PC["Start"] = pygame.K_s
PC["LK1"] = pygame.K_h PC["LK1"] = pygame.K_h
@ -55,3 +76,10 @@ if CurKeySet == "PC":
CurKeys = PC CurKeys = PC
else: else:
CurKeys = GameShell CurKeys = GameShell
def IsKeyStartOrA(key):
return key == CurKeys["Start"] or key == CurKeys["A"]
def IsKeyMenuOrB(key):
return key == CurKeys["Menu"] or key == CurKeys["B"]

View File

@ -15,7 +15,7 @@ from libs import easing
### local import ### local import
from constants import ALIGN,icon_width,icon_height,Width,Height,ICON_TYPES from constants import ALIGN,icon_width,icon_height,Width,Height,ICON_TYPES
from util_funcs import midRect from util_funcs import midRect
from keys_def import CurKeys from keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from icon_pool import MyIconPool from icon_pool import MyIconPool
from lang_manager import MyLangManager from lang_manager import MyLangManager
from widget import Widget from widget import Widget
@ -606,14 +606,7 @@ class Page(Widget):
self._MyList[i]._PosY -= self._MyList[i]._Height*dy self._MyList[i]._PosY -= self._MyList[i]._Height*dy
def KeyDown(self,event):##default keydown,every inherited page class should have it's own KeyDown def KeyDown(self,event):##default keydown,every inherited page class should have it's own KeyDown
if event.key == CurKeys["A"]: if IsKeyMenuOrB(event.key):
if self._FootMsg[3] == "Back":
self.ReturnToUpLevelPage()
self._Screen.Draw()
self._Screen.SwapAndShow()
return
if event.key == CurKeys["Menu"]:
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
@ -641,7 +634,7 @@ class Page(Widget):
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()
if event.key == CurKeys["Enter"]: if IsKeyStartOrA(event.key):
self.IconClick() self.IconClick()
self._Screen.Draw() self._Screen.Draw()
self._Screen.SwapAndShow() self._Screen.SwapAndShow()