tkinter using two keys at the same time
<p>So tkinker can only use one key at a time. 
I am unable to say move to the left and up at the same time with this example.
How would i go about doing it if I wanted to?</p>

<pre><code>import tkinter
root = tkinter.Tk()
root.title('test')
c= tkinter.Canvas(root, height=300, width=400)
c.pack()
body = c.create_oval(100, 150, 300, 250, fill='green')

def key(event):
    OnKeyDown(event.char)
    print(event.char)

def MoveLeft(evenr)
    c.move(body, -10, 0)

def MoveRight(event):
    c.move(body, 10, 0)

def MoveUp(event):
    c.move(body, 0, 10)

def MoveDown(event):
    c.move(body, 0, -10)

root.bind('&lt;KeyPress-Left&gt;', MoveLeft)
root.bind('&lt;KeyPress-Right&gt;', MoveRight)
root.bind('&lt;KeyPress-Up&gt;', MoveUp)
root.bind('&lt;KeyPress-Down&gt;', MoveDown)
</code></pre>

<p>Personally I would also prefer to not have to "bind" my keys to functions as well as I also would like to use the keys to preform other actions (ie: make it move faster if I hold shift and up at the same time) Can tinker recognize when you pre-assign two keys or hold two keys at the same time?</p>

<p>Like this :</p>

<pre><code>from Tkinter import *

root = Tk()
var = StringVar()
a_label = Label(root,textvariable = var ).pack()

history = []
def keyup(e):
    print e.keycode
    if  e.keycode in history :
        history.pop(history.index(e.keycode))

        var.set(str(history))

def keydown(e):
    if not e.keycode in history :
        history.append(e.keycode)
        var.set(str(history))

frame = Frame(root, width=200, height=200)
frame.bind("&lt;KeyPress&gt;", keydown)
frame.bind("&lt;KeyRelease&gt;", keyup)
frame.pack()
frame.focus_set()
root.mainloop()
</code></pre>

<h2>Don't forget <code>toggle keys</code> because got a little mix status.</h2>

python tkinter keypress