File size: 1,454 Bytes
f1594be
 
 
 
c64c726
 
f1594be
 
 
 
 
 
 
 
 
 
 
 
 
c64c726
f1594be
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c64c726
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
try:
    import pygame  # type: ignore
except Exception:
    pygame = None  # type: ignore


if pygame is not None:
    CSGO_KEYMAP = {
        pygame.K_w: "up",
        pygame.K_d: "right",
        pygame.K_a: "left",
        pygame.K_s: "down",
        pygame.K_SPACE: "jump",
        pygame.K_LCTRL: "crouch",
        pygame.K_LSHIFT: "walk",
        pygame.K_1: "weapon1",
        pygame.K_2: "weapon2",
        pygame.K_3: "weapon3",
        pygame.K_r: "reload",

        # Override mouse movement with arrows
        pygame.K_UP: "camera_up",
        pygame.K_RIGHT: "camera_right",
        pygame.K_LEFT: "camera_left",
        pygame.K_DOWN: "camera_down",
    }
else:
    # Headless fallback without pygame
    CSGO_KEYMAP = {
        "w": "up",
        "d": "right",
        "a": "left",
        "s": "down",
        "space": "jump",
        "left ctrl": "crouch",
        "left shift": "walk",
        "1": "weapon1",
        "2": "weapon2",
        "3": "weapon3",
        "r": "reload",
        # Override mouse movement with arrows (string identifiers)
        "arrow_up": "camera_up",
        "arrow_right": "camera_right",
        "arrow_left": "camera_left",
        "arrow_down": "camera_down",
    }


CSGO_FORBIDDEN_COMBINATIONS = [
    {"up", "down"},
    {"left", "right"},
    {"weapon1", "weapon2"},
    {"weapon1", "weapon3"},
    {"weapon2", "weapon3"},
    {"camera_up", "camera_down"},
    {"camera_left", "camera_right"},
]