No description
  • C# 99.3%
  • Just 0.7%
Find a file
Alexander Epaneshnikov 752567d8b2 Add detailed keybindings to README
Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-24 01:34:51 +03:00
.claude/commands Add Hold tab accessibility and UI sound feedback 2026-03-21 16:37:48 +03:00
docs Add implementation plan documents 2026-03-23 16:56:34 +03:00
src Add A* pathfinding with NavGrid, improve autopilot navigation and docking 2026-03-23 23:39:34 +03:00
.gitignore Fix storylet text reading, StoryletEnd patch, InputField exit, and grid port filter 2026-03-22 12:54:28 +03:00
AUDIT_MENUS_UI.md Add UI audit and keybinding documentation 2026-03-23 16:56:28 +03:00
CLAUDE.md Add Hold tab accessibility and UI sound feedback 2026-03-21 16:37:48 +03:00
justfile Add README, LICENSE, and justfile for distribution 2026-03-24 00:12:35 +03:00
LICENSE Add README, LICENSE, and justfile for distribution 2026-03-24 00:12:35 +03:00
README.md Add detailed keybindings to README 2026-03-24 01:34:51 +03:00
SunlessSeaAccessibility.csproj Add Hold tab accessibility and UI sound feedback 2026-03-21 16:37:48 +03:00

Sunless Sea Accessibility Mod

A BepInEx 5 plugin that makes Sunless Sea playable for blind and visually impaired users via screen reader support and keyboard-driven navigation.

Features

  • Screen reader output via SRAL — works with NVDA, JAWS, and other screen readers
  • Virtual cursor navigation for all UI panels (menus, storylets, shops, inventory, dialogs, etc.)
  • Full keyboard control — letter-key hotkeys (I, O, N, ?) for quick access to game info
  • Autopilot with obstacle avoidance, stuck recovery, and auto-docking
  • Object scanner with compass bearings and distance readouts
  • Combat accessibility — target cycling, combat readouts, kill/prize announcements
  • Sailing HUD — fuel, supplies, hull, terror, crew, heading, and speed

Supported screens

Main menu, settings, save/load, storylets, gazetteer (story/hold/journal/officers/shops/shipyard), dialogs, log messages, avatar creation, tutorial popups, legacy/death, credits, and sailing.

Requirements

  • Sunless Sea (Steam, Windows)
  • BepInEx 5.x (x86) installed into the game directory
  • SRALSRAL.dll (x86, built without UIA) placed beside the game executable
  • A screen reader (NVDA, JAWS, etc.)

Installation

  1. Install BepInEx 5 into your Sunless Sea game folder.
  2. Place SRAL.dll next to Sunless Sea.exe.
  3. Copy SunlessSeaAccessibility.dll into BepInEx\plugins\.
  4. Launch the game.

Building from source

Requires .NET SDK with .NET Framework 3.5 targeting pack.

  1. Clone this repository.
  2. Create GamePath.props.user in the project root:
    <Project>
      <PropertyGroup>
        <GameDir>C:\path\to\SunlessSea</GameDir>
      </PropertyGroup>
    </Project>
    
  3. Build:
    dotnet build
    
    The plugin DLL is automatically copied to $(GameDir)\BepInEx\plugins\.

Keybindings

General

Key Action
I Read current screen / context info
O Read stats (hull, fuel, terror, hunger, crew, echoes)
N Navigation info (heading, speed, location, autopilot)
J Browse log messages (then Up/Down to scroll, Escape to exit)
? List hotkey bar bindings and state

UI Navigation

Key Action
Arrow keys Navigate virtual cursor in panels
Enter Activate selected item
Escape Close current panel / cancel autopilot
Tab Toggle pages (hold, shop, shipyard, journal, legacy, officer)
Ctrl+Tab Next gazetteer tab
Ctrl+Shift+Tab Previous gazetteer tab
Delete Delete selected save slot (on save/load screen)
Backspace Go back in menus

Story Buffer Navigation

Key Action
Ctrl+Down Next part of current item
Ctrl+Up Previous part of current item

Sailing & Scanner

Key Action
Page Down Next object in scanner
Page Up Previous object in scanner
Home Read bearing to selected scanner object
End Engage autopilot to selected scanner object

Map

Key Action
Tab Toggle between grid and list mode
Arrow keys Navigate map grid / list
Enter Set autopilot to selected location

Combat

Key Action
Tab Cycle / announce current target
Ctrl+1 Deck weapon status
Ctrl+2 Forward weapon status
Ctrl+3 Aft weapon status
Ctrl+4 Combat items status

Project status

The mod covers menus, port gameplay, sailing, and basic combat. See the project milestones for detailed progress.

License

MIT