Wczytywanie klawisza

  • Rejestracja: dni
  • Ostatnio: dni
0

Poszukuję funkcji podobnej do GetAsyncKeyState(int) lecz, która nie będzie sprawdzała czy zastał wciśnięty dany klawisz, lecz zwróci wartość klawisza wciśniętego.
Proszę o pomoc :)

gswidwa
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 839
0

Nie wiem czy o to chodzi, ale wartość klawisza w ASKII pobiera się w następujący sposób:

Kopiuj
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
       system("cls");
       int klawisz;
       klawisz = getch();
       cout<<"numer klawisza: "<<klawisz<<endl;;
       system("pause");
       retuen main();
      }

Poprzez WinApi możesz obsługiwać komunikaty WM_KEYDOWN i WM_KEYUP.

  • Rejestracja: dni
  • Ostatnio: dni
0

Niestety nie chodzi mi o to :(

Chodzi mi, aby program nie zatrzymywał się kiedy ma wczytać klawisz, i zwracał wartość wartość klawisza( tak jak getch())

Sarrus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2512
0

getch() zatrzymywało przecież działanie programu. Ale jaki jest problem. Sprawdzaj czy jest dostępny znak w buforze i pobieraj kiedy jest. Coś w stylu:

Kopiuj
if (KeyPressed)
{
  Key = GetKeyPressed;
}

//pseudokod//
  • Rejestracja: dni
  • Ostatnio: dni
0

@Sarrus o to mi właśnie chodzi, tylko nie znam funkcji odpowiadającej GetKeyPressed

SM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 52
0

W curses mozesz ustawic tryb nodelay i skorzystać normalnie z getch();

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.