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.

Skróty klawiszowe

From Shroudforge
Revision as of 01:34, 7 November 2026 by Bonsaibauer (talk | contribs) (Importing a new version from external source)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Keyboard shortcuts



Na tej stronie możesz wyświetlać i edytować skróty okien ShroudForge oraz skróty modów jawnie zadeklarowane przez mod jako control: "keybind" w jego pliku extended.mod.json.

Przypisywanie skrótu

Kliknij pole i naciśnij wybrany klawisz lub kombinację. Wejście wykorzystuje fizyczne kody SDL3, na przykład SDL:64 dla F7, Ctrl+SDL:29 lub Shift+SDL:100. Dzięki temu położenie fizycznego klawisza jest spójne przy różnych układach klawiatury. SDL udostępnia czytelne etykiety dla bieżącego układu systemu operacyjnego. Modyfikatory, takie jak Ctrl, Alt, Shift i Meta, muszą dokładnie pasować.

Podczas rejestrowania ShroudForge blokuje skróty swoich okien i zadeklarowane skróty modów we wszystkich procesach. Ochrona działa także po anulowaniu lub zmianie fokusu okna, dopóki klawisz lub przycisk myszy pozostaje wciśnięty. Następnie rozpoczyna się stałe trzysekundowe opóźnienie, którego nowe wejście nie resetuje. Nie można zarejestrować klawisza Escape, z modyfikatorami ani bez nich. Gra używa go do menu pauzy i zamykania okien, więc naciśnięcie Escape anuluje rejestrowanie i zachowuje poprzedni skrót. Nowe przypisania F1 lub F12 wymagają potwierdzenia, ponieważ mogą ich używać Enshrouded lub Steam. Zapisywanie przypisania powodującego konflikt z innym aktywnym skrótem ShroudForge jest blokowane.

Wybierz Clear, aby wyłączyć skrót. W przypadku okien ShroudForge możesz przywrócić wbudowaną wartość domyślną. Skróty modów pozostają częścią ustawień poszczególnych modów. Pola w ustawieniach moda i w sekcji Compatibility → Hotkeys edytują tę samą zapisaną wartość.

Skróty w modzie ShroudForge

Autor moda deklaruje skrót jako ustawienie w pliku extended.mod.json:

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

Mod odczytuje to ustawienie przez API Lua ShroudForge. Reaguje na bieżącą wartość zamiast wpisywać na stałe klawisz w skrypcie:

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

shroudforge.input.was_keybind_pressed("pasteKey") zachowuje krótkie naciśnięcia między aktualizacjami runtime'u i zwraca true raz dla każdego moda i ustawienia. Zapisane zmiany na żywo docierają do runtime'u w ciągu sekundy. Użyj is_keybind_down dla działań, które mają się powtarzać podczas przytrzymywania klawisza. Dawne API od is_key_down("F1") do is_key_down("F8") nie jest obsługiwane od ShroudForge 1.7.6. Jego wywołanie zapisuje komunikat migracyjny i powoduje błąd Lua. Zamiast tego zadeklaruj ustawienie keybind i przypisz mu klawisz w Hotkey Manager, w sekcji Compatibility → Hotkeys. shroudforge.input.keybind_label("pasteKey") zwraca aktualną czytelną etykietę SDL dla układu systemu operacyjnego. Zapytanie o klawisz działa, gdy aktywne jest okno gry. Sama deklaracja nie zmienia klawisza wpisanego na stałe w skrypcie. Mod musi odczytać tę wartość przez API i używać jej w swojej akcji.

Konflikty i inne mody

ShroudForge zgłasza konflikty między aktywnymi skrótami okien ShroudForge a zadeklarowanymi skrótami modów. Zapisywanie nie może wprowadzić nowego konfliktu między aktywnymi skrótami, których kombinacje klawiszy i modyfikatorów nakładają się.

Samodzielne mody EML i mody DLL zarządzające własnymi skrótami nie mogą być tutaj niezawodnie przemapowane ani przechwycone. Jeśli mod udostępnia taką opcję, ustaw skróty w jego ustawieniach lub konfiguracji. Mod EML może być tu widoczny, jeśli jawnie deklaruje pasujące ustawienie keybind w extended.mod.json i używa go przez API Lua ShroudForge. Nie przejmuje to niezależnie zarządzanych skrótów EML ani DLL.