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

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
BI2
Beiträge: 145
Registriert: 26.11.2006 19:07

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

Beitrag 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
Zuletzt geändert von BI2 am 03.05.2014 23:36, insgesamt 1-mal geändert.
PB 5.7x (x64), LinuxMint 18.3 - Xfce (x64)

Einsteigerbuch: PureBasic - Eine Einführung in die Computer Programmierung
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6999
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: #PB_Shortcut_Up ohne Funktion (evtl. Bug)

Beitrag von STARGÅTE »

schon mal die Reihenfolge der Konstanten geändert, oder nicht bei 0 anfangen?
Sicher das es an #PB_Shortcut_Up liegt ?
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
BI2
Beiträge: 145
Registriert: 26.11.2006 19:07

Re: #PB_Shortcut_Up ohne Funktion (evtl. Bug)

Beitrag 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
PB 5.7x (x64), LinuxMint 18.3 - Xfce (x64)

Einsteigerbuch: PureBasic - Eine Einführung in die Computer Programmierung
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

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

Beitrag 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?
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten