summarylogtreecommitdiffstats
path: root/keymux.install
blob: 34280ff8c2d4cee7632972c7893449cd63e77864 (plain)
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
post_install() {
    echo ""
    echo "==> Keyboard Middleware installed successfully!"
    echo ""
    echo "==> Multi-user architecture:"
    echo "    • Root daemon: manages keyboards (keymux.service)"
    echo "    • User service: monitors Niri windows (keymux-niri.service)"
    echo ""

    echo "==> Getting Started:"
    echo ""
    echo "    1. Create your config file:"
    echo "       mkdir -p ~/.config/keymux"
    echo "       cp /usr/share/doc/keymux/config.example.ron ~/.config/keymux/config.ron"
    echo "       \$EDITOR ~/.config/keymux/config.ron"
    echo ""
    echo "    2. Enable and start the root daemon (as root):"
    echo "       sudo systemctl enable --now keymux.service"
    echo ""
    echo "    3. Select which keyboards to enable:"
    echo "       keymux toggle"
    echo ""
    echo "    4. (Optional) Enable Niri window watcher for automatic game mode:"
    echo "       systemctl --user enable --now keymux-niri.service"
    echo ""
    echo "==> Each user needs their own config in ~/.config/keymux/config.ron"
    echo "==> The root daemon loads configs per-user on demand"
    echo ""
    echo "==> Requires the uinput kernel module (for virtual keyboard device):"
    echo "    sudo modprobe uinput"
    echo "    To load it automatically on boot:"
    echo "    echo 'uinput' | sudo tee /etc/modules-load.d/uinput.conf"
    echo ""
    echo "==> Shell completions have been installed system-wide!"
    echo ""
    echo "==> For more info: https://github.com/fibsussy/keymux"
    echo ""
}

post_upgrade() {
    echo ""
    echo "==> Keyboard Middleware upgraded successfully!"
    echo ""
    echo "==> Enable and start the root daemon:"
    echo "    sudo systemctl enable --now keymux.service"
    echo ""
    echo "==> Select which keyboards to enable:"
    echo "    keymux toggle"
    echo ""
    echo "==> (Optional) Enable Niri watcher for automatic game mode:"
    echo "    systemctl --user enable --now keymux-niri.service"
    echo ""
    echo "==> Updated example config available at:"
    echo "    /usr/share/doc/keymux/config.example.ron"
    echo ""
}