|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrew Ustinchik 2:450/142.10 05 Jan 2002 00:28:55 To : Ruslan Bondarev Subject : нажат ли Shift? -------------------------------------------------------------------------------- 31 декабря 2001 14:06, Ruslan Bondarev писанул ненароком Andrew Ustinchik: AU>> если нажат - sub Prog2. ставлю вопрос: КАК ОТСЛЕДИТЬ, HАЖАТА ЛИ В AU>> ДАHHЫЙ МОМЕHТ КЛАВИША Shift ? причём не факт нажатия как RB> Кури. угум... вставляет... курили уже такое... :-) RB> use strict; RB> use Win32::Console; RB> my $IN = new Win32::Console(STD_INPUT_HANDLE); RB> $IN->Mode(ENABLE_PROCESSED_INPUT); убрать :) RB> $IN->Flush(); RB> my $shiftpressed = 0; RB> while ($IN->GetEvents) RB> { RB> my @event = $IN->Input(); RB> my $code = $event[3]; RB> if ($event[0] == 1 && $event[1] && $code == 16) RB> { RB> # we have shift pressed RB> $shiftpressed = 1; RB> } RB> elsif ($event[0] == 1 && !$event[1] && $code == 16) RB> { RB> # we have shift released RB> $shiftpressed = 0; RB> } RB> } не всегда срабатывает... так работает... если всё в ТЕКУЩЕЙ проге... а если шифт УЖЕ зажат, и запускается прога при нажатом шифте, то получается, чё скрипт открывает себе новую консоль, в которой не чувствует нажат шифт или нет... может ВинАПИ какой впендюрить? МСДH есть у кого под рукой? [one man and his NoteBook with Linux] С уважением - Дядюшка AU. np: mp3blaster курит... :-Q ... Первое воскресенье января! С днём банковского работника, господа! --- Выписан под наблюдение pайонного паталогоанатома - GoldED+/LNX 1.1.4.7 * Origin: Женская дyша - потемки, что yж говоpить об остальном. (2:450/142.10) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/32383c3620dd.html, оценка из 5, голосов 10
|