Omni key - Lailloken/Lailloken-UI GitHub Wiki

Feature Overview

  • context-sensitive hotkey used to access the majority of features in LLK-UI

  • uses screen-reading, copying item-info, and checking the client-log to determine the context of the keypress and which action to trigger

  • it will not block the in-game action of the key it's bound to

Context-assessment

  • pressing the omni-key will send Alt-Ctrl-C to the client to copy item information

    • if non-standard in-game keybindings are used, additional setup in the hotkeys section of the settings menu has to be done
  • if item-info copying succeeds (i.e. if the cursor is hovering over an item), the script will execute item-related features

  • if copying does not succeed, a series of screen-checks is performed

Screen-checks

  • gamescreen pixel-check: the script checks if the user is on the "gamescreen" (where you control your character) or in a specific interface (e.g. inventory, betrayal, etc.)

    game_screen

    • currently, the only reliable way of detecting the gamescreen is checking the color of a specific pixel in the area displayed in the screenshot

    • this means you'll have to play with the mini-map displayed on the centre of the screen, otherwise omni-key-presses may trigger features randomly whenever you press it to use a skill that is also bound to it

  • if the gamescreen pixel-check is positive, the script will not take any further action because it assumes the omni-key was pressed to use a skill bound to the key

  • if the pixel-check is negative, the script will scan the screen for multiple UIs (e.g. gwennen window, betrayal board, stash, etc.) because it assumes the omni-key was pressed to activate a specific feature

    • depending on hardware and other factors, this scan may cause short bursts of moderate to high CPU load (which is usually not noticeable while accessing the interfaces mentioned above)

    • BUT: if the pixel-check is a false-negative (e.g. if the pixel-check is not calibrated correctly), this scan will occur every time the omni-key is pressed while controlling the character

    • this may then cause a short performance drop which manifests in a short burst of lag or stutter (depending on game-client and general CPU load)

    • this is why it's important to make sure that the gamescreen pixel-check is always calibrated correctly (game updates sometimes slightly change the colors of the panel in the screenshot above, requiring manual recalibration)