Sneltoetsen
More actions
Op deze pagina kun je sneltoetsen voor ShroudForge-vensters en mod-sneltoetsen bekijken en bewerken die een mod expliciet als control: "keybind" in het eigen extended.mod.json opgeeft.
Een sneltoets toewijzen
Klik op het veld en druk op de gewenste toets of toetsencombinatie. De invoer gebruikt fysieke SDL3-scancodes, zoals SDL:64 voor F7, Ctrl+SDL:29 of Shift+SDL:100. Zo blijft de fysieke positie van de toets consistent bij verschillende toetsenbordindelingen. SDL geeft leesbare labels voor de huidige indeling van het besturingssysteem. Modificatietoetsen zoals Ctrl, Alt, Shift en Meta moeten exact overeenkomen.
Tijdens het opnemen blokkeert ShroudForge de sneltoetsen van zijn vensters en de opgegeven mod-sneltoetsen in alle processen. De bescherming blijft actief na annuleren of een wijziging van de vensterfocus zolang een toets of muisknop ingedrukt is. Daarna volgt een vaste vertraging van drie seconden. Nieuwe invoer start die vertraging niet opnieuw. Escape kan niet worden opgenomen, met of zonder modificatietoetsen. De game gebruikt Escape voor het pauzemenu en om vensters te sluiten. Daarom annuleert deze toets de opname en blijft de vorige sneltoets behouden. Voor nieuwe F1- of F12-bindingen is bevestiging nodig omdat Enshrouded of Steam deze toetsen kan gebruiken. Een binding opslaan die botst met een andere actieve ShroudForge-sneltoets wordt geblokkeerd.
Gebruik Clear om een sneltoets uit te schakelen. Voor ShroudForge-vensters kun je de ingebouwde standaardwaarde herstellen. Mod-sneltoetsen blijven onderdeel van de instellingen van de betreffende mod. De velden in de modinstellingen en onder Compatibility → Hotkeys bewerken dezelfde opgeslagen waarde.
Sneltoetsen in een ShroudForge-mod
Een modmaker geeft een sneltoets op als instelling in extended.mod.json:
{
"settings": {
"pasteKey": {
"value": "SDL:64",
"label": "Paste blueprint",
"control": "keybind",
"applyAt": "live"
}
}
}
De mod leest deze instelling via de ShroudForge Lua-API. Het script reageert op de huidige waarde in plaats van een toets vast in de code op te nemen:
return {
on_update = function()
if shroudforge.input.was_keybind_pressed("pasteKey") then
-- Run the action.
end
end,
}
shroudforge.input.was_keybind_pressed("pasteKey") bewaart korte toetsaanslagen tussen runtime-updates en retourneert eenmaal per mod en instelling true. Opgeslagen wijzigingen zijn binnen één seconde beschikbaar in de runtime. Gebruik is_keybind_down voor acties die moeten worden herhaald zolang de toets ingedrukt blijft. De oude API is_key_down("F1") tot en met is_key_down("F8") wordt sinds ShroudForge 1.7.6 niet meer ondersteund. Een aanroep logt een migratiebericht en veroorzaakt een Lua-fout. Geef in plaats daarvan een instelling van het type keybind op en wijs die toe via Hotkey Manager onder Compatibility → Hotkeys. shroudforge.input.keybind_label("pasteKey") retourneert het huidige leesbare SDL-label voor de indeling van het besturingssysteem. De toetsquery werkt wanneer een gamevenster de focus heeft. Alleen een declaratie verandert geen toets die in een script is vastgelegd. De mod moet de waarde via de API lezen en voor de actie gebruiken.
Conflicten en andere mods
ShroudForge meldt conflicten tussen actieve sneltoetsen voor ShroudForge-vensters en opgegeven mod-keybinds. Het opslaan van een nieuwe combinatie die overlapt met een andere actieve toets- en modificatorcombinatie wordt geblokkeerd.
Zelfstandige EML-mods en DLL-mods die hun eigen sneltoetsen beheren, kunnen hier niet betrouwbaar opnieuw worden toegewezen of onderschept. Stel deze sneltoetsen in via de instellingen of configuratie van de betreffende mod, als die optie beschikbaar is. Een EML-mod kan hier ook verschijnen als deze expliciet een overeenkomende keybind-instelling opgeeft in extended.mod.json en daarvoor de ShroudForge Lua-API gebruikt. Dit neemt de controle over zelfstandig beheerde EML- of DLL-sneltoetsen niet over.