📄 svgakeymap
字号:
#!/usr/bin/perl## svgakeymap - by Brion Vibber (brion@pobox.com), 6/30 - 7/3/1998# Generates a keymap conversion file for svgalib from two keytable definitions.## Usage:# svgakeymap [physical_map [program_map]] > output.keymap## The conversion map is output to stdout; you may wish to redirect it.# Keymaps are searched for in /usr/lib/kbd/keytables and are automatically# filtered through gzip if necessary.## Read the file README.keymap from the svgalib distribution for more info.$ktd = "/usr/lib/kbd/keytables/";if(scalar(@ARGV) > 0) { $inmap = $ARGV[0];} else { $inmap = "us";}if(scalar(@ARGV) > 1) { $outmap = $ARGV[1];} else { $outmap = $inmap;} foreach $bob ($inmap, $outmap) { #print "$bob\n"; unless(-e $bob) { # Tack the keytable dir on it $bob = $ktd . $bob; #print "$bob\n"; unless(-e $bob) { # Tack a .gz on it $bob .= ".map"; #print "$bob\n"; unless(-e $bob) { # Tack a .gz on it $bob .= ".gz"; #print "$bob\n"; unless(-e $bob) { die "Couldn't find $bob\n."; } } } }}if($inmap =~ m/\.gz$/) { # Filter thru gzip open INMAP, "gzip -dc $inmap |" or die "Could not open $inmap!\n";} else { open INMAP, "<$inmap" or die "Could not open $inmap!\n";}if($outmap =~ m/\.gz$/) { # Filter thru gzip open OUTMAP, "gzip -dc $outmap |" or die "Could not open $outmap!\n";} else { open OUTMAP, "<$outmap" or die "Could not open $outmap!\n";}print "# This is a svgalib scancode conversion map generated by svgakeymap.\n", "# Read the file README.keymap from the svgalib distribution for more info.\n#\n", "# Physical keyboard layout: $inmap\n", "# Program's expected keyboard layout: $outmap\n#\n", "# physical_scancode program_scancode key_name\n";while($kc = <OUTMAP>) { if($kc =~ m/^keycode\s+([0-9]+)\s*\=\s*(\S+)/) { # Store scancodes and names for future reference #print stderr "- $1 - $2 -\n"; $keys{$1} = $2; $keys{$2} = $1; } else { # We ignore anything else - including modifiers }}while($kc = <INMAP>) { if($kc =~ m/^keycode\s+([0-9]+)\s*\=\s*(\S+)/) { if($keys{$2}) { # Matching scancodes! #unless($keys{$1} eq $2) { # Find the other code with the same key... #print "$1 $keys{$2}\t# $keys{$1} <-> $2\n"; #print "$1 $keys{$2}\t# $2\n"; print "$1 $keys{$2} $2\n"; #} } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -