[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Mouse.Button , ensure correct right button value
[Thread Prev] | [Thread Next]
- Subject: Re: Mouse.Button , ensure correct right button value
- From: Bruce Steers <bsteers4@xxxxxxxxx>
- Date: Tue, 2 Apr 2024 13:36:45 +0100
- To: user@xxxxxxxxxxxxxxxxxxxxxx
On Tue, 2 Apr 2024 at 13:20, Bruce Steers <bsteers4@xxxxxxxxx> wrote: > > > On Tue, 2 Apr 2024 at 12:59, Gianluigi <gradobag@xxxxxxxxxxx> wrote: > >> Il 02/04/24 12:14, Bruce Steers ha scritto: >> > I have been helping someone dealing with a mouse event issue and pointed >> > out a possible error in their code. >> > >> > They were using "If Mouse.Button = 2" to detect a right mouse click. >> > >> > I said that could be the problem as on my machine right click is >> > Mouse.Button = 3 >> > They replied that no, right click is Mouse.Button = 2 on their machine. >> > >> > Meaning my recent game that uses Mouse.Button to detect clicks is >> > incorrectly coded as I am assuming right click is 3 >> > >> > So my question would be, is there a way to detect what Mouse.Button >> > value a right click will be? >> > >> > Mouse.Left and Mouse.Right were not good enough as the detection in the >> > MouseDown needs to detect the click , and if you left click while >> > holding right mouse down then the Mouse.Button will be 1 but Mouse.Left >> > and Mouse.Right will both be true so Mouse.Button was a better option. >> > But i did not realize the value of right button can change :-\ >> > >> > I'm now thinking of some workarounds but I'm wondering if there may be a >> > simple way to obtain the valid Button values . >> > >> > Respects. >> > >> > Happy Easter >> > BruceS >> > >> >> I don't know if I understand correctly, but could such a thing help? >> >> Public Sub Form_MouseDown() >> >> If Not Mouse.Right Then Return >> Print "You pressed on the right button!" >> >> End >> >> Regards >> Gianluigi > > No, thanks but it's not good enough as I explained. > > If i am holding the right mouse button down and i then press the left > button then that code will register Mouse.Right is True > but it was not the button that was just pressed, > If that makes sense. > > Mouse.Right and Mouse.Left are not really button "Click" detection they > are button "Is Down" detection and the difference is i need to know what > was just "Clicked" not what is held down. > I'm thinking something like this... > > Private $iRight As Integer = -1 > > Public Sub Form_MouseDown() > > If $iRight = -1 Then > Select Mouse.Button > Case 2 > If Mouse.Right And If Not Mouse.Middle Then $iRight = 2 Else $iRight > = 3 > Case 3 > If Mouse.Right And If Not Mouse.Middle Then $iRight = 3 > End Select > Endif > > End > > Then once $iRight is not -1 i know exactly what Mouse.Button is right click > > Respects > BruceS > Aah , It's Cool , I just went to adapt my code and i realized i don't actually need to know. The game in question is only ever checking Mouse.Button = 1 or Mouse.Button <> 1 So it does not have the issue i thought it did .. :-\ lol Thanks anyway. BruceS
Mouse.Button , ensure correct right button value | Bruce Steers <bsteers4@xxxxxxxxx> |
Re: Mouse.Button , ensure correct right button value | Gianluigi <gradobag@xxxxxxxxxxx> |
Re: Mouse.Button , ensure correct right button value | Bruce Steers <bsteers4@xxxxxxxxx> |