Browse Source

Adjust scrape-console-setup for kbd and regenerate keymaps. One

noticeable effect of this is that we now need to use the loadkeys -u
option, which means that a number of Unicode keysyms not currently
supported in gfxboot that were previously mapped to completely different
and incorrect keysyms will now generate no output. I think this is an
improvement, but please file a bug if any characters that you need to
type in the boot loader disappear as a result.
master
Colin Watson 14 years ago
parent
commit
96971a4873
  1. 7
      debian/changelog
  2. 788
      keytables.inc
  3. 6
      scrape-console-setup

7
debian/changelog

@ -2,6 +2,13 @@ gfxboot-theme-ubuntu (0.6.6) UNRELEASED; urgency=low
* Rebuild font with unifont 1:5.1.20080914-1.
* Update translations from Launchpad.
* Adjust scrape-console-setup for kbd and regenerate keymaps. One
noticeable effect of this is that we now need to use the loadkeys -u
option, which means that a number of Unicode keysyms not currently
supported in gfxboot that were previously mapped to completely different
and incorrect keysyms will now generate no output. I think this is an
improvement, but please file a bug if any characters that you need to
type in the boot loader disappear as a result.
-- Colin Watson <cjwatson@ubuntu.com> Thu, 25 Sep 2008 00:58:34 +0100

788
keytables.inc
File diff suppressed because it is too large
View File

6
scrape-console-setup

@ -211,7 +211,7 @@ my %spec_map = (
sub map_keycode ($) {
my $type = ($_[0] >> 8) & 0xff;
my $code = $_[0] & 0xff;
if ($type == 0xf0 or $type == 0xfb) {
if ($type == 0x00 or $type == 0x0b or $type == 0xf0 or $type == 0xfb) {
# KT_LATIN or KT_LETTER
if ($code == 0x08 or $code == 0x7f) {
# Backspace vs. Delete is a tricky case. gfxboot understands
@ -269,9 +269,9 @@ for my $keymap (@keymaps) {
}
my $ckbcomp = "ckbcomp -model $model -layout \Q$layout\E";
$ckbcomp .= " -variant \Q$variant\E" if defined $variant;
my $table = `$ckbcomp | sudo loadkeys -m 2>/dev/null`;
my $table = `$ckbcomp | sudo loadkeys -mu 2>/dev/null`;
for my $map (qw(plain shift altgr)) {
if ($table =~ /${map}_map\[\] = {\s*(.*?)(?:\s|,)*}/s) {
if ($table =~ /${map}_map\[[^]]*\] = {\s*(.*?)(?:\s|,)*}/s) {
$keycodes{$keymap}{$map} =
[map { map_keycode(hex) } split(/,\s+/, $1)];
} else {

Loading…
Cancel
Save