Test for pressed key during mouse event

Just starting out? Need help? Post your questions and find answers here.
User avatar
kpeters58
Enthusiast
Enthusiast
Posts: 341
Joined: Tue Nov 22, 2011 5:11 pm
Location: Kelowna, BC, Canada

Test for pressed key during mouse event

Post by kpeters58 »

is it possible (am only interested in a cross-platform method) to check for a pressed CTRL or SHIFT key during a mouse click event?
PB 5.73 on Windows 10 & OS X High Sierra
User avatar
STARGÅTE
Addict
Addict
Posts: 2090
Joined: Thu Jan 10, 2008 1:30 pm
Location: Germany, Glienicke
Contact:

Re: Test for pressed key during mouse event

Post by STARGÅTE »

You can use GetGadgetAttribute(#Gadget, #PB_Canvas_Modifiers) for the CanvasGadget:

Code: Select all

Enumeration
	#Window
	#Gadget
EndEnumeration

OpenWindow(#Window, 0, 0, 800, 450, "Vector Canvas Gadget", #PB_Window_MaximizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered)
CanvasGadget(#Gadget, 0, 0, WindowWidth(#Window), WindowHeight(#Window), #PB_Canvas_Keyboard)

Repeat
	
	Select WaitWindowEvent()
		
		Case #PB_Event_CloseWindow
			Break
		Case #PB_Event_Gadget
			Select EventGadget()
				Case #Gadget
					Select EventType()
						Case #PB_EventType_LeftClick
							If GetGadgetAttribute(#Gadget, #PB_Canvas_Modifiers) & #PB_Canvas_Control
								Debug "Control"
							EndIf
							If GetGadgetAttribute(#Gadget, #PB_Canvas_Modifiers) & #PB_Canvas_Shift
								Debug "Shift"
							EndIf
					EndSelect
			EndSelect
		
	EndSelect
	
ForEver

End
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Lizard - Script language for symbolic calculations and moreTypeface - Sprite-based font include/module
User avatar
kpeters58
Enthusiast
Enthusiast
Posts: 341
Joined: Tue Nov 22, 2011 5:11 pm
Location: Kelowna, BC, Canada

Re: Test for pressed key during mouse event

Post by kpeters58 »

Thanks much!
PB 5.73 on Windows 10 & OS X High Sierra
Post Reply