Jump to content
Toggle menu
  • 3 articles
  • 22 files
  • 3 users
  • 2.5K edits
Shroudforge
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Kortkommandon

From Shroudforge
This page is a translated version of the page Keyboard shortcuts and the translation is 100% complete.


Keyboard shortcuts



På den här sidan visas och redigeras kortkommandon för ShroudForge-fönster och modkommandon som en mod uttryckligen anger som control: "keybind" i sin extended.mod.json.

Tilldela ett kortkommando

Klicka på fältet och tryck på önskad tangent eller tangentkombination. Inmatningen använder fysiska SDL3-skanningskoder, till exempel SDL:64 för F7, Ctrl+SDL:29 eller Shift+SDL:100. Då blir tangentens fysiska position densamma oavsett tangentbordslayout. SDL visar läsbara etiketter för det aktuella operativsystemets layout. Modifierare som Ctrl, Alt, Shift och Meta måste stämma exakt.

När en genväg spelas in blockerar ShroudForge sina fönsterkommandon och deklarerade modkommandon i alla processer. Skyddet är aktivt även efter avbrytning eller ändrat fönsterfokus så länge en tangent eller musknapp hålls ned. Därefter följer en fast fördröjning på tre sekunder som inte återställs av ny inmatning. Escape kan inte spelas in, med eller utan modifierare. Spelet använder tangenten för pausmenyn och för att stänga fönster. Därför avbryts inspelningen när du trycker på Escape och det föregående kortkommandot behålls. Nya bindningar för F1 eller F12 kräver bekräftelse eftersom Enshrouded eller Steam kan använda dem. Det går inte att spara en bindning som står i konflikt med ett annat aktivt ShroudForge-kortkommando.

Använd Clear för att inaktivera ett kortkommando. För ShroudForge-fönster kan du återställa det inbyggda standardvärdet. Modkommandon ingår fortfarande i respektive mods egna inställningar. Fälten i modinställningarna och under Compatibility → Hotkeys ändrar samma sparade värde.

Kortkommandon i en ShroudForge-mod

En modskapare deklarerar ett kortkommando som en inställning i extended.mod.json:

{
  "settings": {
    "pasteKey": {
      "value": "SDL:64",
      "label": "Paste blueprint",
      "control": "keybind",
      "applyAt": "live"
    }
  }
}

Modden läser inställningen via ShroudForges Lua-API. Den reagerar på det aktuella värdet i stället för att hårdkoda en tangent i skriptet:

return {
    on_update = function()
        if shroudforge.input.was_keybind_pressed("pasteKey") then
            -- Run the action.
        end
    end,
}

shroudforge.input.was_keybind_pressed("pasteKey") bevarar korta tryck mellan runtime-uppdateringar och returnerar true en gång per mod och inställning. Sparade ändringar når runtime inom en sekund. Använd is_keybind_down för åtgärder som ska upprepas medan tangenten hålls ned. Det tidigare API:t is_key_down("F1") till is_key_down("F8") stöds inte längre sedan ShroudForge 1.7.6. Ett anrop loggar ett migreringsmeddelande och orsakar ett Lua-fel. Deklarera i stället en keybind-inställning och tilldela den i Hotkey Manager under Compatibility → Hotkeys. shroudforge.input.keybind_label("pasteKey") returnerar den aktuella läsbara SDL-etiketten för operativsystemets layout. Tangentfrågan fungerar när ett spelfönster är aktivt. En deklaration ändrar inte en tangent som hårdkodats i ett skript. Modden måste läsa värdet via API:t och använda det för sin åtgärd.

Konflikter och andra moddar

ShroudForge rapporterar konflikter mellan aktiva kortkommandon för ShroudForge-fönster och deklarerade modkommandon. Det går inte att spara en ny konflikt mellan aktiva kortkommandon vars tangent- och modifierarkombinationer överlappar.

Fristående EML-moddar och DLL-moddar som hanterar sina egna kortkommandon kan inte på ett tillförlitligt sätt mappas om eller fångas upp här. Ställ in dem i respektive mods inställningar eller konfiguration om modden erbjuder alternativet. En EML-mod kan också visas här om den uttryckligen deklarerar en matchande keybind-inställning i extended.mod.json och använder ShroudForges Lua-API för den. Det tar inte över EML- eller DLL-kortkommandon som hanteras separat.