Seite 1 von 1

[Gelöst] #PB_Shortcut_Up ohne Funktion (evtl. Bug)

Verfasst: 03.05.2014 23:03
von BI2
Hallo zusammen,

bin gerade auf Linux umgestiegen (openSUSE 13.1, x64) und wollte einen alten Windows Code übersetzen.
Das Programm funktioniert einwandfrei bis auf die Abfrage der Cursor Up Taste, da passiert gar nichts (Tastatur ist OK, Cursor Up funktioniert in anderen Programmen und in der PB IDE einwandfrei).

Ich habe das Problem mal auf das nötigste zusammengefasst, vielleicht kann jemand den Programmschnipsel mal testen und berichten ob das Problem auch bei ihm auftritt. Danke schon mal im voraus.

Code: Alles auswählen

; =============================================================================
; Programmname:       CursorTest
; Beschreibung:       Test Fehlverhalten Cursor UP unter Linux
;
; Erstellt am:        03.05.2014 - 22:39:01
; Autor:              Andreas Schweitzer
; Version:            1.0
; Compiler:           PureBasic 5.22 LTS (Linux - x64)
;{=============================================================================
; Compiler-Optionen
;  [ ] InlineASM-Unterstützung einschalten
;  [ ] Unicode-Executable erstellen
;  [ ] Thread-sicheres Executable erstellen
;  [ ] OnError-Unterstützung einschalten
;
; Executable-Format:  Linux
; Library Subsystem:  
; Datei-Format:       ASCII
;}=============================================================================

;EnableExplicit

Enumeration
  #keyUp
  #keyDown
  #keyLeft
  #keyRight
EndEnumeration

If OpenWindow(0, 100, 200, 195, 260, "CursorTest", #PB_Window_SystemMenu)
  
  AddKeyboardShortcut(0, #PB_Shortcut_Up, #keyUp)
  AddKeyboardShortcut(0, #PB_Shortcut_Down, #keyDown)
  AddKeyboardShortcut(0, #PB_Shortcut_Left, #keyLeft)
  AddKeyboardShortcut(0, #PB_Shortcut_Right, #keyRight)
  
  Repeat
    
    Event = WaitWindowEvent()
    
    If Event = #PB_Event_Menu
      
      Select EventMenu()
          
        Case #keyUp
          Debug "U"
          
        Case #keyDown
          Debug "D"
          
        Case #keyLeft
          Debug "L"
          
        Case #keyRight
          Debug "R"
          
      EndSelect
      
    EndIf
    
  Until Event = #PB_Event_CloseWindow
  
EndIf

End
Gruß, BI2

Re: #PB_Shortcut_Up ohne Funktion (evtl. Bug)

Verfasst: 03.05.2014 23:21
von STARGÅTE
schon mal die Reihenfolge der Konstanten geändert, oder nicht bei 0 anfangen?
Sicher das es an #PB_Shortcut_Up liegt ?

Re: #PB_Shortcut_Up ohne Funktion (evtl. Bug)

Verfasst: 03.05.2014 23:30
von BI2
STARGÅTE hat geschrieben:schon mal die Reihenfolge der Konstanten geändert, oder nicht bei 0 anfangen?
Sicher das es an #PB_Shortcut_Up liegt ?
Danke für den Tip, der Code 0 für keyUp war das Problem, wobei ich den tieferen Sinn dahinter allerdings nicht verstehe. Unter Windows hat das ganze einwandfrei funktioniert.

Trotzdem Danke.

Gruß, BI2

Re: [Gelöst] #PB_Shortcut_Up ohne Funktion (evtl. Bug)

Verfasst: 03.05.2014 23:38
von ts-soft
Ist in jedem Falle ein Bug, weil MenuEvent ist dokumentiert von 0 - 64000 und nicht ab 1!

// edit
Mit anderen Codes funktioniert MenuEvent mit 0, es muß hier also noch was spezielles sein, welches
die 0 verhindert?