Thread Globales Tasten-Event abfangen (win) (20 answers)
Opened by GoodFella at 2007-02-28 12:24

GoodFella
 2007-02-28 18:05
#74659 #74659
User since
2007-01-09
192 Artikel
BenutzerIn
[default_avatar]
Cool danke... Es funktioniert soweit, bis auf dass es nicht einen Key Event empfängt, sondern, drückt man die Taste einmal, immer zu true evaluiert, bis man die Taste nochmal drückt. Bei Numlock und Scrolllock ist das ja gewünscht, aber bei normalen Tasten wie Escape = 0x1b nicht, hier mal das Beispielscript:

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
28
29
30
31
32
#!/usr/local/bin/perl -w

use Tk;
use Win32::KeyState qw(:get);

my $main =  new Tk::MainWindow;
$main->geometry('1030x740');

my $vis = 1;

sub read_stuff
 {
  &switch_vis if ((GetKeyState(0x1b) & 1) == 1);
 }
$handler = $main->repeat(500, \&read_stuff);


sub switch_vis
 {
  if($vis == 0)
   {
    $vis = 1;
    $main->deiconify;
   }
  else
   {
    $vis = 0;
    $main->iconify;
   }
 }

MainLoop;


Drückt mal Enter und nach einiger Zeit nochmals, dann seht ihr was ich meine.

View full thread Globales Tasten-Event abfangen (win)