Skocz do zawartości

keyboard_string


Marek.S

Rekomendowane odpowiedzi

keyboard_string

Ciąg znaków zawierające 1024 ostatnio naciśniętych klawiszy znaku. Zawiera

tylko znaki które da się wyświetlić. Rozpoznaje także naciśnięcie klawisza

Backspace, usuwając ostatni znak z ciągu.

ok ale jak zrobić aby przy nie aktywnym oknie zapisywało znaki do keyboard_string

 

wiem o funkcji

keyboard_check_direct(key)

 

z czego od razu nasuwa się skrypt

if (keyboard_check_direct(ord('A'))) text+='a' // doda mi znak 'a' na koniec zmiennej

 

ok wszystko ładnie ale przytrzymanie przez dłuższą chwilę klawisza skutkuje dodaniem paru znaków

 

chciał bym aby warunek był sprawdzany wraz z częstotliwością powtarzania znaków w systemie.

 

chodzi mi dokładnie o to samo co keyboard_string ale podczas zminimalizowanego bądź ukrytego okna.

 

Czy ktoś ma pomysł jak tego dokonać, bądź ewentualnie jak sprawdzić częstotliwość powtarzania znaków ( Panel Sterowania/klawiatura/ )

 

/*  jeszcze rozwinę pojecie 'częstotliwość powtarzania znaków' chodzi mi o to że jak piszemy np w Wordzie :D  podczas przytrzymania klawisza przez jedną sekundę mamy jeden znak powyżej jednej sek. tworzy się duzo znaków ^^  znaczy znaki dodają się z różną szybkością w zależności jak długo trzymamy wciśnięty klawisz :P     */

Odnośnik do komentarza
Udostępnij na innych stronach

Mam dla Ciebie maly przykladzik:

DLOAD

Mysle ze sie przyda ;)

PS. Nieaktywne okno sam dorobisz

PS.2. Zauwazylem ze przy window_set_visible(false) gm nie odbiera sygnalow klawiatury - lepiej zrobic taki progs w c++

PS.3. @Tymon: Zabawne, ale jak sprawdzalem, to mi wogole nie odbiera, ale skoro mowisz ze dziala... :)

Odnośnik do komentarza
Udostępnij na innych stronach

kurcze...

 

mi chodziło o dokładnie przeciwny efekt :(

 

dokładniej chciałem aby odtworzyć keyboard_string

najlepiej pokazał bym ci to na animacji ale mój animator się jebnął....

zobacz to https://gmclan.org/up1558_3_keyboard_string.html

o taki efekt mi chodzi

 

PS. sory za kłopot :(

Odnośnik do komentarza
Udostępnij na innych stronach

Create

str = '';
for( n = 0; n < 256; n += 1 )
     key[n] = false;
alarm[0] = room_speed;

Alarm0

for( n = 0; n < 256; n += 1 )
     key[n] = false;
alarm[0] = room_speed;

Step

for( n = 65; n <= 122; n += 1 )
{
     if( keyboard_check_direct( n ) && !key[n] )
     {
          str += chr( n );
          key[n] = true;
     }
     else
          key[n] = false;
}

if( keyboard_check_direct( 8 ) && !key[8] )
{
     str = string_copy( str, 1, string_length( str ) - 1 )
     key[8] = true;
}
else
     key[8] = false;

Działa zawsze i reaguje tylko na litery + liczby. Oraz backspace. :P

 

PsichiX, kłamiesz bo odbiera.

 

EDIT

Ok, jeszcze inaczej.

http://www.gmclan.org/up152_11_keys.html

Z mapowaniem klawiszy gdy używany jest Alt. Wymaga poprawek, ale zasada jest dobra. Obsługuje wszystkie klawisze.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...