master ohmu/fastfetch-openbsd / src / detection / gamepad / gamepad_haiku.cpp
ohmu  ·  2026-10-15
 1extern "C" {
 2#include "gamepad.h"
 3}
 4#include <Joystick.h>
 5
 6const char* ffDetectGamepad(FFlist* devices /* List of FFGamepadDevice */) {
 7    BJoystick js;
 8    for (int32 i = 0, n = js.CountDevices(); i < n; ++i) {
 9        char name[B_OS_NAME_LENGTH];
10        if (js.GetDeviceName(i, name) == B_OK) {
11            FFGamepadDevice* device = FF_LIST_ADD(FFGamepadDevice, *devices);
12            ffStrbufInit(&device->serial);
13            ffStrbufInitS(&device->name, name);
14            device->battery = 0;
15        }
16    }
17    return nullptr;
18}