Omni key - Lailloken/Exile-UI-Legacy GitHub Wiki

Feature Overview

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

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

  • it will not block the in-game action of the hotkey

Context-assessment

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

    • NOTE: if item-highlighting (showing hidden loot on the ground) is bound to a key other than Alt, additional setup in the hotkeys section of the settings menu is required (more info)

    • NOTE: if anything other than the character screen (that shows attributes, offense & defense stats, etc.) is bound to the C-key, additional setup in the hotkeys section of the settings menu is required (more info)

  • 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

  • 'game-screen' pixel-check: the script checks if the user is on the 'game-screen' (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 game-screen is checking the color or 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 game-screen 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 game-screen pixel-check is always calibrated correctly (game updates sometimes slightly change the colors of the panel in the screenshot above, requiring manual recalibration)

Requirements

  • features that are not connected to items, e.g. info-sheets, require specific screen-checks to be set up so that the script is able to contextualize the use of the omni-key