diff options
-rw-r--r-- | interface-definitions/system-options.xml.in | 32 | ||||
-rwxr-xr-x | src/conf_mode/system-options.py | 9 |
2 files changed, 41 insertions, 0 deletions
diff --git a/interface-definitions/system-options.xml.in b/interface-definitions/system-options.xml.in index 297f5891e..fab0c0169 100644 --- a/interface-definitions/system-options.xml.in +++ b/interface-definitions/system-options.xml.in @@ -80,6 +80,38 @@ #include <include/source-address-ipv4-ipv6.xml.i> </children> </node> + <leafNode name="keyboard-layout"> + <properties> + <help>System keyboard layout, type ISO2</help> + <completionHelp> + <list>us fr de fi no dk</list> + </completionHelp> + <valueHelp> + <format>us</format> + <description>United States of America</description> + </valueHelp> + <valueHelp> + <format>fr</format> + <description>France</description> + </valueHelp> + <valueHelp> + <format>de</format> + <description>Germany</description> + </valueHelp> + <valueHelp> + <format>fi</format> + <description>Finland</description> + </valueHelp> + <valueHelp> + <format>no</format> + <description>Norway</description> + </valueHelp> + <valueHelp> + <format>dk</format> + <description>Denmark</description> + </valueHelp> + </properties> + </leafNode> </children> </node> </children> diff --git a/src/conf_mode/system-options.py b/src/conf_mode/system-options.py index 22765cef7..bf0bd56ec 100755 --- a/src/conf_mode/system-options.py +++ b/src/conf_mode/system-options.py @@ -107,6 +107,15 @@ def apply(options): else: cmd('systemctl disable tuned.service') + # Keyboard layout + if 'keyboard_layout' in options.keys(): + try: + cmd('loadkeys {}'.format(options['keyboard_layout'])) + except OSError: + raise ConfigError('Dos not possible to set {} as keyboard layout'.format(options['keyboard_layout'])) + else: + cmd('loadkeys us') + if __name__ == '__main__': try: c = get_config() |