Mi stavo facendo un sistema di scelta dei tasti da parte dell'utente quando mi sono ricordato che GM mette a disposizione funzioni per rivelare il codice ascii del tasto attualmente premuto ma non permette di ottenere una stringa che identifichi il tasto premuto. Quando scegli i tasti solitamente l'utente vuole vedere sul relativo tasto scelto "INVIO" piuttosto che tasto numero 13 o cose simili.
Visto che dovevo assolutamente fare una cosa del genere me la sono fatta da me, ho usato keybard_key con tutti i tasti della mia tastiera per scoprire l codice ascii di ogni tasto al fine di fare uno script che dal tasto premuto possa restituire una stringa che identifichi il tasto.
Ho controllato tutti i tasti presenti nella mia tastiera quindi tutti quelli standard.
Probabilmente lo inserirò anche su snippet:
Spoiler
Codice: Seleziona tutto
//scopri_tasto(numero tasto)
//restituisce la stringa identificativa del tasto
//tastierino numerico
if (argument0>=96 && argument0<=105)
{
return "NUM "+string(argument0-96);
}
//numeri
else if (argument0>=48 && argument0<=57)
{
return string(argument0-48);
}
//lettere
else if (argument0>=65 && argument0<=90)
{
return chr(argument0);
}
else if (argument0>=111 && argument0<=122)
{
return "F"+string(argument0-111);
}
//speciali
else switch (argument0)
{
case 0: return "TAB"; break;
case 8: return "BACKSPACE"; break;
case 13: return "ENTER"; break;
case 16: return "SHIFT"; break;
case 17: return "CTRL"; break;
case 18: return "ALT"; break;
case 19: return "PAUSA"; break;
case 20: return "CAPS LOCK"; break;
case 27: return "ESC"; break;
case 32: return "SPACE"; break;
case 33: return "PAG SU"; break;
case 34: return "PAG GIU"; break;
case 35: return "FINE"; break;
case 36: return "HOME"; break;
case 37: return "LEFT"; break;
case 38: return "UP"; break;
case 39: return "RIGHT"; break;
case 40: return "DOWN"; break;
case 45: return "INS"; break;
case 46: return "CANC"; break;
case 91: return "WINDOWS"; break;
case 93: return "MENU"; break;
case 106: return "NUM *"; break;
case 107: return "NUM +"; break;
case 109: return "NUM -"; break;
case 110: return "NUM CANC"; break;
case 111: return "NUM /"; break;
case 144: return "BLOCK NUM"; break;
case 145: return "BLOCK SCOR"; break;
case 186: return "è"; break;
case 187: return "+"; break;
case 188: return ","; break;
case 189: return "-"; break;
case 190: return "."; break;
case 191: return "ù"; break;
case 192: return "ò"; break;
case 219: return "'"; break;
case 220: return "\"; break;
case 221: return "ì"; break;
case 222: return "à"; break;
default: return "TASTO "+string(argument0);
}
Se il tasto non è conosciuto ad esempio 230 dice "TASTO 230".
Se volete mettere cose come "TASTO SCONOSCIUTO" vi basterà cambiare l'ultima riga di codice(il default dello switch).
Spero vi possa essere utile