📄 mkmap
字号:
#!/usr/bin/perl($ME = $0) =~ s|.*/||;$file = "maps/serial.map";$line = 1;open(PC, $file) || die("$!");while(<PC>){ if(/^\s*keycode\s+(\d+)\s*=\s*(\S+)/) { my($idx) = int($1); my($sym) = $2; if(defined($map{uc($sym)})) { # print STDERR "$file:$line: warning: `$sym' redefined\n"; } $map{uc($sym)} = $idx; } $line++;}close(PC);$file = "maps/fixup.map";$line = 1;open(FIXUP, $file) || die("$!");while(<FIXUP>){ if(/^\s*keycode\s+(\d+)\s*=\s*/) { my($idx) = int($1); for $sym (split(/\s+/, $')) { $map{uc($sym)} = $idx; } } $line++;}close(FIXUP);$file = "maps/usb.map";$line = 1;open(USB, $file) || die("$!");while(<USB>){ if(/^\s*keycode\s+(\d+)\s*=\s*/) { my($idx) = int($1); for $sym (split(/\s+/, $')) { my($val) = $map{uc($sym)}; $map[$idx] = $val; if(!defined($val)) { print STDERR "$file:$line: warning: `$sym' undefined\n"; } else { last; } } } $line++;}close(USB);print "unsigned char usb_kbd_map[256] = \n{\n";for($x = 0; $x < 32; $x++){ if($x && !($x % 2)) { print "\n"; } print " "; for($y = 0; $y < 8; $y++) { my($idx) = $x * 8 + $y; print sprintf(" 0x%02x,", int(defined($map[$idx]) ? $map[$idx]:0)); } print "\n";}print "};\n";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -