mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
xend: Fix keymap handling
Patch allows keymap to be specified inside vfb description and allows VM configured keymap setting to override XenD default Signed-off-by: Pat Campbell <plc@novell.com>
This commit is contained in:
1 parent
d84cb0723c
commit
418ce6a531
2 files changed
+7
-4
No files matched your search
@@ -265,9 +265,12 @@ class ImageHandler:
|
||||
has_vnc = int(vmConfig['platform'].get('vnc', 0)) != 0
|
||||
has_sdl = int(vmConfig['platform'].get('sdl', 0)) != 0
|
||||
opengl = 1
|
||||
keymap = vmConfig['platform'].get("keymap")
|
||||
for dev_uuid in vmConfig['console_refs']:
|
||||
dev_type, dev_info = vmConfig['devices'][dev_uuid]
|
||||
if dev_type == 'vfb':
|
||||
if 'keymap' in dev_info:
|
||||
keymap = dev_info.get('keymap',{})
|
||||
vfb_type = dev_info.get('type', {})
|
||||
if vfb_type == 'sdl':
|
||||
self.display = dev_info.get('display', {})
|
||||
@@ -279,7 +282,6 @@ class ImageHandler:
|
||||
has_vnc = True
|
||||
break
|
||||
|
||||
keymap = vmConfig['platform'].get("keymap")
|
||||
if keymap:
|
||||
ret.append("-k")
|
||||
ret.append(keymap)
|
||||
|
||||
@@ -325,7 +325,7 @@ gopts.var('irq', val='IRQ',
|
||||
For example 'irq=7'.
|
||||
This option may be repeated to add more than one IRQ.""")
|
||||
|
||||
gopts.var('vfb', val="type={vnc,sdl},vncunused=1,vncdisplay=N,vnclisten=ADDR,display=DISPLAY,xauthority=XAUTHORITY,vncpasswd=PASSWORD,opengl=1",
|
||||
gopts.var('vfb', val="type={vnc,sdl},vncunused=1,vncdisplay=N,vnclisten=ADDR,display=DISPLAY,xauthority=XAUTHORITY,vncpasswd=PASSWORD,opengl=1,keymap=FILE",
|
||||
fn=append_value, default=[],
|
||||
use="""Make the domain a framebuffer backend.
|
||||
The backend type should be either sdl or vnc.
|
||||
@@ -336,7 +336,8 @@ gopts.var('vfb', val="type={vnc,sdl},vncunused=1,vncdisplay=N,vnclisten=ADDR,dis
|
||||
default password.
|
||||
For type=sdl, a viewer will be started automatically using the
|
||||
given DISPLAY and XAUTHORITY, which default to the current user's
|
||||
ones. OpenGL will be used by default unless opengl is set to 0.""")
|
||||
ones. OpenGL will be used by default unless opengl is set to 0.
|
||||
keymap overrides the XendD configured default layout file.""")
|
||||
|
||||
gopts.var('vif', val="type=TYPE,mac=MAC,bridge=BRIDGE,ip=IPADDR,script=SCRIPT," + \
|
||||
"backend=DOM,vifname=NAME,rate=RATE,model=MODEL,accel=ACCEL",
|
||||
@@ -741,7 +742,7 @@ def configure_vfbs(config_devs, vals):
|
||||
for (k,v) in d.iteritems():
|
||||
if not k in [ 'vnclisten', 'vncunused', 'vncdisplay', 'display',
|
||||
'videoram', 'xauthority', 'type', 'vncpasswd',
|
||||
'opengl' ]:
|
||||
'opengl', 'keymap' ]:
|
||||
err("configuration option %s unknown to vfbs" % k)
|
||||
config.append([k,v])
|
||||
if not d.has_key("keymap"):
|
||||
|
||||