GameScaling / gamescaling /keymaps.py
iTheresaApocalypse's picture
Single <think>-prefilled prompt format, no-reasoning mode, full Doom example; drop benchmark presets
893fd86 verified
Raw History Blame Contribute Delete
2.58 kB
"""Training key vocabulary -> the key names of common input backends.
Mouse buttons (`LB` / `RB` / `MB`) are not keyboard keys; every table below
leaves them out and backends handle them through `MOUSE_BUTTONS`.
"""
from __future__ import annotations
from .action import LETTER_KEYS
MOUSE_BUTTONS: dict[str, str] = {"LB": "left", "RB": "right", "MB": "middle"}
# Unreal Engine 5 FKey names. Left variants are
# used for the L/R-merged modifier tokens.
TO_UE5: dict[str, str] = {
**{c: c for c in LETTER_KEYS},
"zero": "Zero", "one": "One", "two": "Two", "three": "Three", "four": "Four",
"five": "Five", "six": "Six", "seven": "Seven", "eight": "Eight", "nine": "Nine",
"One": "F1", "Two": "F2", "Three": "F3", "Four": "F4", "Five": "F5", "Six": "F6",
"Seven": "F7", "Eight": "F8", "Nine": "F9", "Ten": "F10", "Eleven": "F11",
"Twelve": "F12",
"Shift": "LeftShift", "Ctrl": "LeftControl", "Alt": "LeftAlt", "Tab": "Tab",
"Caps": "CapsLock", "Esc": "Escape", "Space": "SpaceBar", "Enter": "Enter",
"Back": "BackSpace", "Delete": "Delete", "Insert": "Insert", "Home": "Home",
"End": "End", "Pause": "Pause",
"Up": "Up", "Down": "Down", "Left": "Left", "Right": "Right",
"Equal": "Equals", "Minus": "Hyphen", "Period": "Period", "Slash": "Slash",
"Quote": "Apostrophe",
}
# Playwright `page.keyboard` names (browser games). Letters are lower case.
TO_PLAYWRIGHT: dict[str, str] = {
**{c: c.lower() for c in LETTER_KEYS},
"zero": "0", "one": "1", "two": "2", "three": "3", "four": "4",
"five": "5", "six": "6", "seven": "7", "eight": "8", "nine": "9",
"One": "F1", "Two": "F2", "Three": "F3", "Four": "F4", "Five": "F5", "Six": "F6",
"Seven": "F7", "Eight": "F8", "Nine": "F9", "Ten": "F10", "Eleven": "F11",
"Twelve": "F12",
"Shift": "Shift", "Ctrl": "Control", "Alt": "Alt", "Tab": "Tab", "Caps": "CapsLock",
"Esc": "Escape", "Space": "Space", "Enter": "Enter", "Back": "Backspace",
"Delete": "Delete", "Insert": "Insert", "Home": "Home", "End": "End", "Pause": "Pause",
"Up": "ArrowUp", "Down": "ArrowDown", "Left": "ArrowLeft", "Right": "ArrowRight",
"Equal": "Equal", "Minus": "Minus", "Period": "Period", "Slash": "Slash",
"Quote": "Quote",
}
# Playwright name -> training token, for rewriting a game's documented controls
# into the vocabulary the model emits.
PLAYWRIGHT_TO_TOKEN: dict[str, str] = {
"ArrowLeft": "Left", "ArrowRight": "Right", "ArrowUp": "Up", "ArrowDown": "Down",
"Escape": "Esc", "CapsLock": "Caps", "Control": "Ctrl", "Backspace": "Back",
}