python类KEYUP的实例源码

game020.py 文件源码 项目:eduActiv8 作者: imiolek-ireneusz 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def handle(self, event):
        gd.BoardGame.handle(self, event)  # send event handling up
        if event.type == pygame.MOUSEBUTTONUP:
            for each in self.board.units:
                if each.is_door is True:
                    self.board.all_sprites_list.move_to_front(each)
            self.check_result()

        if event.type == pygame.KEYDOWN or event.type == pygame.MOUSEBUTTONDOWN:
            self.auto_check_reset()
        elif event.type == pygame.KEYUP:
            self.check_result()
game012.py 文件源码 项目:eduActiv8 作者: imiolek-ireneusz 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def handle(self, event):
        gd.BoardGame.handle(self, event)  # send event handling up
        if self.ship_id < 0 and event.type == pygame.MOUSEBUTTONDOWN:
            # make it impossible to deselect the main character
            self.board.active_ship = 0
            self.ship_id = 0
            if self.moveable == True:
                pos = event.pos
                column = (pos[0] - self.layout.menu_w) // (self.layout.width)
                row = (pos[1] - self.layout.top_margin) // (self.layout.height)
                self.direction = [0, 0]
                arrow_clicked = False
                if column == self.owl_pos[0] - 1 and row == self.owl_pos[1]:
                    self.direction[0] = -1
                    arrow_clicked = True
                elif column == self.owl_pos[0] + 1 and row == self.owl_pos[1]:
                    self.direction[0] = 1
                    arrow_clicked = True
                elif column == self.owl_pos[0] and row == self.owl_pos[1] - 1:
                    self.direction[1] = -1
                    arrow_clicked = True
                elif column == self.owl_pos[0] and row == self.owl_pos[1] + 1:
                    self.direction[1] = 1
                    arrow_clicked = True

                if arrow_clicked:
                    self.check_direction_kdown()
        if (event.type == pygame.KEYDOWN or event.type == pygame.MOUSEBUTTONDOWN) and self.moveable == False:
            self.move = False
        elif event.type == pygame.KEYUP or event.type == pygame.MOUSEBUTTONUP:
            self.highlight_color(-1)
            self.mainloop.redraw_needed[0] = True
            self.move = False
game026.py 文件源码 项目:eduActiv8 作者: imiolek-ireneusz 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def handle(self, event):
        gd.BoardGame.handle(self, event)  # send event handling up
        if event.type == pygame.MOUSEBUTTONUP:
            for each in self.board.units:
                if each.is_door is True:
                    self.board.all_sprites_list.move_to_front(each)
            self.check_result()

        if event.type == pygame.KEYDOWN or event.type == pygame.MOUSEBUTTONDOWN:
            self.auto_check_reset()
        elif event.type == pygame.KEYUP:
            self.check_result()
game056.py 文件源码 项目:eduActiv8 作者: imiolek-ireneusz 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def handle(self, event):
        gd.BoardGame.handle(self, event)  # send event handling up
        if event.type == pygame.MOUSEBUTTONUP:
            for each in self.board.units:
                if each.is_door is True:
                    self.board.all_sprites_list.move_to_front(each)

        if event.type == pygame.KEYDOWN or event.type == pygame.MOUSEBUTTONDOWN:
            self.auto_check_reset()
        elif event.type == pygame.KEYUP or event.type == pygame.MOUSEBUTTONUP:
            self.check_result()
gameController.py 文件源码 项目:python-fsm 作者: axelhj 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def putEvent(self, event):

        # keys down
        if event.type == pygame.KEYDOWN \
           and event.key in self.keyToAction:
                self.gameInterface.activateGameAction(self.keyToAction[event.key])
        # keys up
        elif event.type == pygame.KEYUP \
             and event.key in self.keyToAction:
                self.gameInterface.deactivateGameAction(self.keyToAction[event.key])
multistatebutton.py 文件源码 项目:Peppy 作者: project-owner 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def user_event_action(self, event):
        """ User event handler

        :param event: the event to handle
        """
        if event.sub_type == SUB_TYPE_KEYBOARD and self.state.keyboard_key == event.keyboard_key:
            if event.action == pygame.KEYDOWN:
                self.press_action()
            elif event.action == pygame.KEYUP:
                self.release_action()
button.py 文件源码 项目:Peppy 作者: project-owner 项目源码 文件源码 阅读 30 收藏 0 点赞 0 评论 0
def user_event_action(self, event):
        """ User event dispatcher

        :param event: the event to handle
        """
        key = getattr(self.state, "keyboard_key", None)
        if event.sub_type == SUB_TYPE_KEYBOARD and key and key == event.keyboard_key:
            if event.action == pygame.KEYDOWN:
                self.press_action()
            elif event.action == pygame.KEYUP:
                self.release_action()
togglebutton.py 文件源码 项目:Peppy 作者: project-owner 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def keyboard_action(self, event):
        """  Keyboard event handler 

        :param event: the event to handle
        """
        if event.action == pygame.KEYDOWN:
            self.press_action()
        elif event.action == pygame.KEYUP:
            self.release_action(self.state)
slider.py 文件源码 项目:Peppy 作者: project-owner 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def keyboard_action(self, event):
        """ Keyboard event handler

        :param event: event to handle
        """
        if event.keyboard_key == self.key_knob:
            self.knob_event(event)
            return

        if event.action == pygame.KEYUP:
            self.current_img = self.img_knob
            self.current_filename = self.knob_filename
            self.clicked = False
            self.update_position()
            self.update_knob_image()
            self.notify_slide_listeners()
            return
        elif event.action == pygame.KEYDOWN:
            self.press_action()

        if event.keyboard_key == self.key_incr:
            self.last_knob_position += self.step
        elif event.keyboard_key == self.key_decr:
            self.last_knob_position -= self.step

        if self.img_selected:
            self.current_img = self.img_selected
        else:
            self.current_img = self.img_knob_on
saver.py 文件源码 项目:Peppy 作者: project-owner 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def handle_event(self, event):
        """ Screensaver screen event handler

        :param event: event to handle
        """
        if not self.visible: return

        if event.type == USER_EVENT_TYPE and event.sub_type == SUB_TYPE_KEYBOARD and event.action == pygame.KEYUP:
            if event.keyboard_key == kbd_keys[KEY_UP] or event.keyboard_key == kbd_keys[KEY_DOWN]:
                if self.top_menu_enabled:
                    index = self.saver_menu.get_selected_index()
                    self.top_menu_enabled = False
                    self.delay_menu.unselect()
                    s = len(self.delay_menu.delays)
                    if index > (s - 1):
                        index = s - 1
                    self.delay_menu.select_by_index(index)
                else:
                    index = self.delay_menu.get_selected_index()
                    self.top_menu_enabled = True
                    self.saver_menu.unselect()
                    s = len(self.delay_menu.delays)
                    if index == (s - 1):
                        index = len(self.saver_menu.savers) - 1
                    self.saver_menu.select_by_index(index)
            elif event.keyboard_key == kbd_keys[KEY_HOME]:
                self.home_button.handle_event(event)
            elif event.keyboard_key == kbd_keys[KEY_PLAY_PAUSE]:
                self.player_button.handle_event(event)
            else:
                if self.top_menu_enabled:
                    self.saver_menu.handle_event(event)
                else:
                    self.delay_menu.handle_event(event) 
        else:
            Container.handle_event(self, event)
about.py 文件源码 项目:Peppy 作者: project-owner 项目源码 文件源码 阅读 30 收藏 0 点赞 0 评论 0
def handle_event(self, event):
        """ About Screen event handler

        :param evenr: event to hanle
        """
        if not self.visible: return
        mouse_events = [pygame.MOUSEBUTTONUP, pygame.MOUSEBUTTONDOWN]        

        if (event.type in mouse_events) or (event.type == USER_EVENT_TYPE and event.sub_type == SUB_TYPE_KEYBOARD and event.action == pygame.KEYUP):
            self.notify_listeners(None)
filemenu.py 文件源码 项目:Peppy 作者: project-owner 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def handle_event(self, event):
        """ File menu event handler

        :param event: event to handle
        """
        if not self.visible: return

        if event.type == USER_EVENT_TYPE and event.sub_type == SUB_TYPE_KEYBOARD and event.action == pygame.KEYUP:
            if event.keyboard_key == kbd_keys[KEY_LEFT]:
                if (self.filelist.current_item_index_in_page == 0 and self.filelist.current_item_index != 0) or self.filelist.current_item_index == 0:
                    if self.filelist.length <= self.filelist.items_per_page:
                        self.select_item_on_page(self.filelist.length - 1)
                    else:
                        self.turn_page_left()
                else:
                    self.select_item_on_page(self.filelist.current_item_index - 1) 
            elif event.keyboard_key == kbd_keys[KEY_RIGHT]:
                if self.filelist.current_item_index == self.filelist.length - 1 or self.filelist.current_item_index_in_page == self.filelist.items_per_page - 1:
                    if self.filelist.length <= self.filelist.items_per_page:
                        self.select_item_on_page(0)
                    else:
                        self.turn_page_right()
                else:
                    self.select_item_on_page(self.filelist.current_item_index + 1) 
            elif event.keyboard_key == kbd_keys[KEY_UP] or event.keyboard_key == kbd_keys[KEY_DOWN]:
                Menu.handle_event(self, event)
                self.filelist.set_current_item(self.selected_index)
                self.notify_menu_navigation_listeners(self.empty_state)
            elif event.keyboard_key == kbd_keys[KEY_SELECT]:
                Menu.handle_event(self, event)
        else:
            Menu.handle_event(self, event)
dispatcher.py 文件源码 项目:Peppy 作者: project-owner 项目源码 文件源码 阅读 33 收藏 0 点赞 0 评论 0
def handle_lirc_event(self, code):
        """ LIRC event handler. 

        To simplify event handling it wraps IR events into user event with keyboard sub-type. 
        For one IR event it generates two events - one for key down and one for key up.

        :param code: IR code
        """
        if self.screensaver_dispatcher.saver_running:
                self.screensaver_dispatcher.cancel_screensaver()
                return        
        d = {}
        d[KEY_SUB_TYPE] = SUB_TYPE_KEYBOARD
        d[KEY_ACTION] = pygame.KEYDOWN
        d[KEY_KEYBOARD_KEY] = None

        try:
            d[KEY_KEYBOARD_KEY] = lirc_keyboard_map[code[0]]
            station_screen = isinstance(self.current_screen, StationScreen)
            file_player_screen = isinstance(self.current_screen, FilePlayerScreen)

            if file_player_screen or (station_screen and self.current_screen.station_menu.current_mode == StationMenu.STATION_MODE):
                if code[0] == "up":
                    d[KEY_KEYBOARD_KEY] = kbd_keys[KEY_VOLUME_UP]
                elif code[0] == "down":
                    d[KEY_KEYBOARD_KEY] = kbd_keys[KEY_VOLUME_DOWN]

            logging.debug("Received IR key: %s", d[KEY_KEYBOARD_KEY])
        except KeyError:
            logging.debug("Received not supported key: %s", code[0])
            pass

        if d[KEY_KEYBOARD_KEY]:
            event = pygame.event.Event(USER_EVENT_TYPE, **d)
            pygame.event.post(event)
            d[KEY_ACTION] = pygame.KEYUP
            event = pygame.event.Event(USER_EVENT_TYPE, **d)
            pygame.event.post(event)
dispatcher.py 文件源码 项目:Peppy 作者: project-owner 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def dispatch(self, player, shutdown):
        """ Dispatch events.  

        Runs the main event loop. Redirects events to corresponding handler.
        Distinguishes four types of events:
        - Quit event - when user closes window (Windows only)
        - Keyboard events
        - Mouse events
        - User Events    

        :param player: reference to player object
        "param shutdown: shutdown method to use when user exits
        """        
        self.player = player
        self.shutdown = shutdown
        mouse_events = [pygame.MOUSEBUTTONDOWN, pygame.MOUSEBUTTONUP, pygame.MOUSEMOTION]
        pygame.event.clear()
        clock = Clock()        

        while self.run_dispatcher:
            for event in pygame.event.get():
                s = str(event)
                logging.debug("Received event: %s", s) 
                if event.type == pygame.QUIT:
                    self.shutdown(event) 
                elif (event.type == pygame.KEYDOWN or event.type == pygame.KEYUP) and not self.config[USAGE][USE_LIRC]:
                    self.handle_keyboard_event(event)                                
                elif event.type in mouse_events or event.type == USER_EVENT_TYPE:
                    self.handle_event(event)                    
            if self.lirc != None:
                code = self.lirc.nextcode()
                if code != None:
                    self.handle_lirc_event(code)
            self.current_screen.refresh()
            self.screensaver_dispatcher.refresh()
            clock.tick(self.frame_rate)
SimGame.py 文件源码 项目:CritterEvolution 作者: apockill 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def updateKeys(self, event):
        if event.type == pygame.KEYDOWN:
            if event.key == K_r:
                keys["r"] = True
            elif event.key == pygame.K_e:
                keys["e"] = True
            elif event.key == pygame.K_p:
                keys["p"] = True
            elif event.key == pygame.K_n:
                keys["n"] = True

        if event.type == pygame.KEYUP:
            if event.key == pygame.K_r:
                keys["r"] = False
            elif event.key == pygame.K_e:
                keys["e"] = False
            elif event.key == pygame.K_p:
                keys["p"] = False
            elif event.key == pygame.K_n:
                keys["n"] = False

        if event.type == pygame.MOUSEBUTTONDOWN:
            if event.button == 1:  # Left Mouse
                keys["mouseL"] = True
            if event.button == 3:  # Right Mouse
                keys["mouseR"] = True

        if event.type == pygame.MOUSEBUTTONUP:
            if event.button == 1:  # Left Mouse
                keys["mouseL"] = False
            if event.button == 3:  # Right Mouse
                keys["mouseR"] = False

        keys["mousePos"] =  pygame.mouse.get_pos()
listen_pygame.py 文件源码 项目:myelin-acorn-electron-hardware 作者: google 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def main(self):
        self.keys_down = []

        print "Opening port"
        self.ser = serial.Serial(guess_port(), timeout=2)

        print "Forwarding key input through to the connected MCU"
        pygame.init()
        pygame.display.set_mode((100, 100))
        while True:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    pygame.quit()
                    return
                elif event.type == pygame.KEYDOWN:
                    v = scancodes_to_beebcodes.get(event.key, None)
                    if v is not None:
                        print "beebcode %02x" % v
                        if v not in self.keys_down:
                            self.keys_down.append(v)
                            self.send_keys()
                    print("KEYDOWN %s %s" % (
                        event.key,
                        '' if (event.key < 32 or event.key > 127) else '(%s)' % chr(event.key)))
                elif event.type == pygame.KEYUP:
                    print("KEYUP %s" % event.key)
                    v = scancodes_to_beebcodes.get(event.key, None)
                    if v is not None:
                        print "beebcode %02x" % v
                        if v in self.keys_down:
                            while v in self.keys_down:
                                self.keys_down.remove(v)
                            self.send_keys()
pause.py 文件源码 项目:backround-maker 作者: Fooliery887 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def see_thru_pause(self):
        self.running = True
        while self.running:
            for e in pygame.event.get():
                if e.type == pygame.KEYUP:
                    self.running = False
            #pygame.display.flip()
pause.py 文件源码 项目:backround-maker 作者: Fooliery887 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def black_out_pause(self,game):
        while self.running:
            game.screen.fill(black)
            for e in pygame.event.get():
                if e.type == pygame.KEYUP:
                    self.running = False
            pygame.display.flip()
event.py 文件源码 项目:HFOSSFinal 作者: AlanLeeson 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def _keyup_cb(self, widget, event):
        key = event.keyval
        if self.__repeat[0] is not None:
            if key in self.__held:
                # This is possibly false if set_repeat() is called with a key held
                del self.__held_time_left[key]
                del self.__held_last_time[key]
        self.__held.discard(key)

        return self._keyevent(widget, event, pygame.KEYUP)
event.py 文件源码 项目:HFOSSFinal 作者: AlanLeeson 项目源码 文件源码 阅读 33 收藏 0 点赞 0 评论 0
def _keyevent(self, widget, event, type):
        key = Gdk.keyval_name(event.keyval)
        if key is None:
            # No idea what this key is.
            return False 

        keycode = None
        if key in self.key_trans:
            keycode = self.key_trans[key]
        elif hasattr(pygame, 'K_'+key.upper()):
            keycode = getattr(pygame, 'K_'+key.upper())
        elif hasattr(pygame, 'K_'+key.lower()):
            keycode = getattr(pygame, 'K_'+key.lower())
        elif key == 'XF86Start':
            # view source request, specially handled...
            self._mainwindow.view_source()
        else:
            print 'Key %s unrecognized' % key

        if keycode is not None:
            if type == pygame.KEYDOWN:
                mod = self._keymods()
            self.__keystate[keycode] = type == pygame.KEYDOWN
            if type == pygame.KEYUP:
                mod = self._keymods()
            ukey = unichr(Gdk.keyval_to_unicode(event.keyval))
            if ukey == '\000':
                ukey = ''
            evt = pygame.event.Event(type, key=keycode, unicode=ukey, mod=mod)
            self._post(evt)

        return True


问题


面经


文章

微信
公众号

扫码关注公众号