键盘输入监听

Python键盘输入和鼠标操作


键位码表:

字母和数字键     数字小键盘的键       功能键         其它键 

      键   键码     键   键码       键   键码     键      键码 

      A   65       0   96        F1   112     Backspace    

      B   66       1   97        F2   113     Tab      

      C   67       2   98        F3   114     Clear      12 

      D   68       3   99        F4   115     Enter      13 

      E   69       4   100       F5   116     Shift      16 

      F   70       5   101       F6   117     Control     17 

      G   71       6   102       F7   118      Alt       18 

      H   72       7   103       F8   119     Caps Lock    20 

      I   73       8   104       F9   120     Esc       27 

      J   74       9   105       F10  121     Spacebar    32 

      K   75       *   106       F11  122     Page Up     33 

      L   76       +   107       F12  123     Page Down    34 

      M   77       Enter 108       --   --      End       35 

      N   78       -   109       --   --       Home      36 

      O   79       .   110       --   --      Left Arrow   37 

      P   80       /   111       --   --      Up Arrow    38 

      Q   81       --   --       --   --      Right Arrow   39 

      R   82       --   --       --   --      Down Arrow    40 

      S   83       --   --       --   --      Insert      45 

      T   84       --   --       --   --      Delete      46 

      U   85       --   --       --   --      Help       47 

      V   86       --   --       --   --      Num Lock     144 

       其他未列出的字母和数字键盘为:ord(c)

方法一:

使用方法具体例子如下:

def move(self,event):  
    # 通过键盘控制蛇的运动  
    # left:[-1,0],right:[1,0],up:[0,1],down:[0,-1]    
        if event.keycode == 39 and self.snakeDirection != 'left':  
            self.snakeMove = [1,0]  
            self.snakeDirection = "right"  



如果你用了某个窗口系统,你可以用那个窗口系统的event来获得键盘的事件;



方法二:


def onKeyboardEvent(event):
    if str(event.Key)=='F12':
        DELAY = 1
    elif str(event.Key)=='F11':
        INDEX = 1
        win32api.PostQuitMessage()
    return True



for event in pygame.event.get():
    if event.type == pygame.QUIT or (event.type == pygame.KEYDOWN and event.key == pygame.K_q):
        pygame.quit()
        sys.exit()
    if event.type == pygame.KEYDOWN:
        if event.key == pygame.K_w and snake.direction != "s": snake.direction = "w"
        if event.key == pygame.K_s and snake.direction != "w": snake.direction = "s"
        if event.key == pygame.K_a and snake.direction != "d": snake.direction = "a"
        if event.key == pygame.K_d and snake.direction != "a": snake.direction = "d"
        if event.key == pygame.K_r: snake.__init__()


# mouse operation
from tkinter import *

root = Tk()

def callback(event):
    print ("clicked at", event.x, event.y)

frame = Frame(root, width=100, height=100)
frame.bind("<Button-1>", callback)
frame.pack()

root.mainloop()
 
 
# keyboard events
from Tkinter import *

root = Tk()

def key(event):
    print "pressed", repr(event.char)

def callback(event):
    frame.focus_set()
    print "clicked at", event.x, event.y

frame = Frame(root, width=100, height=100)
frame.bind("<Key>", key)
frame.bind("<Button-1>", callback)
frame.pack()

root.mainloop()



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值