Clavier

La vérification de l'état des touches clavier requiert deux éléments tout aussi importants l'un comme l'autre:

  • Un vérificateur d'état d'une touche (pressée, enfoncée, relachée)
  • Un identifiant de touche (entrer, espace, alt, touche A, touche 1, etc)

Les identifiants de touche, nommés "key" dans cette documentation, sont tous disponibles à la fin de cette catégorie.

keyboard_check(key);
Retourne si la touche de code key est actuellement pressée.
keyboard_check_pressed(key);
Retourne si la touche de code key a été pressée depuis le dernier step.
keyboard_check_released(key);
Retourne si la touche de code key a été relâchée depuis le dernier step.
keyboard_check_direct(key);
Retourne si la touche de code key a été pressée en effectuant directement un contrôle hardware. Le résultat est indépendant de l'application en cours. Cela permettra d'effectuer davantage de vérifications. En particulier, vous pouvez utiliser les codes de touches vk_lshift, vk_lcontrol, vk_lalt, vk_rshift, vk_rcontrol et vk_ralt pour vérifier si les touches shift gauche, shift droit, contrôle (Ctrl) ou encore alt ont été pressées.

Les fonctions suivantes peuvent être utilisées pour vérifier l'état du clavier:

keyboard_get_numlock();
Retourne si la touche de verrouillage numérique (Verr num) est actuellement en fonction.
keyboard_set_numlock(on);
Mets en service (true) ou hors service (false) la touche de verrouillage numérique (Verr num).
keyboard_key_press(key);
Simule la pression d'une touche avec le code touche key indiqué.
keyboard_key_release(key);
Simule le relâchement d'une touche avec le code touche key indiqué.

Quelques variables prédéfinies peuvent aussi vous aider dans l'interactivité entre le programme et l'utilisateur:

keyboard_lastkey
Code de la dernière touche pressée. Voir ci-dessous pour connaître la liste complète des codes du clavier. Vous pouvez modifier le code retourné. Par exemple, vous pouvez lui affecter la valeur 0 si vous souhaitez le gérer par vous-même.
keyboard_key
Code de l'actuelle touche pressée (voir plus bas; 0 si aucune).
keyboard_lastchar
Dernier caractère pressé (retourné dans une chaîne de caractères).
keyboard_string
La chaîne contient au plus les 1024 derniers caractères frappés au clavier. Cette chaîne ne contiendra que les caractères tapés imprimables. La chaîne assure la gestion correcte lors de la pression de la touche retour arrière (backspace) en effaçant le dernier caractère à chaque appui sur cette dernière.

Les identifiants de touches clavier

  • vk_nokey : code touche indiquant qu'aucune touche n'a été pressée
  • vk_anykey : code touche indiquant qu'une touche quelconque a été pressée
  • vk_left : code touche correspondant à la touche flèche de gauche
  • vk_right : code touche correspondant à la touche flèche de droite
  • vk_up : code touche correspondant à la touche flèche du haut
  • vk_down : code touche correspondant à la touche flèche du bas
  • vk_enter : touche Entrée (enter)
  • vk_escape : touche Esc (echap/escape)
  • vk_space : touche Espace
  • vk_shift : touche Shift (majuscule)
  • vk_control : touche contrôle (ctrl)
  • vk_alt : touche alt
  • vk_backspace : touche retour arrière (backspace)
  • vk_tab : touche tabulation (tab)
  • vk_home : touche home (place le curseur en haut à gauche de l'écran)
  • vk_end : touche Fin (end)
  • vk_delete : touche Suppr (delete)
  • vk_insert : touche Insert (insert)
  • vk_pageup : touche page précédente (pageup)
  • vk_pagedown : touche page suivante (pagedown)
  • vk_pause : touche pause/break
  • vk_printscreen : touche printscreen/sysrq
  • vk_f1 ... vk_f12 : codes touches pour les touches de fonction F1 à F12
  • vk_numpad0 ... vk_numpad9 : touches correspondant aux chiffres du pavé numérique
  • vk_multiply : touche multiplication (*) du pavé numérique
  • vk_divide : touche division (/) du pavé numérique
  • vk_add : touche addition (+) du pavé numérique
  • vk_substract : touche soustraction (-) du pavé numérique
  • vk_decimal : touche point décimal (.) du pavé numérique

Pour les touches correspondant aux lettres, utilisez par exemple ord('A') (lettres capitales).
Pour les touches correspondant aux chiffres, utilisez par exemple ord('5') pour obtenir la touche 5.

Souris

La vérification de l'état des boutons souris requiert deux éléments tout aussi importants l'un comme l'autre:

  • Un vérificateur d'état d'un bouton (pressée, enfoncée, relachée)
  • Un identifiant de bouton (clic gauche, clic droit, etc)
mouse_check_button(numb)
Retourne si le bouton de la souris numb est actuellement pressé.
mouse_check_button_pressed(numb)
Retourne si le bouton de la souris numb a été pressé depuis le dernier step.
mouse_check_button_released(numb)
Retourne si le bouton de la souris numb a été relâché depuis le dernier step.

Quelques variables prédéfinies peuvent aussi vous aider dans l'interactivité entre le programme et l'utilisateur:

mouse_x
Coordonnée en X de la souris sur la fenêtre. Cette variable ne peut pas être modifiée.
mouse_y
Coordonnée en Y de la souris sur la fenêtre. Cette variable ne peut pas être modifiée.
mouse_button
Bouton de la souris actuellement pressé.
mouse_lastbutton
Dernier bouton pressé de la souris.

Les identifiants de boutons souris

  • mb_none : code touche indiquant qu'aucun bouton n'a été pressée
  • mb_any : code touche indiquant qu'un bouton quelconque a été pressée
  • mb_left : code touche indiquant que le clic gauche a été pressée
  • mb_right : code touche indiquant que le clic droit a été pressée
  • mb_middle : code touche indiquant que le bouton central (molette) a été pressée

Joystick

Les identifiants de boutons joystick