It's a little inefficient when sending a lot of keys, but it's a much
cleaner solution. The only thing I'd change is to also accept size ==
4.

Index: key-string.c
===================================================================
--- key-string.c        (revision 2710)
+++ key-string.c        (working copy)
@@ -136,8 +136,17 @@
 int
 key_string_lookup_string(const char *string)
 {
+        size_t size;
        int     key, modifiers;
+       u_short u;

+       /* Is this a hexadecimal value? */
+       size = strlen(string);
+       if (string[0] == '0' && string[1] == 'x' && (size == 4 || size == 6)) {
+               if (sscanf(string + 2, "%04hx", &u) != 1)
+                       return (KEYC_NONE);
+               return (u);
+       }
        /* Check for modifiers. */
        modifiers = 0;
        if (string[0] == '^' && string[1] != '\0') {

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to