diff --git a/Menu/GameShell/10_Settings/Cores/__init__.py b/Menu/GameShell/10_Settings/Cores/__init__.py index 045317f..3c8cc84 100644 --- a/Menu/GameShell/10_Settings/Cores/__init__.py +++ b/Menu/GameShell/10_Settings/Cores/__init__.py @@ -209,7 +209,23 @@ class CoresPage(Page): self._Screen.Draw() self._Screen.SwapAndShow() - + if event.key == CurKeys["Left"]: # PageUp + move = 3 + + for i in range(move): + self.ScrollUp() + + self._Screen.Draw() + self._Screen.SwapAndShow() + + if event.key == CurKeys["Right"]: # PageDown + move = 3 + + for i in range(move): + self.ScrollDown() + + self._Screen.Draw() + self._Screen.SwapAndShow() def Draw(self): self.ClearCanvas() @@ -248,5 +264,3 @@ def Init(main_screen): OBJ.Init(main_screen) def API(main_screen): OBJ.API(main_screen) - - diff --git a/Menu/GameShell/10_Settings/Update/__init__.py b/Menu/GameShell/10_Settings/Update/__init__.py index d293dea..326ef22 100644 --- a/Menu/GameShell/10_Settings/Update/__init__.py +++ b/Menu/GameShell/10_Settings/Update/__init__.py @@ -30,6 +30,14 @@ import config LauncherLoc = "/home/cpi/launcher" +# get git short hash +cur_dir = os.getcwd() +os.chdir(LauncherLoc) +current_git_version = get_git_revision_short_hash() +current_git_version = current_git_version.strip("\n") +current_git_version = current_git_version.strip("\t") +os.chdir(cur_dir) + class UpdateDownloadPage(DownloadProcessPage): _MD5 = "" @@ -206,6 +214,12 @@ class UpdatePage(Page): it["value"] = config.VERSION self._AList["version"] = it + git = {} + git["key"] = "githash" + git["label"] = "Git Hash" + git["value"] = current_git_version + self._AList["githash"] = git + self.GenList() def CheckUpdate(self): @@ -238,12 +252,12 @@ class UpdatePage(Page): self._Screen.SwapAndShow() elif "gitversion" in json_: ### just use git to run update - cur_dir = os.getcwd() - os.chdir(LauncherLoc) - current_git_version = get_git_revision_short_hash() - current_git_version = current_git_version.strip("\n") - current_git_version = current_git_version.strip("\t") - os.chdir(cur_dir) + # cur_dir = os.getcwd() + # os.chdir(LauncherLoc) + # current_git_version = get_git_revision_short_hash() + # current_git_version = current_git_version.strip("\n") + # current_git_version = current_git_version.strip("\t") + # os.chdir(cur_dir) if current_git_version != json_["gitversion"]: self._ConfirmPage._URL = None self._ConfirmPage._MD5 = None @@ -255,7 +269,7 @@ class UpdatePage(Page): self._Screen.Draw() if "version" in json_: - self._ConfirmPage.SnapMsg(MyLangManager.Tr("ConfirmUpdateToFQ") % json_["version"] ) + self._ConfirmPage.SnapMsg(MyLangManager.Tr("UpdateToFQ") % (json_["version"] + "-" + json_["gitversion"]) ) else: self._ConfirmPage.SnapMsg(MyLangManager.Tr("UpdateToFQ") % json_["gitversion"] ) self._Screen.SwapAndShow() diff --git a/Menu/GameShell/10_Settings/list_page.py b/Menu/GameShell/10_Settings/list_page.py index c386d48..55588df 100644 --- a/Menu/GameShell/10_Settings/list_page.py +++ b/Menu/GameShell/10_Settings/list_page.py @@ -124,15 +124,33 @@ class ListPage(Page): self.ScrollUp() self._Screen.Draw() self._Screen.SwapAndShow() + if event.key == CurKeys["Down"]: self.ScrollDown() self._Screen.Draw() self._Screen.SwapAndShow() - if IsKeyStartOrA(event.key): self.Click() + + if event.key == CurKeys["Left"]: # PageUp + move = 3 + for i in range(move): + self.ScrollUp() + + self._Screen.Draw() + self._Screen.SwapAndShow() + + if event.key == CurKeys["Right"]: # PageDown + move = 3 + + for i in range(move): + self.ScrollDown() + + self._Screen.Draw() + self._Screen.SwapAndShow() + def Draw(self): self.ClearCanvas() @@ -151,5 +169,3 @@ class ListPage(Page): self._Ps.Draw() for i in self._MyList: i.Draw() - - diff --git a/Menu/GameShell/31_CaveStory.sh b/Menu/GameShell/31_CaveStory.sh index f972dbd..59f9f67 100755 --- a/Menu/GameShell/31_CaveStory.sh +++ b/Menu/GameShell/31_CaveStory.sh @@ -1,4 +1,7 @@ #!/bin/bash -#retroarch -L /home/cpi/.config/retroarch/cores/nxengine_libretro.so /home/cpi/games/nxengine/cavestory/data -retroarch -L /home/cpi/apps/emulators/nxengine_libretro.so /home/cpi/games/nxengine/cavestory/data +if [ -f "/home/cpi/.config/retroarch/cores/nxengine_libretro.so" ]; then + retroarch -L /home/cpi/.config/retroarch/cores/nxengine_libretro.so /home/cpi/games/nxengine/cavestory/data +else + retroarch -L /home/cpi/apps/emulators/nxengine_libretro.so /home/cpi/games/nxengine/cavestory/data +fi diff --git a/Menu/GameShell/95_Music Player/music_lib_list_page.py b/Menu/GameShell/95_Music Player/music_lib_list_page.py index 1b6ed24..2af0ca5 100644 --- a/Menu/GameShell/95_Music Player/music_lib_list_page.py +++ b/Menu/GameShell/95_Music Player/music_lib_list_page.py @@ -92,6 +92,8 @@ class MusicLibListPage(Page): _BGpng = None _BGwidth = 56 _BGheight = 70 + + _Backspace = False def __init__(self): Page.__init__(self) @@ -225,22 +227,49 @@ class MusicLibListPage(Page): self._PsIndex = 0 def KeyDown(self,event): - - if IsKeyMenuOrB(event.key) or event.key == CurKeys["Left"]: - + + # if IsKeyMenuOrB(event.key) or event.key == CurKeys["Left"]: + # self.ReturnToUpLevelPage() + # self._Screen.Draw() + # self._Screen.SwapAndShow() + + if IsKeyMenuOrB(event.key): self.ReturnToUpLevelPage() self._Screen.Draw() self._Screen.SwapAndShow() - + + if event.key == CurKeys["Right"]: + if self._Backspace: + move = 6 + + for i in range(move): + self.ScrollDown() + + self._Screen.Draw() + self._Screen.SwapAndShow() + + if event.key == CurKeys["Left"]: + if not self._Backspace: + self.ReturnToUpLevelPage() + else: + move = 6 + + for i in range(move): + self.ScrollUp() + + self._Screen.Draw() + self._Screen.SwapAndShow() + if event.key == CurKeys["Up"]: self.ScrollUp() self._Screen.Draw() self._Screen.SwapAndShow() + if event.key == CurKeys["Down"]: self.ScrollDown() self._Screen.Draw() self._Screen.SwapAndShow() - + """ if event.key == CurKeys["Right"]: self.FScrollDown(Step=5) @@ -260,7 +289,16 @@ class MusicLibListPage(Page): if IsKeyStartOrA(event.key): self.Click() - + + if event.key == CurKeys["Backspace"]: # Shift + Menu + self._Backspace = not self._Backspace + if self._Backspace: + self._Screen._MsgBox.SetText("Page Up/Down: ON") + else: + self._Screen._MsgBox.SetText("Page Up/Down: OFF") + self._Screen._MsgBox.Draw() + self._Screen.SwapAndShow() + def Draw(self): self.ClearCanvas() @@ -277,7 +315,6 @@ class MusicLibListPage(Page): v._Active = True else: v._Active = False - if v._Active == False: v.NewCoord(start_x, start_y+counter* ListItem._Height) counter+=1 diff --git a/Menu/GameShell/95_Music Player/play_list_page.py b/Menu/GameShell/95_Music Player/play_list_page.py index 6cda511..c36f996 100644 --- a/Menu/GameShell/95_Music Player/play_list_page.py +++ b/Menu/GameShell/95_Music Player/play_list_page.py @@ -74,7 +74,9 @@ class PlayListPage(Page): _Scrolled = 0 _CurSongName = "" - + + _Backspace = False + def __init__(self): self._Icons = {} Page.__init__(self) @@ -235,7 +237,6 @@ class PlayListPage(Page): self._MyList[i]._PosY += self._Scrolled * self._MyList[i]._Height def Click(self): - #self.RefreshPsIndex() if len(self._MyList) == 0: return @@ -266,17 +267,37 @@ class PlayListPage(Page): self.ScrollUp() self._Screen.Draw() self._Screen.SwapAndShow() + if event.key == CurKeys["Down"]: self.ScrollDown() self._Screen.Draw() self._Screen.SwapAndShow() - + if event.key == CurKeys["Right"]:#add - self._Screen.PushCurPage() - self._Screen.SetCurPage(myvars.MusicLibListPage) + # self._Screen.PushCurPage() + # self._Screen.SetCurPage(myvars.MusicLibListPage) + if not self._Backspace: + self._Screen.PushCurPage() + self._Screen.SetCurPage(myvars.MusicLibListPage) + else: + move = 6 + + for i in range(move): + self.ScrollDown() + self._Screen.Draw() self._Screen.SwapAndShow() - + + if event.key == CurKeys["Left"]: + if self._Backspace: + move = 6 + + for i in range(move): + self.ScrollUp() + + self._Screen.Draw() + self._Screen.SwapAndShow() + if event.key == CurKeys["Y"]:# del selected songs myvars.Poller.delete(self._PsIndex) self.SyncList() @@ -291,7 +312,16 @@ class PlayListPage(Page): self._Screen.PushPage(myvars.SpectrumPage) self._Screen.Draw() self._Screen.SwapAndShow() - + + if event.key == CurKeys["Backspace"]: # Shift + Menu + self._Backspace = not self._Backspace + if self._Backspace: + self._Screen._MsgBox.SetText("Page Up/Down: ON") + else: + self._Screen._MsgBox.SetText("Page Up/Down: OFF") + self._Screen._MsgBox.Draw() + self._Screen.SwapAndShow() + def Draw(self): self.ClearCanvas() diff --git a/README.md b/README.md index 6fe8d64..300056a 100644 --- a/README.md +++ b/README.md @@ -154,3 +154,24 @@ vim ~/.gameshell_skin ``` /home/cpi/launcher/skin/DEOT ``` + +# PageUp and PageDown Keys + +D-Pad Up/Down +``` +Main page +``` + +D-Pad Left/Right +``` +Settings +Timezone +RetroArch Cores Manager +``` +Shift + Menu & D-Pad Left/Right +``` +ROM list +Fav. list +Music lib. list +Music play list +``` diff --git a/skin/DEOT/Menu/GameShell/20_Retro Games/FBNeo.png b/skin/DEOT/Menu/GameShell/20_Retro Games/FBNeo.png new file mode 100644 index 0000000..e6439be Binary files /dev/null and b/skin/DEOT/Menu/GameShell/20_Retro Games/FBNeo.png differ diff --git a/skin/DEOT/Menu/GameShell/20_Retro Games/MednafenVB.png b/skin/DEOT/Menu/GameShell/20_Retro Games/MednafenVB.png index 8a87cef..cf2484f 100644 Binary files a/skin/DEOT/Menu/GameShell/20_Retro Games/MednafenVB.png and b/skin/DEOT/Menu/GameShell/20_Retro Games/MednafenVB.png differ diff --git a/skin/DEOT/Menu/GameShell/20_Retro Games/PCSX+.png b/skin/DEOT/Menu/GameShell/20_Retro Games/PCSX+.png new file mode 100644 index 0000000..bc177f5 Binary files /dev/null and b/skin/DEOT/Menu/GameShell/20_Retro Games/PCSX+.png differ diff --git a/sys.py/.buttonslayout b/sys.py/.buttonslayout new file mode 100644 index 0000000..080cb5d --- /dev/null +++ b/sys.py/.buttonslayout @@ -0,0 +1 @@ +snes \ No newline at end of file diff --git a/sys.py/UI/Emulator/fav_list_page.py b/sys.py/UI/Emulator/fav_list_page.py index d49191e..8588050 100644 --- a/sys.py/UI/Emulator/fav_list_page.py +++ b/sys.py/UI/Emulator/fav_list_page.py @@ -103,6 +103,8 @@ class FavListPage(Page): _BGheight = 73 _RomSoConfirmDownloadPage = None + _Backspace = False + def __init__(self): Page.__init__(self) @@ -397,29 +399,54 @@ class FavListPage(Page): self._ScrollStep = 1 def KeyDown(self,event): - - if IsKeyMenuOrB(event.key) or event.key == CurKeys["Left"]: + + # if IsKeyMenuOrB(event.key) or event.key == CurKeys["Left"]: + # self.ReturnToUpLevelPage() + # self._Screen.Draw() + # self._Screen.SwapAndShow() + + if IsKeyMenuOrB(event.key): self.ReturnToUpLevelPage() self._Screen.Draw() self._Screen.SwapAndShow() + if event.key == CurKeys["Right"]: + if self._Backspace: + move = 6 + + for i in range(move): + self.ScrollDown() + + self._Screen.Draw() + self._Screen.SwapAndShow() + + if event.key == CurKeys["Left"]: + if not self._Backspace: + self.ReturnToUpLevelPage() + else: + move = 6 + + for i in range(move): + self.ScrollUp() + + self._Screen.Draw() + self._Screen.SwapAndShow() if event.key == CurKeys["Up"]: self.SpeedScroll(event.key) self.ScrollUp() self._Screen.Draw() self._Screen.SwapAndShow() + if event.key == CurKeys["Down"]: self.SpeedScroll(event.key) self.ScrollDown() self._Screen.Draw() self._Screen.SwapAndShow() - if IsKeyStartOrA(event.key): self.Click() - if event.key == CurKeys["X"]: #Scan current self.ReScan() self._Screen.Draw() @@ -450,7 +477,16 @@ class FavListPage(Page): self.ReScan() self._Screen.Draw() self._Screen.SwapAndShow() - + + if event.key == CurKeys["Backspace"]: # Shift + Menu + self._Backspace = not self._Backspace + if self._Backspace: + self._Screen._MsgBox.SetText("Page Up/Down: ON") + else: + self._Screen._MsgBox.SetText("Page Up/Down: OFF") + self._Screen._MsgBox.Draw() + self._Screen.SwapAndShow() + def Draw(self): self.ClearCanvas() diff --git a/sys.py/UI/Emulator/rom_list_page.py b/sys.py/UI/Emulator/rom_list_page.py index 6ba45ff..412ae93 100644 --- a/sys.py/UI/Emulator/rom_list_page.py +++ b/sys.py/UI/Emulator/rom_list_page.py @@ -114,6 +114,7 @@ class RomListPage(Page): _RomSoConfirmDownloadPage = None + _Backspace = False def __init__(self): Page.__init__(self) @@ -441,11 +442,30 @@ class RomListPage(Page): self._Screen.SwapAndShow() if event.key == CurKeys["Right"]: - self._Screen.PushCurPage() - self._Screen.SetCurPage(self._Parent.FavListPage) + # self._Screen.PushCurPage() + # self._Screen.SetCurPage(self._Parent.FavListPage) + if not self._Backspace: + self._Screen.PushCurPage() + self._Screen.SetCurPage(self._Parent.FavListPage) + else: + move = 6 + + for i in range(move): + self.ScrollDown() + self._Screen.Draw() self._Screen.SwapAndShow() - + + if event.key == CurKeys["Left"]: + if self._Backspace: + move = 6 + + for i in range(move): + self.ScrollUp() + + self._Screen.Draw() + self._Screen.SwapAndShow() + if event.key == CurKeys["Up"]: self.SpeedScroll(event.key) self.ScrollUp() @@ -502,6 +522,15 @@ class RomListPage(Page): self._Screen.SetCurPage(self._Parent.DeleteConfirmPage) self._Screen.Draw() self._Screen.SwapAndShow() + + if event.key == CurKeys["Backspace"]: # Shift + Menu + self._Backspace = not self._Backspace + if self._Backspace: + self._Screen._MsgBox.SetText("Page Up/Down: ON") + else: + self._Screen._MsgBox.SetText("Page Up/Down: OFF") + self._Screen._MsgBox.Draw() + self._Screen.SwapAndShow() def Draw(self): self.ClearCanvas() diff --git a/sys.py/UI/keys_def.py b/sys.py/UI/keys_def.py index 176adc5..bcf2469 100644 --- a/sys.py/UI/keys_def.py +++ b/sys.py/UI/keys_def.py @@ -50,11 +50,13 @@ GameShell["Menu"] = pygame.K_ESCAPE SetXYABButtons(GetButtonsLayoutMode()) GameShell["Select"] = pygame.K_SPACE -GameShell["Start"] = pygame.K_RETURN +GameShell["Start"] = pygame.K_RETURN GameShell["LK1"] = pygame.K_h GameShell["LK5"] = pygame.K_l +GameShell["Backspace"] = pygame.K_BACKSPACE # Shift + Menu + PC = {} PC["Up"] = pygame.K_UP @@ -72,6 +74,8 @@ PC["Start"] = pygame.K_s PC["LK1"] = pygame.K_h PC["LK5"] = pygame.K_l +PC["Backspace"] = pygame.K_BACKSPACE # Shift + Menu + if CurKeySet == "PC": CurKeys = PC else: diff --git a/sys.py/UI/page.py b/sys.py/UI/page.py index 9a45b47..f1e6542 100644 --- a/sys.py/UI/page.py +++ b/sys.py/UI/page.py @@ -408,7 +408,8 @@ class Page(Widget): return all_last_posx - def IconSmoothUp(self,icon_ew): + # def IconSmoothUp(self,icon_ew): + def IconSmoothUp(self, icon_ew, fast = False): data = self.EasingData(self._PosX,icon_ew) data2 = self.IconStepMoveData(self._SelectedIconTopOffset,len(data)) @@ -421,10 +422,14 @@ class Page(Widget): if self._Icons[self._PrevIconIndex]._PosY < self._Height/2: self._Icons[self._PrevIconIndex]._PosY+=data2[i] - self.DrawIcons() - self._Screen.SwapAndShow() - - def IconsEasingLeft(self,icon_ew): + # self.DrawIcons() + # self._Screen.SwapAndShow() + if not fast: + self.DrawIcons() + self._Screen.SwapAndShow() + + # def IconsEasingLeft(self,icon_ew): + def IconsEasingLeft(self, icon_ew, fast = False): data = self.EasingData(self._PosX,icon_ew) data2 = self.IconStepMoveData(self._SelectedIconTopOffset,len(data)) @@ -438,10 +443,15 @@ class Page(Widget): if self._Icons[self._PrevIconIndex]._PosY < self._Height/2: self._Icons[self._PrevIconIndex]._PosY+=data2[i] - self.DrawIcons() - self._Screen.SwapAndShow() - - def IconsEasingRight(self,icon_ew): + + # self.DrawIcons() + # self._Screen.SwapAndShow() + if not fast: + self.DrawIcons() + self._Screen.SwapAndShow() + + # def IconsEasingRight(self,icon_ew): + def IconsEasingRight(self, icon_ew, fast = False): data = self.EasingData(self._PosX,icon_ew) data2 = self.IconStepMoveData(self._SelectedIconTopOffset,len(data)) @@ -452,13 +462,16 @@ class Page(Widget): self._Icons[self._IconIndex]._PosY-=data2[i] - + if self._Icons[self._PrevIconIndex]._PosY < self._Height/2: self._Icons[self._PrevIconIndex]._PosY+=data2[i] - - self.DrawIcons() - self._Screen.SwapAndShow() - + + # self.DrawIcons() + # self._Screen.SwapAndShow() + if not fast: + self.DrawIcons() + self._Screen.SwapAndShow() + def EasingLeft(self,ew): #ew int data = self.EasingData(self._PosX,ew) @@ -624,7 +637,10 @@ class Page(Widget): for i in range(0,len(self._MyList)): 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 + # fast: fast display mode + def KeyDown(self, event, fast = False):##default keydown,every inherited page class should have it's own KeyDown + if IsKeyMenuOrB(event.key): self.ReturnToUpLevelPage() self._Screen.Draw() @@ -633,37 +649,73 @@ class Page(Widget): if event.key == CurKeys["Right"]: if self.MoveIconIndexNext() == True: if self._IconIndex == (self._IconNumbers -1) or self._PrevIconIndex == 0: - self.IconSmoothUp(icon_width + self._PageIconMargin) + # self.IconSmoothUp(icon_width + self._PageIconMargin) + self.IconSmoothUp(icon_width + self._PageIconMargin, fast) else: - self.IconsEasingLeft(icon_width + self._PageIconMargin) + # self.IconsEasingLeft(icon_width + self._PageIconMargin) + self.IconsEasingLeft(icon_width + self._PageIconMargin, fast) else: screen_icons = int(math.floor(self._Screen._Width / (icon_width + self._PageIconMargin))) if self._IconNumbers > screen_icons: - self.IconsEasingRight((icon_width + self._PageIconMargin) * (self._IconNumbers - screen_icons)) + # self.IconsEasingRight((icon_width + self._PageIconMargin) * (self._IconNumbers - screen_icons)) + self.IconsEasingRight((icon_width + self._PageIconMargin) * (self._IconNumbers - screen_icons), fast) elif self._IconNumbers > 0: - self.IconSmoothUp(icon_width+ self._PageIconMargin) + # self.IconSmoothUp(icon_width+ self._PageIconMargin) + self.IconSmoothUp(icon_width+ self._PageIconMargin, fast) self._PsIndex = self._IconIndex - self._Screen.Draw() - self._Screen.SwapAndShow() + # self._Screen.Draw() + # self._Screen.SwapAndShow() + if not fast: + self._Screen.Draw() + self._Screen.SwapAndShow() if event.key == CurKeys["Left"]: if self.MoveIconIndexPrev() == True: if self._IconIndex == 0 or self._PrevIconIndex == (self._IconNumbers -1): - self.IconSmoothUp(icon_width + self._PageIconMargin) + # self.IconSmoothUp(icon_width + self._PageIconMargin) + self.IconSmoothUp(icon_width + self._PageIconMargin, fast) else: - self.IconsEasingRight(icon_width + self._PageIconMargin) + # self.IconsEasingRight(icon_width + self._PageIconMargin) + self.IconsEasingRight(icon_width + self._PageIconMargin, fast) else: screen_icons = int(math.floor(self._Screen._Width / (icon_width + self._PageIconMargin))) if self._IconNumbers > screen_icons: - self.IconsEasingLeft((icon_width + self._PageIconMargin) * (self._IconNumbers - screen_icons)) + # self.IconsEasingLeft((icon_width + self._PageIconMargin) * (self._IconNumbers - screen_icons)) + self.IconsEasingLeft((icon_width + self._PageIconMargin) * (self._IconNumbers - screen_icons), fast) elif self._IconNumbers > 0: - self.IconSmoothUp(icon_width+ self._PageIconMargin) + # self.IconSmoothUp(icon_width+ self._PageIconMargin) + self.IconSmoothUp(icon_width+ self._PageIconMargin, fast) self._PsIndex = self._IconIndex - self._Screen.Draw() + # self._Screen.Draw() + # self._Screen.SwapAndShow() + if not fast: + self._Screen.Draw() + self._Screen.SwapAndShow() + + if event.key == CurKeys["Up"]: + move = 3 + pageup = pygame.event.Event(pygame.KEYDOWN, key = CurKeys["Left"]) + + for i in range(move): + self.KeyDown(pageup, True) + + self.DrawIcons() # redraw icons + self._Screen.Draw() # show selected icon self._Screen.SwapAndShow() - + + if event.key == CurKeys["Down"]: + move = 3 + pagedown = pygame.event.Event(pygame.KEYDOWN, key = CurKeys["Right"]) + + for i in range(move): + self.KeyDown(pagedown, True) + + self.DrawIcons() # redraw icons + self._Screen.Draw() # show selected icon + self._Screen.SwapAndShow() + if IsKeyStartOrA(event.key): self.IconClick() self._Screen.Draw() diff --git a/version.json b/version.json index 1429d50..2091dc7 100644 --- a/version.json +++ b/version.json @@ -1,4 +1,4 @@ { - "gitversion":"6843aea", + "gitversion":"fd63173", "version":"200626" }