Tastaturabfrage ohne Screen nicht möglich?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
brotkasten-deluxe
Beiträge: 147
Registriert: 29.08.2004 01:43
Wohnort: Germany
Kontaktdaten:

Beitrag von brotkasten-deluxe »

Danilo hat geschrieben:

Code: Alles auswählen

If InitKeyboard()=0
  MessageRequester("Error","Cant initialize keyboard functions !"):End
EndIf

DisableDebugger ; disable debugger error checks for keyboard

Repeat
  Delay(10) ; CPU-Idle 10ms

  ; do something
  Beep_(800,20)

  ExamineKeyboard()
Until KeyboardPushed(#PB_KEY_ESCAPE)
Is jetzt Delay der Trick oder wie seh ich das?
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

Ja. Sonst läuft die Schleife ununterbrochen -> 100% CPU-Last.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
Andre
PureBasic Team
Beiträge: 1765
Registriert: 11.09.2004 16:35
Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10
Wohnort: Saxony / Deutscheinsiedel
Kontaktdaten:

Beitrag von Andre »

Danilo hat geschrieben:
GPI hat geschrieben:Sollte man die Keyboad-Commandos nicht erst nutzen, wenn ein Screen geöffnet wird?
Laut Fred/Debugger: Ja
Laut DirectX: Nein

DirectInput ist in DX eine eigenständige Komponente. Kannst
Du auch ohne Screen verwenden, z.B. Joystick/pad -> Robotersteuerung
oder auch mit einem einfachen Fenster... und natürlich OpenGL.
Habe noch eine weitergehende Info von Fred dazu:

Dass die Tastaturabfrage per DirextX auch ohne Screen möglich ist, ist ihm schon bekannt. Daher funktionierte dies bisher ja auch mit deaktiviertem Debugger und sollte (unter Windows) auch zukünftig gehen.

Um eine plattformübergreifende Kompatibilität zu gewährleisten, ist in PureBasic (offiziell) jedoch Keyboard stets mit Screen verknüpft, da dies auf anderen OS ebenso der Fall ist.

(hoffe, meine Übersetzung gibt dies korrekt wieder)
Bye,
...André
(PureBasicTeam::Docs - PureArea.net | Bestellen:: PureBasic | PureVisionXP)
Antworten