Send Special Keys to Gtk.VteTerminal
        Posted  
        
            by Ubersoldat
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Ubersoldat
        
        
        
        Published on 2010-04-20T10:20:04Z
        Indexed on 
            2010/04/20
            10:23 UTC
        
        
        Read the original article
        Hit count: 270
        
Hi
I have this OSS Project called Monocaffe connections manager which uses the Gtk.VteTerminal widget from PyGTK. A nice feature is that it allows the users to send commands to different servers' consoles (cluster mode) using a Gtk.TextView for the input.
The way I send key strokes to each Gtk.VteTerminal is by using the feed_child method. For common keys there's no problem: I simply feed what the TextView receives to all the terminals, but when doing so with special keys I get into a little trouble. For "Return" I catch the event and feed the terminal a '\n'. For back-space is the same, catch the event and feed a '\b'.
def cluster_backspace(self, widget):                                                                                                                                              
    return self.cluster_send_key('\b')
The problem comes with other keys like Tab, Arrows, Esc which I don't know how to feed as str to the terminal to recognize them. In the case of Esc is a real pain, because the users can edit the same file on different servers using vi, but cannot escape insert mode.
Anyway, I'm not looking for a complete solution, just ideas since I've ran out of them.
Thanks.
© Stack Overflow or respective owner