【发布时间】:2013-04-11 12:50:02
【问题描述】:
在 Linux 终端中调用 dumpkeys --long-info,我得到这些值:
# ...
0x0000 nul
0x0001 Control_a
0x0002 Control_b
0x0003 Control_c
0x0004 Control_d
# ...
当我运行此脚本并按Ctrl a 或Ctrl b 时,我会得到相应的值。
当我按Ctrl Space ReadKey 时返回0。
这个 null 是否意味着它是 Ctrl Space 的值,还是意味着没有设置或为空?
#!/usr/bin/env perl
use warnings;
use strict;
use Term::ReadKey;
ReadMode('cbreak');
print "Press keys to see their ASCII values. Use Ctrl-C to quit.\n";
while (1) {
my $char = ReadKey(0);
last unless defined $char;
printf("$char -> Hex: %x\n", ord($char), ord($char));
}
ReadMode('normal');
# -> Hex: 1 # Ctrl a
# -> Hex: 2 # Ctrl b
# -> Hex: 4 # Ctrl d
# -> Hex: 0 # Ctrl Space
【问题讨论】: