Thread [Win32::Console] Input und Nicht-ASCII-Tasten (2 answers)
Opened by Kuerbis at 2014-07-25 13:18

Kuerbis
 2014-07-25 13:18
#176589 #176589
User since
2011-03-20
938 Artikel
BenutzerIn
[default_avatar]
Hallo,

das folgende Script gibt die richtigen Codepoints zurück, wenn ich Tasten mit einem Codepoint unter 127 drücke. Bei Tasten mit einem Codepoint über 127 wird eine negativer Wert zurückgegeben.

Gibt es eine Möglichkeit das Script so anzupassen, dass z.B. auch die ö Taste funktioniert?

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!perl
use warnings;
use strict;
use 5.10.0;
use Win32::Console;

my $in = Win32::Console->new( STD_INPUT_HANDLE );
$in->Mode( ENABLE_PROCESSED_INPUT );

while ( 1 ) {
    my @event = $in->Input;
    my $event_type = shift @event;
    next if ! defined $event_type;
    if ( $event_type == 1 ) {
        my ( $key_down, $repeat_count, $v_key_code, $v_scan_code, $char, $ctrl_key_state ) = @event;
        next if ! $key_down;
        if ( $char ) {
            say $char;
        }
        else {
            next;
        }
    }
    else {
        next;
    }
}

View full thread [Win32::Console] Input und Nicht-ASCII-Tasten