fix xbox layout UX

This commit is contained in:
cpi 2019-02-12 01:09:48 +02:00
parent c4587c12bf
commit b47b020339
32 changed files with 224 additions and 237 deletions

View File

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

View File

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

View File

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

View File

@ -7,7 +7,7 @@ import dbus
#from beeprint import pp
from libs.roundrects import aa_round_rect
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
@ -204,7 +204,7 @@ class BleAgentPairPage(Page):
self._Screen._FootBar.ResetNavText()
def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]:
if IsKeyMenuOrB(event.key):
if self._dev_obj != None:
try:
self._dev_obj.CancelPairing()

View File

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

View File

@ -11,7 +11,7 @@ from UI.page import Page,PageSelector
from UI.label import Label
from UI.fonts import fonts
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.icon_pool import MyIconPool
from UI.icon_item import IconItem
@ -115,7 +115,7 @@ class UpdateConfirmPage(ConfirmPage):
self.Reset()
class ButtonsLayoutPage(Page):
_FootMsg = ["Nav.","UpdateRetroArch","","Back","Toggle"]
_FootMsg = ["Nav.","","UpdateRetroArch","Back","Toggle"]
_MyList = []
_ListFontObj = fonts["varela13"]
@ -172,7 +172,7 @@ class ButtonsLayoutPage(Page):
self._Scroller.SetCanvasHWND(self._HWND)
self._ConfirmPage = UpdateConfirmPage()
self._ConfirmPage._LayoutMode = self.GetButtonsLayoutMode()
self._ConfirmPage._LayoutMode = GetButtonsLayoutMode()
self._ConfirmPage._Screen = self._Screen
self._ConfirmPage._Name = "Overwrite RA conf"
self._ConfirmPage._Parent = self
@ -191,31 +191,16 @@ class ButtonsLayoutPage(Page):
self._PosY += 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):
if self.GetButtonsLayoutMode() == "xbox":
with open(".buttonslayout", "w") as f:
f.write("snes")
if GetButtonsLayoutMode() == "xbox":
SetButtonsLayoutMode("snes")
self._dialog_index = 1
self._Screen.Draw()
self._Screen.SwapAndShow()
else:
with open(".buttonslayout", "w") as f:
f.write("xbox")
SetButtonsLayoutMode("xbox")
self._dialog_index = 0
self._Screen.Draw()
@ -226,10 +211,7 @@ class ButtonsLayoutPage(Page):
self._PosY = 0
self._DrawOnce = False
if self.GetButtonsLayoutMode() == "xbox":
self._dialog_index = 0
else:
self._dialog_index = 1
self._dialog_index = 0 if GetButtonsLayoutMode() == "xbox" else 1
def OnReturnBackCb(self):
self.ReturnToUpLevelPage()
@ -237,16 +219,16 @@ class ButtonsLayoutPage(Page):
self._Screen.SwapAndShow()
def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]:
if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["B"]:
if IsKeyStartOrA(event.key):
self.ToggleMode()
if event.key == CurKeys["X"]:
self._ConfirmPage._LayoutMode = self.GetButtonsLayoutMode()
self._ConfirmPage._LayoutMode = GetButtonsLayoutMode()
self._Screen.PushPage(self._ConfirmPage)
self._Screen.Draw()
self._Screen.SwapAndShow()

View File

@ -13,7 +13,7 @@ from UI.page import Page,PageSelector
from UI.label import Label
from UI.fonts import fonts
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.icon_pool import MyIconPool
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)
class GateWayPage(Page):
_FootMsg = ["Nav","","Clear All","Back","Select"]
_FootMsg = ["Nav","Clear All","","Back","Select"]
_MyList = []
_ListFont = fonts["notosanscjk15"]
@ -268,12 +268,12 @@ class GateWayPage(Page):
self._Screen.SwapAndShow()
"""
def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]:
if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["B"]:
if IsKeyStartOrA(event.key):
self.Click()
if event.key == CurKeys["Y"]:

View File

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

View File

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

View File

@ -17,7 +17,7 @@ from UI.page import Page,PageSelector
from UI.label import Label
from UI.fonts import fonts
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.icon_pool import MyIconPool
from UI.icon_item import IconItem
@ -194,12 +194,12 @@ class NotificationPage(Page):
self._Screen.SwapAndShow()
def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]:
if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["B"]:
if IsKeyStartOrA(event.key):
self._Screen._MsgBox.SetText("Applying")
self._Screen._MsgBox.Draw()

View File

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

View File

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

View File

@ -13,7 +13,7 @@ from UI.icon_item import IconItem
from UI.label import Label
from UI.fonts import fonts
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.multi_icon_item import MultiIconItem
@ -145,7 +145,7 @@ class SoundPage(Page):
def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]:
if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage()
self._Screen.Draw()
self._Screen.SwapAndShow()

View File

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

View File

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

View File

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

View File

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

View File

@ -17,7 +17,7 @@ from UI.page import Page,PageSelector
from UI.label import Label
from UI.fonts import fonts
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_pool import MyIconPool
from UI.skin_manager import MySkinManager
@ -265,7 +265,7 @@ class MPDSpectrumPage(Page):
def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]:
if IsKeyMenuOrB(event.key):
try:
os.close(self._FIFO)
self._FIFO = None
@ -281,13 +281,6 @@ class MPDSpectrumPage(Page):
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Start"]:
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Enter"]:
pass
def Draw(self):
self.ClearCanvas()

View File

@ -11,7 +11,7 @@ from UI.label import Label
from UI.fonts import fonts
from UI.icon_item import IconItem
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.icon_pool import MyIconPool
from UI.scroller import ListScroller
@ -82,7 +82,7 @@ class MusicLibListPage(Page):
_Icons = {}
_Selector=None
_FootMsg = ["Nav","Scan","","Back","Add to Playlist"]
_FootMsg = ["Nav","","Scan","Back","Add to Playlist"]
_MyList = []
_SwapMyList = []
_ListFont = fonts["notosanscjk15"]
@ -226,7 +226,7 @@ class MusicLibListPage(Page):
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._Screen.Draw()
@ -258,7 +258,7 @@ class MusicLibListPage(Page):
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Enter"]:
if IsKeyStartOrA(event.key):
self.Click()
def Draw(self):

View File

@ -12,7 +12,7 @@ from UI.icon_item import IconItem
from UI.label import Label
from UI.fonts import fonts
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.skin_manager import MySkinManager
from UI.lang_manager import MyLangManager
@ -61,7 +61,7 @@ class PlayListPage(Page):
_Icons = {}
_Selector=None
_FootMsg = ["Nav","RTA","Remove","Back","Play/Pause"]
_FootMsg = ["Nav","Remove","RTA","Back","Play/Pause"]
_MyList = []
_ListFont = fonts["notosanscjk15"]
@ -252,7 +252,7 @@ class PlayListPage(Page):
self.SyncScroll()
def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]:
if IsKeyMenuOrB(event.key):
if myvars.Poller != None:
myvars.Poller.stop()
self._CurSongTime=""
@ -283,7 +283,7 @@ class PlayListPage(Page):
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Enter"]:
if IsKeyStartOrA(event.key):
self.Click()
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.icon_item import IconItem
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.lang_manager import MyLangManager
@ -174,12 +174,10 @@ class TinyCloudPage(Page):
self.SetLabels()
def KeyDown(self,event):
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]:
if self._FootMsg[3] == "Back":
self.ReturnToUpLevelPage()
self._Screen.Draw()
self._Screen.SwapAndShow()
return
if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage()
self._Screen.Draw()
self._Screen.SwapAndShow()
def Draw(self):
if self._DrawOnce == False:

View File

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

View File

@ -10,7 +10,7 @@ import sys
## local UI import
from UI.delete_confirm_page import DeleteConfirmPage
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 rom_list_page import RomListPage
@ -20,14 +20,14 @@ class FavDeleteConfirmPage(DeleteConfirmPage):
def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]:
if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["B"]:
if IsKeyStartOrA(event.key):
try:
#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.fonts import fonts
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.icon_pool import MyIconPool
from UI.scroller import ListScroller
@ -92,7 +92,7 @@ class FavListPage(Page):
_Icons = {}
_Selector=None
_FootMsg = ["Nav","Scan","Remove","","Run"]
_FootMsg = ["Nav","Remove","Scan","","Run"]
_MyList = []
_ListFont = fonts["notosanscjk15"]
_MyStack = None
@ -392,7 +392,7 @@ class FavListPage(Page):
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._Screen.Draw()
self._Screen.SwapAndShow()
@ -410,7 +410,7 @@ class FavListPage(Page):
self._Screen.SwapAndShow()
if event.key == CurKeys["Enter"]:
if IsKeyStartOrA(event.key):
self.Click()

View File

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

View File

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

View File

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

View File

@ -15,7 +15,7 @@ from UI.label import Label
from UI.icon_item import IconItem
from UI.fonts import fonts
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.icon_pool import MyIconPool
from UI.download import Download
@ -176,7 +176,7 @@ class DownloadProcessPage(Page):
self._DownloaderTimer = gobject.timeout_add(100, self.GObjectUpdateProcessInterval)
def KeyDown(self,event):
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]:
if IsKeyMenuOrB(event.key):
gobject.source_remove(self._DownloaderTimer)
self._DownloaderTimer = -1

View File

@ -132,22 +132,8 @@ class FootBar(Widget):
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):
barr = ["nav","x","y","a","b"]
if self.GetButtonsLayoutMode() == "snes":
barr = ["nav","y","x","b","a"]
barr = ["nav","y","x","b","a"]
for idx,x in enumerate(barr):
try:

View File

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

View File

@ -9,6 +9,36 @@ import sys
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["Up"] = pygame.K_UP
GameShell["Down"] = pygame.K_DOWN
@ -16,16 +46,14 @@ GameShell["Left"] = pygame.K_LEFT
GameShell["Right"]= pygame.K_RIGHT
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
SetXYABButtons(GetButtonsLayoutMode())
GameShell["Vol-"] = pygame.K_SPACE
GameShell["Vol+"] = pygame.K_RETURN
GameShell["Space"] = pygame.K_SPACE
GameShell["Select"] = pygame.K_SPACE
GameShell["Enter"] = pygame.K_k
GameShell["Enter"] = pygame.K_k # delete this
GameShell["Start"] = pygame.K_RETURN
GameShell["LK1"] = pygame.K_h
@ -45,7 +73,7 @@ PC["B"] = pygame.K_b
PC["Vol-"] = pygame.K_SPACE
PC["Vol+"] = pygame.K_RETURN
PC["Enter"] = pygame.K_RETURN
PC["Space"] = pygame.K_SPACE
PC["Select"] = pygame.K_SPACE
PC["Start"] = pygame.K_s
PC["LK1"] = pygame.K_h
@ -55,3 +83,10 @@ if CurKeySet == "PC":
CurKeys = PC
else:
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
from constants import ALIGN,icon_width,icon_height,Width,Height,ICON_TYPES
from util_funcs import midRect
from keys_def import CurKeys
from keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from icon_pool import MyIconPool
from lang_manager import MyLangManager
from widget import Widget
@ -606,14 +606,7 @@ class Page(Widget):
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
if event.key == CurKeys["A"]:
if self._FootMsg[3] == "Back":
self.ReturnToUpLevelPage()
self._Screen.Draw()
self._Screen.SwapAndShow()
return
if event.key == CurKeys["Menu"]:
if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage()
self._Screen.Draw()
self._Screen.SwapAndShow()
@ -641,7 +634,7 @@ class Page(Widget):
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Enter"]:
if IsKeyStartOrA(event.key):
self.IconClick()
self._Screen.Draw()
self._Screen.SwapAndShow()