2013-04-18 5 views
1

С dumpkeys --long-info называется в Linux-терминала я получаю следующие значения:Что означает, когда Term :: ReadKey :: ReadKey возвращает «0»?

# ... 
0x0000 nul 
0x0001 Control_a 
0x0002 Control_b 
0x0003 Control_c 
0x0004 Control_d 
# ... 

Когда я запускаю этот скрипт и нажмите Ctrl a или Ctrl b я получаю соответствующие значения.
Когда я нажимаю Ctrl SpaceReadKey0.
Означает ли это, что это значение 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 

ответ

0

showkey -a показывает мне

^A  1 0001 0x01 # Ctrl a 
^B  2 0002 0x02 # Ctrl b 
^@  0 0000 0x00 # Ctrl Space 

и this ответ сказал, что CtrlSpace посылает ASCII NUL поэтому я предполагаю, 0 для CtrlSpace, что 1 является для Ctrla

 Смежные вопросы

  • Нет связанных вопросов^_^