Die Tastatureingaben in einem CanvasGadget entsprechen laut der Hilfe den #PB_Shortcut_-Konstanten.
Bei der Ctrl, Shift und Alt bzw. AltGr-Taste ist das nicht so. Da wird die Nummer des gesetzten Bits der Konstante zurückgegeben.
Ich vermute das ist ein Fehler, da keine kombinierten Tastencodes zurückgegeben werden, sondern jede Taste einzeln.
Oder ist das ein Fehler in der Hilfe?
Code: Alles auswählen
If OpenWindow(0, 0, 0, 400, 300, "CanvasGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CanvasGadget(0, 10, 10, 380, 280, #PB_Canvas_Keyboard)
SetActiveGadget(0)
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget And EventGadget() = 0
EventType = EventType()
If EventType = #PB_EventType_KeyDown
Debug "KeyDown = " + GetGadgetAttribute(0, #PB_Canvas_Key)
ElseIf EventType = #PB_EventType_KeyUp
Debug "KeyUp = " + GetGadgetAttribute(0, #PB_Canvas_Key)
EndIf
EndIf
Until Event = #PB_Event_CloseWindow
Debug "Shift = " + #PB_Shortcut_Shift ; 65536 = 2^16
Debug "Control = " + #PB_Shortcut_Control ; 131072 = 2^17
Debug "Alt (Alt Gr) = " + #PB_Shortcut_Alt ; 262144 = 2^18
EndIf
// Verschoben von "Bugs" nach "Fragen/Allgemein" (Kiffi)