Отговори на тема  [ 8 мнения ] 
Четене на F-клавиши 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Пет Сеп 23, 2005 10:54 pm
Мнения: 39
Мнение Четене на F-клавиши
Здравейте!
Искам да управлявам една програма посредством натискане на клавиш F5. Пробвах с getch(), scanf() gets(), но не става. Това, което научих от чужди форуми е, че при натискането на F5 от клавиатурата се изпраща първо една нула и после числото 63 мисля. Аз обаче не успявам да напиша работещ код :( Някой може ли да даде акъл ?пояснявам,че става въпрос за C.

_________________
Най-лошото, което може да се случи на две точки, е да не лежат на една права.


Вто Май 29, 2007 12:22 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2692
Мнение 
ако си под дос, чети порт 61Н, ако си под виндовс, хвани съобщението WM_KEYDOWN


Вто Май 29, 2007 1:27 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 9:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение 
int getbioskey(void)
{
union REGS regs;
struct SREGS segregs;

segread(&segregs);
regs.h.ah = 0;
int86x (0x16, &regs, &regs, &segregs);
return regs.x.ax;
}


Вто Май 29, 2007 1:41 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Май 29, 2007 2:23 pm
Мнения: 3715
Местоположение: Високо в планината
Мнение 
да разбирам ли, че горната функция ще върне "0-63"????


Вто Май 29, 2007 3:00 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 9:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение 
dan написа:
да разбирам ли, че горната функция ще върне "0-63"????


връща:
AH = BIOS scan code
AL = ASCII character

повече: http://kernel.korea.ac.kr/interrupt/INT-16.HTM


Вто Май 29, 2007 4:02 pm
Профил
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Чет Ное 02, 2006 1:13 am
Мнения: 88
Мнение 
Доколкото разбрах заданието ти трябва нещо такова с
Два вложени getch-ара

if(!getch())
{
ch = getch();
switch(ch)
{
case 72: //еди какво си
case 78: //еди що си
}
}


Пон Юни 04, 2007 8:59 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 9:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение 
solenoid написа:
Доколкото разбрах заданието ти трябва нещо такова с
Два вложени getch-ара

if(!getch())
{
ch = getch();
switch(ch)
{
case 72: //еди какво си
case 78: //еди що си
}
}


мъка, мъка :D


Пон Юни 04, 2007 9:08 pm
Профил
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Чет Ное 02, 2006 1:13 am
Мнения: 88
Мнение 
очевидно е, че се справяш с мъка дори с подобни парченца. Това не съм го измислил аз, и върши работа. Ако нещо не ти е ясно- питай.


Сря Юни 06, 2007 8:07 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 8 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 6 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни