[master][PATCH] If we cannot activate keyboard, at least populate the missing items (#1104541)
Vratislav Podzimek
vpodzime at redhat.com
Wed Jun 4 14:32:51 UTC 2014
When activating keyboard configuration, we populate missing keyboard
configuration items. However, on image/directory installations, we cannot
activate keyboard configuration, but many components of our UI rely on the
keyboard configuration items being set.
Also update the docstring of the populate_missing_items method which has become
slightly nicer with the commit 57837c4298b0e4436246c6a0606fe5a1a3c48a71.
Signed-off-by: Vratislav Podzimek <vpodzime at redhat.com>
---
anaconda | 8 ++++++--
pyanaconda/keyboard.py | 10 +++++++---
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/anaconda b/anaconda
index 9c14933..fb191c0 100755
--- a/anaconda
+++ b/anaconda
@@ -1017,8 +1017,12 @@ if __name__ == "__main__":
if not ksdata.keyboard.keyboard:
ksdata.keyboard.keyboard = opts.keymap
- if ksdata.keyboard.keyboard and can_touch_runtime_system("activate keyboard"):
- keyboard.activate_keyboard(ksdata.keyboard)
+ if ksdata.keyboard.keyboard:
+ if can_touch_runtime_system("activate keyboard"):
+ keyboard.activate_keyboard(ksdata.keyboard)
+ else:
+ # at least make sure we have all the values
+ keyboard.populate_missing_items(ksdata.keyboard)
# Some post-install parts of anaconda are implemented as kickstart
# scripts. Add those to the ksdata now.
diff --git a/pyanaconda/keyboard.py b/pyanaconda/keyboard.py
index c694c57..083f823 100644
--- a/pyanaconda/keyboard.py
+++ b/pyanaconda/keyboard.py
@@ -138,9 +138,9 @@ def normalize_layout_variant(layout_str):
def populate_missing_items(keyboard):
"""
- Function that populates keyboard.vc_keymap and keyboard.x_layouts if
- they are missing. By invoking LocaledWrapper's methods this function
- MODIFIES CONFIGURATION FILES.
+ Function that populates keyboard.vc_keymap and keyboard.x_layouts if they
+ are missing. By invoking LocaledWrapper's methods this function READS AND
+ WRITES CONFIGURATION FILES (but tries to keep their content unchanged).
:type keyboard: ksdata.keyboard object
@@ -148,6 +148,10 @@ def populate_missing_items(keyboard):
localed = LocaledWrapper()
+ if keyboard._keyboard and not (keyboard.vc_keymap or keyboard.x_layouts):
+ # just the value in old format given, use it as a vc_keymap
+ keyboard.vc_keymap = keyboard._keyboard
+
if keyboard.x_layouts and not keyboard.vc_keymap:
keyboard.vc_keymap = localed.convert_layout(keyboard.x_layouts[0])
--
1.9.3
More information about the anaconda-patches
mailing list