Klavyeden Hangi Tuşa Basıldığını Kontrol Etmek

C’de string ifadelerle çalışılırken genellikle ASCII kodlarına başvurulur. Harfler ya da simgeler yerine klavyede yer alan Home, Insert, Del, Fonksiyon tuşları gibi kısayollar için ise genişletilmiş ASCII kod listesinden yararlanılır.

Burada iki fonksiyondan yararlanılır. Birincisi kbhit() fonksiyonudur. Bir tuşa basıldıysa 1, basılmadıysa 0 değeri döndürür. Döngü içi kontrollerde kullanılabilir. Diğeri olan getch(void) fonksiyonu da herhangi bir karakter alabilir. Alınan tuş kullanılmak istenirse girdi değişkeninde olduğu gibi atama işleminde kullanılabilir.

char girdi;                  
    while (1==1){
          girdi = getch();
		if (kbhit()) { 
                girdi = getch();
				switch (girdi) {

		case 77: 
			printf("Sag ok tusuna bastiniz.\n");	
                        break;

				case 27:
                         printf("Esc tusuna bastiniz.\n");
                         break;

                case 83:
                         printf("Delete tusuna bastiniz.\n");
                         break;

                case 073:
                         printf("F1  tusuna bastiniz.\n");
                         break;

                case 71:
                         printf("Home tusuna bastiniz.\n");
                         break;	

                case 79:
                         printf("End tusuna bastiniz.\n");
                         break;	
				}
		}
    }
	return 0;
}

Diğer kısayol tuşları için genişletilmiş listeye ve tüm listeye buradan ulaşabilirsiniz.

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s