Octubre 20, 2021, 04:04:38 PM Ultima modificación: Octubre 31, 2021, 05:24:29 PM por Marth
Verán, estoy buscando mostrar en pantalla una variable de una tecla.
Es decir, tengo, por ejemplo, una variable "tecla" y la pongo en vk_left.
Pues quiero que se muestre en pantalla "izquierda".
Si pido mostrar el valor de "tecla" me sale 37, que supongo que es el código ascii.
Pues la cosa es que en vez de mostrarse como un número, debe mostrarse como un texto.

Usa un switch que transforme el valor en una string, por ejemplo:

function name_key(key) {
//Teclas Especiales
switch(key){
case(vk_left): return "Izquierda"; break;
case(vk_right): return "Derecha"; break;
case(vk_up): return "Arriba"; break;
case(vk_down): return "Abajo"; break;
}
//Teclas de números y letras
var Tecla = string_upper(chr(key));
if !string_pos(Key,"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890") Key = "Desconocida";
if argument0 == -1 return "-No Tecla-";
return "Tecla " + Tecla;
}


Esta función regresa el nombre de las teclas direccionales y alfanuméricas, cualquier otra tecla aparecería como "Tecla Desconocida", se puede agregar el valor de dichas teclas al switch para ponerles un nombre.

#2 Octubre 22, 2021, 04:02:40 AM Ultima modificación: Octubre 22, 2021, 04:16:16 AM por Jeffrey Faper
 Yo uso esto para mis menus de configuración de teclas  tal vez te sirva
lo dibujarias en panatalla de esta forma ejemplo
if(keyboard_check(left)==true){draw_text_colour(144, 25,+string(scr_keyname(left)),c_red,c_yellow,c_orange,c_red,1)}
[gml]
///scr_keyname(key_check or pressed)
switch(argument0){
case   8: return "Backspace";     break;
case   9: return "Tab";           break;
case  12: return "Numpad Middle"; break;
case  13: return "Enter";         break;
case  16: return "Shift";         break;
case  17: return "Control";       break;
case  18: return "Alt";           break;
case  19: return "Pause";         break;
case  20: return "Caps Lock";     break;
case  27: return "Escape";        break;
case  32: return "Space";         break;
case  33: return "Page Up";       break;
case  34: return "Page Down";     break;
case  35: return "End";           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  44: return "Print Screen";  break;
case  45: return "Insert";        break;
case  46: return "Delete";        break;
case  48: return "0";             break;
case  49: return "1";             break;
case  50: return "2";             break;
case  51: return "3";             break;
case  52: return "4";             break;
case  53: return "5";             break;
case  54: return "6";             break;
case  55: return "7";             break;
case  56: return "8";             break;
case  57: return "9";             break;
case  65: return "A";             break;
case  66: return "B";             break;
case  67: return "C";             break;
case  68: return "D";             break;
case  69: return "E";             break;
case  70: return "F";             break;
case  71: return "G";             break;
case  72: return "H";             break;
case  73: return "I";             break;
case  74: return "J";             break;
case  75: return "K";             break;
case  76: return "L";             break;
case  77: return "M";             break;
case  78: return "N";             break;
case  79: return "O";             break;
case  80: return "P";             break;
case  81: return "Q";             break;
case  82: return "R";             break;
case  83: return "S";             break;
case  84: return "T";             break;
case  85: return "U";             break;
case  86: return "V";             break;
case  87: return "W";             break;
case  88: return "X";             break;
case  89: return "Y";             break;
case  90: return "Z";             break;
case  91: return "Left Windows";  break;
case  92: return "Right Windows"; break;
case  93: return "Menu Key";      break;
case  96: return "Numpad 0";      break;
case  97: return "Numpad 1";      break;
case  98: return "Numpad 2";      break;
case  99: return "Numpad 3";      break;
case 100: return "Numpad 4";      break;
case 101: return "Numpad 5";      break;
case 102: return "Numpad 6";      break;
case 103: return "Numpad 7";      break;
case 104: return "Numpad 8";      break;
case 105: return "Numpad 9";      break;
case 106: return "Numpad *";      break;
case 107: return "Numpad +";      break;
case 109: return "Numpad -";      break;
case 110: return "Numpad .";      break;
case 111: return "Numpad /";      break;
case 112: return "F1";            break;
case 113: return "F2";            break;
case 114: return "F3";            break;
case 115: return "F4";            break;
case 116: return "F5";            break;
case 117: return "F6";            break;
case 118: return "F7";            break;
case 119: return "F8";            break;
case 120: return "F9";            break;
case 121: return "F10";           break;
case 122: return "F11";           break;
case 123: return "F12";           break;
case 144: return "Num Lock";      break;
case 145: return "Scroll Lock";   break;
case 186: return ";";              break;
case 187: return "=";            break;
case 189: return "-";             break;
case 192: return "`";             break;
case 188: return ",";             break;
case 190: return ".";             break;
case 191: return "é";             break;
case 219: return "^";             break;
case 220: return "<";             break;
case 221: return "¸";             break;
case 222: return "#";         break;
case 226: return "«";          break;
default: return string(argument0);}
[/gml]