Compare commits
3 Commits
636ab73580
...
3d2d5a6243
Author | SHA1 | Date | |
---|---|---|---|
3d2d5a6243
|
|||
565dc49f36
|
|||
c460737bed
|
@@ -37,8 +37,8 @@ BUTTONS = {
|
|||||||
'confirm': {ecodes.BTN_A},
|
'confirm': {ecodes.BTN_A},
|
||||||
'back': {ecodes.BTN_B},
|
'back': {ecodes.BTN_B},
|
||||||
'add_game': {ecodes.BTN_Y},
|
'add_game': {ecodes.BTN_Y},
|
||||||
'prev_tab': {ecodes.BTN_TL, ecodes.BTN_TL2},
|
'prev_tab': {ecodes.BTN_TL, ecodes.BTN_TRIGGER_HAPPY7},
|
||||||
'next_tab': {ecodes.BTN_TR, ecodes.BTN_TR2},
|
'next_tab': {ecodes.BTN_TR, ecodes.BTN_TRIGGER_HAPPY5},
|
||||||
'confirm_stick': {ecodes.BTN_THUMBL, ecodes.BTN_THUMBR},
|
'confirm_stick': {ecodes.BTN_THUMBL, ecodes.BTN_THUMBR},
|
||||||
'context_menu': {ecodes.BTN_START},
|
'context_menu': {ecodes.BTN_START},
|
||||||
'menu': {ecodes.BTN_SELECT, ecodes.BTN_MODE},
|
'menu': {ecodes.BTN_SELECT, ecodes.BTN_MODE},
|
||||||
@@ -153,7 +153,7 @@ class InputManager(QObject):
|
|||||||
return
|
return
|
||||||
|
|
||||||
# Game launch on detail page
|
# Game launch on detail page
|
||||||
if (button_code in BUTTONS['confirm'] or button_code in BUTTONS['confirm_stick']) and self._parent.currentDetailPage is not None:
|
if (button_code in BUTTONS['confirm'] or button_code in BUTTONS['confirm_stick']) and self._parent.currentDetailPage is not None and self._parent.current_add_game_dialog is None:
|
||||||
if self._parent.current_exec_line:
|
if self._parent.current_exec_line:
|
||||||
self._parent.toggleGame(self._parent.current_exec_line, None)
|
self._parent.toggleGame(self._parent.current_exec_line, None)
|
||||||
return
|
return
|
||||||
@@ -390,6 +390,20 @@ class InputManager(QObject):
|
|||||||
focused._show_context_menu(pos)
|
focused._show_context_menu(pos)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
# Tab switching with Left/Right keys (non-GameCard focus or no focus)
|
||||||
|
idx = self._parent.stackedWidget.currentIndex()
|
||||||
|
total = len(self._parent.tabButtons)
|
||||||
|
if key == Qt.Key.Key_Left and (not isinstance(focused, GameCard) or focused is None):
|
||||||
|
new = (idx - 1) % total
|
||||||
|
self._parent.switchTab(new)
|
||||||
|
self._parent.tabButtons[new].setFocus()
|
||||||
|
return True
|
||||||
|
if key == Qt.Key.Key_Right and (not isinstance(focused, GameCard) or focused is None):
|
||||||
|
new = (idx + 1) % total
|
||||||
|
self._parent.switchTab(new)
|
||||||
|
self._parent.tabButtons[new].setFocus()
|
||||||
|
return True
|
||||||
|
|
||||||
# Library tab navigation
|
# Library tab navigation
|
||||||
if self._parent.stackedWidget.currentIndex() == 0:
|
if self._parent.stackedWidget.currentIndex() == 0:
|
||||||
game_cards = self._parent.gamesListWidget.findChildren(GameCard)
|
game_cards = self._parent.gamesListWidget.findChildren(GameCard)
|
||||||
@@ -497,20 +511,6 @@ class InputManager(QObject):
|
|||||||
self._parent.tabButtons[0].setFocus()
|
self._parent.tabButtons[0].setFocus()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
# Tab switching with Left/Right keys (non-GameCard focus)
|
|
||||||
idx = self._parent.stackedWidget.currentIndex()
|
|
||||||
total = len(self._parent.tabButtons)
|
|
||||||
if key == Qt.Key.Key_Left and not isinstance(focused, GameCard):
|
|
||||||
new = (idx - 1) % total
|
|
||||||
self._parent.switchTab(new)
|
|
||||||
self._parent.tabButtons[new].setFocus()
|
|
||||||
return True
|
|
||||||
if key == Qt.Key.Key_Right and not isinstance(focused, GameCard):
|
|
||||||
new = (idx + 1) % total
|
|
||||||
self._parent.switchTab(new)
|
|
||||||
self._parent.tabButtons[new].setFocus()
|
|
||||||
return True
|
|
||||||
|
|
||||||
# Navigate down into tab content
|
# Navigate down into tab content
|
||||||
if key == Qt.Key.Key_Down:
|
if key == Qt.Key.Key_Down:
|
||||||
if isinstance(focused, NavLabel):
|
if isinstance(focused, NavLabel):
|
||||||
@@ -520,11 +520,6 @@ class InputManager(QObject):
|
|||||||
if focusables:
|
if focusables:
|
||||||
focusables[0].setFocus()
|
focusables[0].setFocus()
|
||||||
return True
|
return True
|
||||||
else:
|
|
||||||
if focused is not None:
|
|
||||||
focused.focusNextChild()
|
|
||||||
return True
|
|
||||||
|
|
||||||
# Navigate up through tab content
|
# Navigate up through tab content
|
||||||
if key == Qt.Key.Key_Up:
|
if key == Qt.Key.Key_Up:
|
||||||
if isinstance(focused, NavLabel):
|
if isinstance(focused, NavLabel):
|
||||||
@@ -557,7 +552,6 @@ class InputManager(QObject):
|
|||||||
|
|
||||||
return super().eventFilter(obj, event)
|
return super().eventFilter(obj, event)
|
||||||
|
|
||||||
|
|
||||||
def init_gamepad(self) -> None:
|
def init_gamepad(self) -> None:
|
||||||
self.check_gamepad()
|
self.check_gamepad()
|
||||||
threading.Thread(target=self.run_udev_monitor, daemon=True).start()
|
threading.Thread(target=self.run_udev_monitor, daemon=True).start()
|
||||||
|
Reference in New Issue
Block a user