⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svgakeymap

📁 linux 下svgalib编的一个界面程序示例
💻
字号:
#!/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 + -