Skip to content

Translate some control characters in the qemu monitor.

Arun Sharma xen-devel 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest9 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9Xen full virtualization does not handle unaligned IO with page crossing.tools/firmware/rombios/rombios.c+16 -00 replies
2/9Don't leave behind zombie device model processestools/python/xen/xend/image.py+3 -20 replies
3/9Implement the I/O bitmap vm execution control.xen/arch/x86/domain.c xen/arch/x86/vmx.c xen/arch/x86/vmx_vmcs.c +2 more+38 -70 replies
4/9Fix the path to qemu-dmtools/ioemu/target-i386-dm/qemu-dm.debug+1 -10 replies
5/9Allow multiple disk images per guest.tools/python/xen/xend/image.py+13 -120 replies
6/9Restore command line parsing code from qemu-0.6.1tools/ioemu/monitor.c+28 -40 replies
7/9Use hg root instead of bk root.tools/debugger/gdb/gdbbuild+1 -10 replies
8/9Really enable gdbserver for real mode code.tools/libxc/xc_ptrace.c+1 -10 replies
9/9Improve guest time keepingxen/arch/x86/vmx_intercept.c xen/include/asm-x86/vmx_virpit.h+15 -20 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH][0/9] Translate some control characters in the qemu monitor.

Translate some control characters in the qemu monitor.

This removes odd control characters displayed in the qemu monitor with vnc

tools/ioemu/vnc.c +22 -1
diff -r 8d9c8ed30b0f -r 1049ab5dc16b tools/ioemu/vnc.c
@@ -393,7 +393,28 @@
 			keycode>>=8;
 		}
 	} else if(down) {
-		kbd_put_keysym(keySym);
+            int qemu_keysym = 0;
+            if (keySym <= 128) { /* normal ascii */
+                qemu_keysym = keySym;
+            } else {
+                switch(keySym) {
+                    case XK_Up: qemu_keysym = QEMU_KEY_UP; break;
+                    case XK_Down: qemu_keysym = QEMU_KEY_DOWN; break;
+                    case XK_Left: qemu_keysym = QEMU_KEY_LEFT; break;
+                    case XK_Right: qemu_keysym = QEMU_KEY_RIGHT; break;
+                    case XK_Home: qemu_keysym = QEMU_KEY_HOME; break;
+                    case XK_End: qemu_keysym = QEMU_KEY_END; break;
+                    case XK_Page_Up: qemu_keysym = QEMU_KEY_PAGEUP; break;
+                    case XK_Page_Down: qemu_keysym = QEMU_KEY_PAGEDOWN; break;
+                    case XK_BackSpace: qemu_keysym = QEMU_KEY_BACKSPACE; break;
+                    case XK_Delete: qemu_keysym = QEMU_KEY_DELETE; break;
+                    case XK_Return:
+                    case XK_Linefeed: qemu_keysym = keySym; break;
+                    default: break;
+                }
+            }
+            if (qemu_keysym != 0)
+                kbd_put_keysym(qemu_keysym);
 	}
 	if(down) {
 		if(keySym==XK_Control_L)