1 -- $Id: 400_change_console_settings.lua,v 1.2 2005/02/24 23:08:03 cpressey Exp $
5 local set_keyboard_map = function()
6 local cmds, files, dir, filename, full_filename
11 dir = App.expand("${root}${base}usr/share/syscons/keymaps",
13 base = App.state.target:get_base()
17 filename = App.ui:select_file{
18 title = _("Select Keyboard Map"),
20 "Select a keyboard map appropriate to your keyboard layout."
22 cancel_desc = _("Return to Utilities Menu"),
26 if filename == "cancel" then
29 filename = dir .. "/" .. filename
33 cmdline = "${root}${KBDCONTROL} -l ${filename} < /dev/ttyv0",
34 replacements = { filename = filename }
36 if cmds:execute() then
38 snprintf(filename, 256, "/usr/share/syscons/keymaps/%s", s);
39 snprintf(keymapname, 256, filename_noext(basename(filename)));
40 config_var_set(rc_conf, "keymap", keymapname);
46 "Errors occurred; keyboard map was not successfully set."
51 local set_video_font = function()
52 local cmds, files, dir, filename, full_filename
57 dir = App.expand("${root}${base}usr/share/syscons/fonts",
59 base = App.state.target:get_base()
63 filename = App.ui:select_file{
64 title = _("Select Console Font"),
65 short_desc = _("Select a font appropriate to your video monitor and language."),
66 cancel_desc = _("Return to Utilities Menu"),
70 if filename == "cancel" then
73 filename = dir .. "/" .. filename
77 cmdline = "${root}${VIDCONTROL} -f ${filename} < /dev/ttyv0",
78 replacements = { filename = filename }
80 if cmds:execute() then
81 local found, len, w, h = string.find(filename, "(%d+)x(%d+)")
86 snprintf(variable, 256, "font8x%d", by);
87 snprintf(filename, 256, "/usr/share/syscons/fonts/%s", s);
88 snprintf(fontname, 256, filename_noext(basename(filename)));
89 config_var_set(rc_conf, variable, fontname);
96 "Errors occurred; video font was not successfully set."
102 local set_screen_map = function()
103 local cmds, files, dir, filename, full_filename
108 dir = App.expand("${root}${base}usr/share/syscons/scrnmaps",
110 base = App.state.target:get_base()
114 filename = App.ui:select_file{
115 title = _("Select Screen Map"),
117 "Select a mapping for translating characters as they " ..
118 "appear on your video console screen."
120 cancel_desc = _("Return to Utilities Menu"),
124 if filename == "cancel" then
127 filename = dir .. "/" .. filename
129 cmds = CmdChain.new()
131 cmdline = "${root}${VIDCONTROL} -l ${filename} < /dev/ttyv0",
132 replacements = { filename = filename }
134 if cmds:execute() then
136 snprintf(filename, 256, "/usr/share/syscons/scrnmaps/%s", s);
137 snprintf(scrnmapname, 256, filename_noext(basename(filename)));
138 config_var_set(rc_conf, "scrnmap", scrnmapname);
144 "Errors occurred; screen map was not successfully set."
150 name = _("Change Console Settings"),
152 if set_video_font() and set_screen_map() and set_keyboard_map() then
153 -- everything was set.
154 -- XXX write to rc.conf ?