Skip to content

keyboard driven UX mod for the poker rogue-like game Balatro

Notifications You must be signed in to change notification settings

janw4ld/balatro-typist-mod

Repository files navigation

Typist mod for Balatro

this mod is a mostly complete implementation of keyboard driven UX for Balatro. it adds keybindings for all of the gameplay actions, and includes code from DorkDad141's Keyboard Shortcuts, which adds keybindings for quickly selecting the best hand available or making flush & high card hands -called "the cheat layer" in typist-, but no hands are ever played or discarded automatically by the mod, it just picks cards and you can inspect the hand & modify it before playing it with space or discarding it with tab

installation

the only dependency is the lovely code injector, which is also a dependency of the Steamodded mod loader, so if you have smods you can just drop this repo into your Mods directory and it'll get picked up. if not then follow the first two steps of Steamodded's "How to install Steamodded" guide, namely "Step 1: Anti-virus setup" and "Step 2: Installing Lovely", then download the mod (either with git clone or from the green "Code" button at the top of the page) and save it to the appropriate directory for your platform:

  • windows: %AppData%/Balatro/Mods
  • mac: ~/Library/Application Support/Balatro/Mods
  • linux+wine/proton: ~/.local/share/Steam/steamapps/compatdata/2379780/pfx/drive_c/users/steamuser/AppData/Roaming/Balatro/Mods

compatibility

the only game versions the mod was tested with are 1.0.1n and 1.0.1o.

feature overview

  • toggling hand cards with asdfgh... keys
  • support for qwerty and dvorak keyboard layouts, where positional keys are kept consistent across both layouts and mnemonic keys aren't changed. (e.g. asdf to toggle the first four cards in qwerty translates to aoeu in dvorak, but r to reroll the shop or the boss blind stays r in both layouts)
  • support for keybind overrides, so you can change the default keybinds to your liking
  • any key to skip the splash screen and space to click any "play" or "continue" button, so a run can be started from game launch until the first blind with the space button only
  • cardarea keybind layers for selecting, moving, selling & using cards. these apply globally for
    • consumables, accessed by holding '
    • jokers, accessed by holding [
    • pack cards, with no leader key
    • the shop, with no leader key
    • the hand, which is accessed
      • by holding / everywhere for selection and movement of a single card
      • by holding shift+/ for multiselect in booster packs
      • with no leader key for multiselect in rounds
  • a complete implementation of every action in every game state, with
    • space being generally the "proceed" button:
      • it plays the selected hand
      • selects the upcoming blind
      • moves from the shop to blind selection
      • uses consumable cards
      • selects the highlighted pack item
      • starts a new run from the game over screen
    • tab being the dismiss button:
      • it discards the selected hand
      • sells consumable or joker cards
      • skips the current booster pack
      • closes any overlay menu
      • exits to main menu from the game over screen
    • mnemonic keys for less frequent actions, like s to skip blinds, r to reroll the shop or boss, b in the cheat layer (accessed by holding p) to pick the best hand out the available cards, f in the cheat layer to fish for the best flush in hand, etc
    • the bottom row of the keyboard as the "control panel", where
      • in rounds: c & v to sort hand cards
      • in the shop: c to buy an item or a pack or a voucher & v to buy and use an item or buy a pack or a voucher
      • b to invert card selection in rounds and n to deselect all cards in a cardarea
      • x to view run info whenever it's available
      • . to open the options overlay menu (the same as escape)
      • & others (see ./layout.lua) for dvorak and the full keymap

TODOs

  • deck selection keybinds, the "new run" menu has only one keybind, space to start a run with the selected deck, would be nice to add hjkl for deck and stake selection too

future plans

  • half-keyboard layouts to be used with one hand on the mouse and the other on one side of keyboard
  • menu navigation keybinds, menus are the only part of the game that currently requires the mouse to navigate
  • redesign arcana and spectral packs UX, hand manipulation in these screens is a bit clunky due to the need for shift+/ for cardarea multiselect

About

keyboard driven UX mod for the poker rogue-like game Balatro

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages