Skip to content

seekey13/JobBinds

Repository files navigation

JobBinds

JobBinds is an Ashita v4 addon for Final Fantasy XI that automatically loads keybind profile scripts based on your current job and subjob, featuring a built-in graphical configuration interface for managing your keybinds.

Note:
This addon is designed for Ashita v4 and expects your keybind profile scripts to be placed in the Ashita/scripts directory.
Each profile must be named in the format JOB_SUB.txt (e.g., WAR_NIN.txt).
No fallback or default profile is loaded if a job/subjob combination is missing.

Quick Setup

Click any key to configure bindings

image

If you only have a single command just type it in and click save

image

Enable the Macro checkbox to expand multiline binding, command name will be listed as a tooltip, scroll a list of other bindings in your scripts folder

image

Some keys do not have conflicting system functions and can bind Ctrl & Alt

image

Keys with Compact game function are disabled.

Features

  • Automatic Profile Switching: Loads the correct keybind profile when you change jobs
  • Visual Keyboard Interface: Interactive keyboard layout with color-coded keys (green=selected, standard=bound, gray=unbound, red=blocked)
  • Script Browser: Browse and load existing macros with automatic filtering of job profiles
  • Filename Validation: Real-time validation prevents invalid Windows filename characters
  • Key Tooltips: Hover over bound keys to see their commands
  • Multi-Modifier Support: Configure up to 4 bindings per key (base, Ctrl, Alt, Shift)
  • Quick Clear: Remove individual bindings with one-click Clear buttons
  • Profile Display: Shows current job/subjob combination in the interface

Installation

  1. Download or clone this repository into your Ashita v4 addons folder:

    git clone https://github.com/seekey13/jobbinds.git
    
  2. Start or restart Ashita.

  3. Load the addon in-game:

    /addon load jobbinds
    
  4. Open the in-game configuration:

    /jb
    

Usage

JobBinds runs automatically in the background. When you change jobs or subjobs, it will unbind the previous profile's keys and load the new profile.

Commands

  • /jb or /jobbinds - Opens the configuration window

Configuration Interface

Access the keyboard interface with /jb or /jobbinds:

  • Visual Keyboard: Click any key to configure bindings
  • Color Coding: Green (selected), standard (bound), gray (unbound), dark red (blocked)
  • Tooltips: Hover over keys to see bound commands
  • Binding Editor: Configure up to 4 modifier combinations per key
  • Script List: Browse and load existing macros (filters out job profiles)
  • Validation: Red text indicates invalid filename characters; Save button disabled until fixed
  • Clear Buttons: Remove individual bindings without deleting entire key
  • Profile Display: Current job/subjob shown after Delete button

Keybind Profiles

  • Naming Convention:
    Profile scripts must be named as JOB_SUB.txt, e.g., WAR_NIN.txt, BLM_RDM.txt
  • Location:
    Place scripts in Ashita/scripts/
  • Contents:
    Use Ashita's /bind commands in your scripts.
    Example:
    /bind ^F1 /wave
    /bind ^1 /attack
    /bind +F2 /exec macro_heal
    
  • Modifier Keys:
    • ^ = Ctrl
    • ! = Alt
    • + = Shift

Blocked Keys

Essential game keys are protected from being bound:

Movement & Interface: W A S D F V R Y H I J K L N
Navigation: Arrow keys, TAB, ENTER, SPACE, ESCAPE
Function Keys: F1 through F12
System Keys: Modifier keys and system shortcuts

Some keys like B E M Q T U X and numbers can be used alone or with Shift, but not with Ctrl/Alt.


Output

JobBinds provides color-coded chat messages:

[JobBinds] Loaded jobbinds profile: WAR_NIN.txt
[JobBinds] Job change detected: WAR/NIN -> BLM/RDM
[JobBinds] ERROR: Profile BLM_RDM.txt not found.
[JobBinds] [DEBUG] Found bindable key: ^F1

Advanced Script Features (Ashita v4)

Scripts may use argument tokens (%0%) and /include directives. See Ashita v4 documentation for details.


Compatibility

  • Ashita v4 (required)

License

MIT License. See LICENSE for details.


Credits

  • Author: Seekey
  • Inspired by the need for job-based keybind management.

Support

Open an issue or pull request on the GitHub repository for suggestions or problems.


Changelog

Version 1.0 (Current)

  • Visual keyboard interface with interactive key selection
  • Color-coded keyboard keys with status tooltips
  • Script browser with automatic job profile filtering
  • Filename validation for macros with visual feedback
  • Clear buttons for individual bindings
  • Profile/job combination display
  • Multi-modifier support (base, Ctrl, Alt, Shift per key)
  • Removed legacy configuration UI

Version 0.4

  • Enhanced messaging system with color-coded chat output
  • Comprehensive key blocking with real-time validation
  • Code consolidation and improved maintainability
  • Better error handling and debug output

Version 0.3

  • Added graphical configuration interface with ImGui
  • Real-time keybind editing and macro support
  • Instant profile loading and debug mode
  • Enhanced error handling

Version 0.2

  • Improved packet monitoring for job changes
  • Enhanced key tracking and unbinding
  • Better error handling with pcall wrappers

Version 0.1

  • Initial release with automatic profile loading/unloading
  • Per-job/subjob keybind management
  • Key blacklist enforcement
  • Basic error handling

About

JobBinds is an Ashita v4 addon for Final Fantasy XI that automatically loads keybind profile scripts based on your current job and subjob.

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Contributors

Languages