Code für MSI claw Controller endlich lauffähig unter bazzite

#!/bin/bash

echo „🔧 Starte automatische Fehlerbehebung für MSI Claw Controller unter Bazzite …“

#Funktion: Kernelmodul laden, wenn es existiert

load_module() {
MODULE=$1
if lsmod | grep -q „$MODULE“; then
echo „✅ Modul $MODULE ist bereits geladen.“
else
echo „📦 Versuche Modul $MODULE zu laden …“
sudo modprobe „$MODULE“ && echo „✅ $MODULE geladen.“ || echo „❌ Fehler beim Laden von $MODULE“
fi
}

#Schritt 1: Prüfen ob evtest installiert ist

if ! command -v evtest &> /dev/null; then
echo „⚠️ evtest ist nicht installiert. Installiere mit:“
echo “ sudo dnf install evtest“
else
echo „✅ evtest ist installiert“
fi

#Schritt 2: Controller in /proc/bus/input/devices finden

echo -e „\n🔍 Suche nach Gamepad-ähnlichen Eingabegeräten …“
GAMEPAD_FOUND=$(grep -iE „Gamepad|Joystick|Controller“ /proc/bus/input/devices)

if [ -z „$GAMEPAD_FOUND“ ]; then
echo „❌ Kein Gamepad-Eingabegerät erkannt – versuche Kernelmodule zu laden:“
load_module xpad
load_module hid_microsoft
load_module hid_generic
load_module joydev
else
echo „✅ Eingabegerät erkannt:“
echo „$GAMEPAD_FOUND“
fi

#Schritt 3: Prüfen ob Gerät in dmesg auftaucht

echo -e „\n📋 Letzte Kernel-Meldungen zum Thema Controller:“
dmesg | grep -iE „hid|xpad|controller|gamepad“ | tail -n 20

#Schritt 4: Hinweis für manuellen Test

echo -e „\n🎮 Führe ‚evtest‘ aus, um Eingaben zu testen:“
echo “ evtest“
echo „Wähle das Gamepad-Gerät aus und drücke ein paar Tasten.“

#Optional: Hinweis für Flatpak Steam-Nutzer

echo -e „\n💡 Wenn du Flatpak verwendest, führe folgendes aus, um Eingaben freizugeben:“
echo “ flatpak override –user –filesystem=/dev/input steam“

echo -e „\n✅ Fertig. Melde dich, wenn du Logs analysieren willst oder weitere Probleme auftreten.“