Пример #1
0
 def handleEvent(self, event):
     if event.type == pygame.KEYDOWN and event.key == pygame.K_RETURN and (event.mod & (pygame.KMOD_LSHIFT | pygame.KMOD_RSHIFT | pygame.KMOD_LMETA | pygame.KMOD_RMETA)):
         # Shift/meta return: start/stop song.  Useful for keybinding apps.
         self.Close()
         return
     
     pykPlayer.handleEvent(self, event)
Пример #2
0
 def handleEvent(self, event):
     if event.type == pygame.KEYDOWN and event.key == pygame.K_RETURN and (event.mod & (pygame.KMOD_LSHIFT | pygame.KMOD_RSHIFT | pygame.KMOD_LMETA | pygame.KMOD_RMETA)):
         # Shift/meta return: start/stop song.  Useful for keybinding apps.
         self.Close()
         return
     
     pykPlayer.handleEvent(self, event)
Пример #3
0
    def handleSongEvent(self, event):
        """ The user has already selected a song, and now has to
        select the specific version of it he/she meant to play. """

        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE or event.key == pygame.K_TAB:
                # Back out to the main index.
                self.selectedSong = None
                self.screenDirty = True

                # Don't continue.  If we call up to pykPlayer, it will
                # shut us down with the escape key.
                return

            elif event.key == pygame.K_RETURN:
                self.selectSong()

            elif event.key == pygame.K_UP:
                self.selectedSongRow = max(self.selectedSongRow - 1, 0)
                self.screenDirty = True

            elif event.key == pygame.K_DOWN:
                self.selectedSongRow = min(self.selectedSongRow + 1, len(self.selectedSong.sameSongs) - 1)
                self.screenDirty = True

            elif event.key == pygame.K_F1:
                # F1: mark song for later inspection.
                self.markCurrentSongFile()

        elif event.type == pygame.QUIT:
            self.running = False

        elif env == ENV_GP2X and event.type == pygame.JOYBUTTONDOWN:
            button = event.button

            if button == GP2X_BUTTON_UPLEFT or button == GP2X_BUTTON_UPRIGHT:
                button = GP2X_BUTTON_UP
            elif button == GP2X_BUTTON_DOWNLEFT or button == GP2X_BUTTON_DOWNRIGHT:
                button = GP2X_BUTTON_DOWN
                
            if button == GP2X_BUTTON_Y or button == GP2X_BUTTON_A or button == GP2X_BUTTON_SELECT:
                self.selectedSong = None
                self.screenDirty = True
                return
            elif button == GP2X_BUTTON_START or \
                 button == GP2X_BUTTON_X or \
                 button == GP2X_BUTTON_B:
                self.selectSong()
            elif button == GP2X_BUTTON_UP:
                self.selectedSongRow = max(self.selectedSongRow - 1, 0)
                self.screenDirty = True
            elif button == GP2X_BUTTON_DOWN:
                self.selectedSongRow = min(self.selectedSongRow + 1, len(self.selectedSong.sameSongs) - 1)
                self.screenDirty = True
            elif button == GP2X_BUTTON_CLICK:
                # F1: mark song for later inspection.
                self.markCurrentSongFile()

        pykPlayer.handleEvent(self, event)
Пример #4
0
    def handleSongEvent(self, event):
        """ The user has already selected a song, and now has to
        select the specific version of it he/she meant to play. """

        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE or event.key == pygame.K_TAB:
                # Back out to the main index.
                self.selectedSong = None
                self.screenDirty = True

                # Don't continue.  If we call up to pykPlayer, it will
                # shut us down with the escape key.
                return

            elif event.key == pygame.K_RETURN:
                self.selectSong()

            elif event.key == pygame.K_UP:
                self.selectedSongRow = max(self.selectedSongRow - 1, 0)
                self.screenDirty = True

            elif event.key == pygame.K_DOWN:
                self.selectedSongRow = min(self.selectedSongRow + 1, len(self.selectedSong.sameSongs) - 1)
                self.screenDirty = True

            elif event.key == pygame.K_F1:
                # F1: mark song for later inspection.
                self.markCurrentSongFile()

        elif event.type == pygame.QUIT:
            self.running = False

        elif env == ENV_GP2X and event.type == pygame.JOYBUTTONDOWN:
            button = event.button

            if button == GP2X_BUTTON_UPLEFT or button == GP2X_BUTTON_UPRIGHT:
                button = GP2X_BUTTON_UP
            elif button == GP2X_BUTTON_DOWNLEFT or button == GP2X_BUTTON_DOWNRIGHT:
                button = GP2X_BUTTON_DOWN
                
            if button == GP2X_BUTTON_Y or button == GP2X_BUTTON_A or button == GP2X_BUTTON_SELECT:
                self.selectedSong = None
                self.screenDirty = True
                return
            elif button == GP2X_BUTTON_START or \
                 button == GP2X_BUTTON_X or \
                 button == GP2X_BUTTON_B:
                self.selectSong()
            elif button == GP2X_BUTTON_UP:
                self.selectedSongRow = max(self.selectedSongRow - 1, 0)
                self.screenDirty = True
            elif button == GP2X_BUTTON_DOWN:
                self.selectedSongRow = min(self.selectedSongRow + 1, len(self.selectedSong.sameSongs) - 1)
                self.screenDirty = True
            elif button == GP2X_BUTTON_CLICK:
                # F1: mark song for later inspection.
                self.markCurrentSongFile()

        pykPlayer.handleEvent(self, event)
Пример #5
0
    def handleMainEvent(self, event):
        """ Handles events on the main 'select a song' index. """
        if event.type == pygame.KEYDOWN:
            if self.searchString and (event.key == pygame.K_BACKSPACE
                                      or event.key == pygame.K_DELETE):
                # Backing up on the search.
                self.searchString = self.searchString[:-1]
                self.goToSearch(self.searchString)
                return
            if event.unicode and event.unicode[0] >= ' ':
                # The user has typed a keystroke that counts toward a
                # search.
                if event.key in self.CommandKeys:
                    # Except any one of these keys, which are reserved
                    # for font zoom and other command navigation.
                    pass
                elif event.key in self.FirstCommandKeys and not self.searchString:
                    # These keys are used for navigation only if we
                    # haven't already started typing.
                    pass
                else:
                    self.searchString += event.unicode
                    self.goToSearch(self.searchString)
                    return
            if event.key == pygame.K_LSHIFT or event.key == pygame.K_RSHIFT:
                # Don't count these keys as wiping out the search.
                return

            self.searchString = ''
            self.heldKey = (pygame.KEYDOWN, event.key, event.mod)
            self.heldStartTicks = pygame.time.get_ticks()
            self.heldRepeat = 0

            if event.key == pygame.K_ESCAPE:
                self.running = False
            elif event.key == pygame.K_RETURN:
                self.selectSong()
            elif event.key == pygame.K_TAB:
                self.changeSort()
            elif event.key == pygame.K_F1:
                # F1: mark song for later inspection.
                self.markCurrentSongFile()
            else:
                self.handleRepeatable(pygame.KEYDOWN, event.key, event.mod, 1)

        elif event.type == pygame.KEYUP:
            self.heldKey = None
            self.heldStartTicks = pygame.time.get_ticks()

        elif event.type == pygame.QUIT:
            self.running = False

        elif env == ENV_GP2X and event.type == pygame.JOYBUTTONDOWN:
            button = event.button

            # Map these diagonal buttons to the nearest up/down
            # equivalent.  This helps avoid the interruption of
            # scrolling because the GP2X joystick drifts too far left
            # or right.
            if button == GP2X_BUTTON_UPLEFT or button == GP2X_BUTTON_UPRIGHT:
                button = GP2X_BUTTON_UP
            elif button == GP2X_BUTTON_DOWNLEFT or button == GP2X_BUTTON_DOWNRIGHT:
                button = GP2X_BUTTON_DOWN

            self.heldKey = (pygame.JOYBUTTONDOWN, button, 0)
            self.heldStartTicks = pygame.time.get_ticks()
            self.heldRepeat = 0

            if button == GP2X_BUTTON_Y:
                self.running = False
            elif button == GP2X_BUTTON_START or \
                 button == GP2X_BUTTON_X or \
                 button == GP2X_BUTTON_B:
                self.selectSong()
            elif button == GP2X_BUTTON_A:
                self.changeSort()
            elif button == GP2X_BUTTON_SELECT:
                # Break out so this one won't fall through to
                # pykPlayer, which would shut us down.
                return
            elif button == GP2X_BUTTON_CLICK:
                # F1: mark song for later inspection.
                self.markCurrentSongFile()
            else:
                self.handleRepeatable(pygame.JOYBUTTONDOWN, button, 0, 1)

        elif env == ENV_GP2X and event.type == pygame.JOYBUTTONUP:
            button = event.button

            if button == GP2X_BUTTON_UPLEFT or button == GP2X_BUTTON_UPRIGHT:
                button = GP2X_BUTTON_UP
            elif button == GP2X_BUTTON_DOWNLEFT or button == GP2X_BUTTON_DOWNRIGHT:
                button = GP2X_BUTTON_DOWN

            if self.heldKey == (pygame.JOYBUTTONDOWN, button, 0):
                self.heldKey = None
                self.heldStartTicks = pygame.time.get_ticks()

        pykPlayer.handleEvent(self, event)
Пример #6
0
    def handleMainEvent(self, event):
        """ Handles events on the main 'select a song' index. """
        
        if event.type == pygame.KEYDOWN:
            if self.searchString and (event.key == pygame.K_BACKSPACE or event.key == pygame.K_DELETE):
                # Backing up on the search.
                self.searchString = self.searchString[:-1]
                self.goToSearch(self.searchString)
                return
            if event.unicode and event.unicode[0] >= ' ':
                # The user has typed a keystroke that counts toward a
                # search.
                if event.key in self.CommandKeys:
                    # Except any one of these keys, which are reserved
                    # for font zoom and other command navigation.
                    pass
                elif event.key in self.FirstCommandKeys and not self.searchString:
                    # These keys are used for navigation only if we
                    # haven't already started typing.
                    pass
                else:
                    self.searchString += event.unicode
                    self.goToSearch(self.searchString)
                    return
            if event.key == pygame.K_LSHIFT or event.key == pygame.K_RSHIFT:
                # Don't count these keys as wiping out the search.
                return

            self.searchString = ''
            self.heldKey = (pygame.KEYDOWN, event.key, event.mod)
            self.heldStartTicks = pygame.time.get_ticks()
            self.heldRepeat = 0

            if event.key == pygame.K_ESCAPE:
                self.running = False
            elif event.key == pygame.K_RETURN:
                self.selectSong()
            elif event.key == pygame.K_TAB:
                self.changeSort()
            elif event.key == pygame.K_F1:
                # F1: mark song for later inspection.
                self.markCurrentSongFile()
            else:
                self.handleRepeatable(pygame.KEYDOWN, event.key, event.mod, 1)

        elif event.type == pygame.KEYUP:
            self.heldKey = None
            self.heldStartTicks = pygame.time.get_ticks()

        elif event.type == pygame.QUIT:
            self.running = False

        elif env == ENV_GP2X and event.type == pygame.JOYBUTTONDOWN:
            button = event.button

            # Map these diagonal buttons to the nearest up/down
            # equivalent.  This helps avoid the interruption of
            # scrolling because the GP2X joystick drifts too far left
            # or right.
            if button == GP2X_BUTTON_UPLEFT or button == GP2X_BUTTON_UPRIGHT:
                button = GP2X_BUTTON_UP
            elif button == GP2X_BUTTON_DOWNLEFT or button == GP2X_BUTTON_DOWNRIGHT:
                button = GP2X_BUTTON_DOWN
                
            self.heldKey = (pygame.JOYBUTTONDOWN, button, 0)
            self.heldStartTicks = pygame.time.get_ticks()
            self.heldRepeat = 0

            if button == GP2X_BUTTON_Y:
                self.running = False
            elif button == GP2X_BUTTON_START or \
                 button == GP2X_BUTTON_X or \
                 button == GP2X_BUTTON_B:
                self.selectSong()
            elif button == GP2X_BUTTON_A:
                self.changeSort()
            elif button == GP2X_BUTTON_SELECT:
                # Break out so this one won't fall through to
                # pykPlayer, which would shut us down.
                return
            elif button == GP2X_BUTTON_CLICK:
                # F1: mark song for later inspection.
                self.markCurrentSongFile()
            else:
                self.handleRepeatable(pygame.JOYBUTTONDOWN, button, 0, 1)

        elif env == ENV_GP2X and event.type == pygame.JOYBUTTONUP:
            button = event.button

            if button == GP2X_BUTTON_UPLEFT or button == GP2X_BUTTON_UPRIGHT:
                button = GP2X_BUTTON_UP
            elif button == GP2X_BUTTON_DOWNLEFT or button == GP2X_BUTTON_DOWNRIGHT:
                button = GP2X_BUTTON_DOWN

            if self.heldKey == (pygame.JOYBUTTONDOWN, button, 0):
                self.heldKey = None
                self.heldStartTicks = pygame.time.get_ticks()

        pykPlayer.handleEvent(self, event)
Пример #7
0
 def handleEvent(self, event):
     pykPlayer.handleEvent(self, event)
Пример #8
0
 def handleEvent(self, event):
     pykPlayer.handleEvent(self, event)