#!/usr/bin/perl use lib ".."; use c; my $KMAP_MAGIC = 0x8B39C07F; BEGIN { @ARGV == 1 or die "usage: kmap2bkmap \n" } system("sudo loadkeys $ARGV[0]") == 0 or die; open F, "dumpkeys -n -f |"; =~ /^keymaps\s+(.*)/ or die; foreach (split ',', $1) { my @l = /(\d+)-(\d+)/; my ($i, $j) = @l ? @l : ($_,$_); $keymaps[$_] = 1 foreach $i .. $j; } print pack("I", $KMAP_MAGIC); print map { pack "i", $keymaps[$_] || 0 } 0 .. c::MAX_NR_KEYMAPS()-1; foreach () { s/\+0x/0x/g; my ($keycode, $key, undef, @l) = split; $keycode eq 'keycode' or next; my $i = 0; $L[$i++][$key] = hex $_ foreach @l; } close F or die "dumpkeys failed"; foreach (@L) { foreach my $i (0 .. c::NR_KEYS()-1) { print pack "s", defined $_->[$i] ? $_->[$i] : 0x200; } } exit 0; orm'>
Mageia Installer and base platform for many utilitiesThierry Vignaud [tv]
summaryrefslogtreecommitdiffstats
blob: 2a1b91351c541b7b2026d887b18b0412d37269bd (plain)
1
2
3
4
5
6
7
package class_discard; # $Id$

sub new { bless {}, "class_discard" }

sub AUTOLOAD { }

1;