Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Core Input System refactor

Aperta
#177 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
15/100
Tipo di issue
Refactoring
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
cpp

Direzione di ricerca

Non vengono indicati file, test o punti di ingresso. Inizia individuando l’implementazione attuale dell’input di GLFW e il game-frame loop del motore, quindi mappa il modo in cui viene interrogato lo stato dell’input. Il lavoro sarebbe completato quando esistesse un’astrazione definita che copra i backend della piattaforma, la temporizzazione del polling, le connessioni dei dispositivi, gli utenti e i metadati dei dispositivi come descritto nell’issue.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

The current implementation of in put in Fling is very bad. It is essentially querying the key state from GLFW all the time.

First up, we need some

We should change it so that input is polled at a very specific time in the engine.

Some notes on what this change may entail:

  • Replace GLFW as the input interface in favor of each platform's own OS implementation (Win32 API, X11 on linux probably, and possibly the Game Input for windows library to support Gamepads on windows. Xinput on linux).
    - This task will require a large refactor how the input API looks. We need to be able to support multiple different input libraries at once (i.e. XInput + Win32) so we need a much better abstraction for what the input code looks like
  • Create a separate input polling thread that runs at a fixed tick rate (120hz, and all it to be configurable)
  • Have the game thread be a consumer of the above input thread and query it once at the top of the game frame, making the state available for all game/editor code
  • We need an input device connection interface of some kind. A way to map HID's to individual "users". This way you can support split screen
  • A system to query some metadata about each of these connected devices
    • We can then utilize this system to build dynamic UI to reflect what kind of icons and things should be in use
    • We can also use this to do different things based on the input device all over the place. Different values for force feedback, input mappings, etc.
Lingua principale
C++
Stelle
415
Fork
16
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

  • Nessun Dockerfile né file Docker Compose
  • Ha un modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di flingengine/FlingEngine

Tutte le issue di flingengine/FlingEngine

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.