keyboard

Anfängerfragen zum Programmieren mit PureBasic.
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

keyboard

Beitrag von delikanli_19_82 »

hallo leute,

müsste ja irgendwie funktionieren, mich frustriert es. kann man irgendwie die tastaturabfragen machen, ohne initsprite oder sonstiges kram. examinekeyboard und initkeyboard wollen auch nicht so wie ich es will.

ich möchte eigentlich tastaturabfragen für eine anwendungsoberfläche haben und nicht um ein spiel zu puzzeln.

dabei geht es mir darum, das ich die tastaturdaten abfangen kann, da ich mir eigene gadgets zusammenbastelle, die je in einem imagegadget gezeichnet werden. so wird zum beispiel eine liste dargestellt. um nun zum nächsten listeneintrag zu gelangen, soll die pfeil-runter-taste und um eins nach oben zu kommen, die feil-hoch-taste verwendet werden.

wie kann ich das so hinbekommen, das ich es nicht nur unter wini, sondern auch unter mac und lini nutzen kann?

mfg
:-)
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Re: keyboard

Beitrag von Mok »

Für Windows gibts GetAsyncKeyState
Da das ganze aber plattformunabhängig sein sollte, empfehle ich dir, per AddKeyboardShortcut() alle benötigten Tasten mit einem Shortcut zu versehen. Kling komisch - ist aber nützlich, da die Tastaturabfrage dann nicht global ist, sondern nur auf dein Fenster bezogen (wenn es den Fokus hat, werden die entspr. Tasten abgefragt, sonst nicht)

Edit:
kleiner Demo-Code:

Code: Alles auswählen

Enumeration 
  #Shortcut_Up
  #Shortcut_Dn
  #Shortcut_Lf
  #Shortcut_Rt
EndEnumeration
Enumeration 
  #Window
  #ListView
EndEnumeration

OpenWindow (#Window, 100, 100, 200, 200, "Shortcuts", #PB_Window_MinimizeGadget)
ListViewGadget (#ListView, 5, 5, 190, 190)

AddKeyboardShortcut (#Window, #PB_Shortcut_Up, #Shortcut_Up)
AddKeyboardShortcut (#Window, #PB_Shortcut_Down, #Shortcut_Dn)
AddKeyboardShortcut (#Window, #PB_Shortcut_Left, #Shortcut_Lf)
AddKeyboardShortcut (#Window, #PB_Shortcut_Right, #Shortcut_Rt)

Repeat
  Event = WaitWindowEvent()

  Select Event
    
    Case #PB_Event_Menu
      Select EventMenu()
        Case #Shortcut_Up
          AddGadgetItem(#ListView,-1,"Up")
        Case #Shortcut_Dn
          AddGadgetItem(#ListView,-1,"Down")
        Case #Shortcut_Lf
          AddGadgetItem(#ListView,-1,"Left")
        Case #Shortcut_Rt
          AddGadgetItem(#ListView,-1,"Right")
      EndSelect
   
    Case #PB_Event_CloseWindow
      Exit = 1
      
  EndSelect
  
Until Exit
CloseWindow (#Window)
End
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Re: keyboard

Beitrag von delikanli_19_82 »

danke Mok,

genau sowas habe ich gebraucht
delikanli_19_82
Beiträge: 173
Registriert: 30.11.2010 02:34

Re: keyboard

Beitrag von delikanli_19_82 »

hallo leute, ich bins nochmal.

also dieser beispiel hier läuft unter windows prima. unter mac will er aber nicht.

nach der purebasic-hilfe sollte es auf allen unterstützen betriebssystemen laufen. so auch unter mac. geht aber nicht. keine tastaturabfrage.

woran kanns liegen?
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

Re: keyboard

Beitrag von Shardik »

delikanli_19_82 hat geschrieben:hallo leute, ich bins nochmal.

also dieser beispiel hier läuft unter windows prima. unter mac will er aber nicht.

nach der purebasic-hilfe sollte es auf allen unterstützen betriebssystemen laufen. so auch unter mac. geht aber nicht. keine tastaturabfrage.

woran kanns liegen?
Die Shortcuts für die Pfeiltasten funktionieren auf dem Mac zur Zeit nicht, mit anderen
Tasten funktionieren Shortcuts aber auch auf dem Mac. Dieser Fehler ist im englischen
Forum bereits unter Bug Reports gemeldet:
http://www.purebasic.fr/english/viewtop ... 24&t=35414
Antworten