如何将输入设置为左箭头键?

5 投票
3 回答
17661 浏览
提问于 2025-04-16 07:12

我想把左箭头和右箭头键当作输入的一部分。请问我该怎么做呢?有没有什么方法可以实现?

3 个回答

0

这可以通过以下工具实现:

CursesUrwidPyGame

Tkinter 是标准库的一部分。

2

这就是你可以用ncurses来实现的方法。跟TkInter不同,使用它不需要X11。

#! /usr/bin/python

import curses

screen = curses.initscr()
try:
    curses.noecho()
    curses.curs_set(0)
    screen.keypad(1)
    screen.addstr("Press a key")
    event = screen.getch()
finally:
    curses.endwin()

if event == curses.KEY_LEFT:
    print("Left Arrow Key pressed")
elif event == curses.KEY_RIGHT:
    print("Right Arrow Key pressed")
else:
    print(event)
6

使用Tkinter,你可以做到以下这些……我在网上找到的。

# KeyLogger_tk2.py
# show a character key when pressed without using Enter key
# hide the Tkinter GUI window, only console shows

try:
   # Python2
    import Tkinter as tk
except ImportError:
    # Python3
    import tkinter as tk

def key(event):
"""shows key or tk code for the key"""
    if event.keysym == 'Escape':
        root.destroy()
    if event.char == event.keysym:
     # normal number and letter characters
        print( 'Normal Key %r' % event.char )
    elif len(event.char) == 1:
      # charcters like []/.,><#$ also Return and ctrl/key
        print( 'Punctuation Key %r (%r)' % (event.keysym, event.char) )
    else:
      # f1 to f12, shift keys, caps lock, Home, End, Delete ...
        print( 'Special Key %r' % event.keysym )


root = tk.Tk()
print( "Press a key (Escape key to exit):" )
root.bind_all('<Key>', key)
# don't show the tk window
root.withdraw()
root.mainloop()

撰写回答