On 09/02/2011 07:38 AM, Dieter Plaetinck wrote:
On Fri, 02 Sep 2011 01:33:18 -0300
Gerardo Exequiel Pozzi<[email protected]> wrote:
Hello
I am working on this now, the support is very basic, but I think the
most important symbols are remapped.
I created a scripts that generated *.ktl files from [kbd] package
using keytab-lilo. I also patch this program in this script, so can
use map thats needs unicode.
https://gist.github.com/1187908
In some cases we have:
* two maps versions one non-unicode and other unicode.
* Non-unicode and other unicode but them are the same (keep with
one)
* one map non-unicode only
* one map unicode only
* nothing because conversion fails.
The script also makes syslinux submenus (in a really basic way, no
fancy titles), also converts filenames to be more ISO-9660 friendly.
So the steps to implements this are:
* Make a package from generated files from the script.
* Install this package in build.sh
* Copy kbdmap/ directory (from installed package) to syslinux/
directory.
* Add to syslinux.cfg these lines:
---------
MENU BEGIN kbdmap
MENU LABEL Change Keyboard Map
INCLUDE kbdmap/kbdmap.cfg
MENU END
---------
After you selected the desired keymap, syslinux drops to boot:
prompt, just hitting enter, returns to main menu (do in this way for
now, at least at this moment I can not find a way that does not reset
keyboard remap)
is it possible to also use the same keymap during initcpio, and in the real
userspace, if a choice is made in syslinux?
Dieter
No, this only works in syslinux. There is no know way to pass
automagically some argument to kernel so can be used later at
initramfs/real-root.
Indeed in my first version I used "config blah.cfg" insteads of
submenus, but this does not work, keyboard remap does not persist inside
syslinux. The solution is using submenus. For example if you want to go
back main menu instead of droping to boot: prompt. the remap is back to
default. (I talked about this in #syslinux channel @freenode with
syslinux guys).
--
Gerardo Exequiel Pozzi
\cos^2\alpha + \sin^2\alpha = 1