sculpt: move chargen files to config/keyboard/

The addition of further keyboard layouts would otherwise pollute the
config/ directory too much.

Caution: When updating Sculpt OS, don't reuse your existing
config/event_filter file unmodified! You need to replace the chargen
includes, pointing to the new location, e.g.,

  <include rom="en_us.chargen"/>
  <include rom="special.chargen"/>

must be changed to

  <include rom="keyboard/en_us"/>
  <include rom="keyboard/special"/>

Issue #4055
This commit is contained in:
Norman Feske 2021-03-20 14:02:18 +01:00
parent 36ef41626a
commit ca5522d4d9
3 changed files with 15 additions and 13 deletions

View File

@ -105,6 +105,14 @@ install_config {
<rom name="event_filter" label="event_filter.config"/> <rom name="event_filter" label="event_filter.config"/>
<inline name="depot_query"><query/></inline> <inline name="depot_query"><query/></inline>
</dir> </dir>
<dir name="keyboard">
<rom name="en_us" label="en_us.chargen"/>
<rom name="de_ch" label="de_ch.chargen"/>
<rom name="de_de" label="de_de.chargen"/>
<rom name="fr_ch" label="fr_ch.chargen"/>
<rom name="fr_fr" label="fr_fr.chargen"/>
<rom name="special" label="special.chargen"/>
</dir>
<rom name="fb_drv" label="fb_drv.config"/> <rom name="fb_drv" label="fb_drv.config"/>
<rom name="nitpicker" label="nitpicker.config"/> <rom name="nitpicker" label="nitpicker.config"/>
<rom name="numlock_remap" label="numlock_remap.config"/> <rom name="numlock_remap" label="numlock_remap.config"/>
@ -113,12 +121,6 @@ install_config {
<rom name="deploy" label="manual_deploy.config"/> <rom name="deploy" label="manual_deploy.config"/>
<rom name="usb" label="usb.config"/> <rom name="usb" label="usb.config"/>
<rom name="clipboard" label="clipboard.config"/> <rom name="clipboard" label="clipboard.config"/>
<rom name="en_us.chargen"/>
<rom name="de_ch.chargen"/>
<rom name="de_de.chargen"/>
<rom name="fr_ch.chargen"/>
<rom name="fr_fr.chargen"/>
<rom name="special.chargen"/>
<rom name="vimrc"/> <rom name="vimrc"/>
<tar name="launcher.tar"/> <tar name="launcher.tar"/>
<inline name="system">} [config_system_content] { <inline name="system">} [config_system_content] {
@ -248,7 +250,7 @@ install_config {
<service name="ROM" label_last="capslock"> <child name="report_rom"/> </service> <service name="ROM" label_last="capslock"> <child name="report_rom"/> </service>
<service name="ROM" label_last="event_filter.config"> <service name="ROM" label_last="event_filter.config">
<child name="config_fs_rom" label="managed/event_filter"/> </service> <child name="config_fs_rom" label="managed/event_filter"/> </service>
<service name="ROM" label_prefix="event_filter" label_suffix=".chargen"> <service name="ROM" label_prefix="event_filter -> keyboard/">
<child name="config_fs_rom"/> </service> <child name="config_fs_rom"/> </service>
<service name="ROM" label_last="fb_drv.config"> <service name="ROM" label_last="fb_drv.config">
<child name="config_fs_rom" label="managed/fb_drv"/> </service> <child name="config_fs_rom" label="managed/fb_drv"/> </service>

View File

@ -1870,7 +1870,7 @@ void Sculpt::Main::_generate_event_filter_config(Xml_generator &xml)
if (layout.name == _settings.keyboard_layout) if (layout.name == _settings.keyboard_layout)
gen_include(layout.chargen_file); }); gen_include(layout.chargen_file); });
gen_include("special.chargen"); gen_include("keyboard/special");
}); });
}); });

View File

@ -40,11 +40,11 @@ struct Sculpt::Settings
static void for_each(FN const &fn) static void for_each(FN const &fn)
{ {
static Keyboard_layout layouts[] = { static Keyboard_layout layouts[] = {
{ .name = "French", .chargen_file = "fr_fr.chargen" }, { .name = "French", .chargen_file = "keyboard/fr_fr" },
{ .name = "German", .chargen_file = "de_de.chargen" }, { .name = "German", .chargen_file = "keyboard/de_de" },
{ .name = "Swiss French", .chargen_file = "fr_ch.chargen" }, { .name = "Swiss French", .chargen_file = "keyboard/fr_ch" },
{ .name = "Swiss German", .chargen_file = "de_ch.chargen" }, { .name = "Swiss German", .chargen_file = "keyboard/de_ch" },
{ .name = "US English", .chargen_file = "en_us.chargen" }, { .name = "US English", .chargen_file = "keyboard/en_us" },
}; };
for (auto layout : layouts) for (auto layout : layouts)