Keys
Un mapping bidirectionnel entre noms de touches lisibles ('E', 'F5') et control IDs GTA5.
Un mapping bidirectionnel entre noms de touches lisibles ('E', 'F5') et control IDs GTA5.
lib.keys mappe des noms de touches lisibles ('E', 'F5', 'SPACE') vers les control IDs GTA5
utilisés par IsControlJustPressed & co. Stocke un 'F5' parlant dans ta config, résous-le en control
ID au runtime. Shared (client + serveur).
local control = lib.keys.getControl('E') -- 46
CreateThread(function()
while true do
Wait(0)
if IsControlJustPressed(0, control) then print('E pressé') end
end
end)| Fonction | Retour | Description |
|---|---|---|
getControl(key) | ControlId? | Résout un nom ou un control ID vers un control ID numérique. nil (+ warn) si inconnu. |
getName(key) | string? | Normalise un nom ou un control ID vers son nom canonique ('E', 'F5'). |
getControl(key)ControlId?nil (+ warn) si inconnu.getName(key)string?'E', 'F5').| Table | Description |
|---|---|
controlNames | { [controlId] = name }. |
nameToControl | { [name] = controlId } — la map inverse. |
controlNames{ [controlId] = name }.nameToControl{ [name] = controlId } — la map inverse.Les noms sont en majuscules. La map couvre A–Z (sauf I, J, O), 1–9, les flèches, F1–F11,
les modificateurs (LSHIFT/LCTRL/LALT) et les touches système — par exemple E → 46, F → 23,
SPACE → 22, ENTER → 176, ESC → 200, F5 → 166.
Les control IDs ne sont pas des keycodes navigateur ni des scancodes — voir la référence controls FiveM.
local Config = { openKey = 'F5' }
local control = lib.keys.getControl(Config.openKey)
if not control then return end
RegisterKeyMapping('myresource:open', 'Ouvrir le menu', 'keyboard', lib.keys.getName(control))I, J et O sont volontairement absents (ils entrent en conflit avec des contrôles ingame) — les
demander logue un warn et renvoie nil. getControl est la fonction qui valide réellement contre la
map et renvoie nil pour une touche inconnue ; getName sur une string ne fait que vérifier le format
et la passer en majuscules, donc elle n'attrape pas un nom sans mapping réel. Un warn est logué à chaque
appel avec une touche inconnue, alors ne l'appelle pas avec une mauvaise entrée dans une boucle serrée.