Page 1 of 1

[Solved] Keyboard advice

Posted: Monday 15th February 2021 3:50pm
by AndyGable
Hi All,

I was hoping someone could help me with this

I have a question how do I detect the differance between the Key a being pressed and then then Key A being pressed?

Basically I have need to have different actions happen when the Key a is pressed and another function happen when Key A is pressed

any advice would be most welcomed as I have no idea and I can not even detect the differance in VB.net and no one seems to be able to tell me there either.

Re: Keyboard advice

Posted: Monday 15th February 2021 4:21pm
by PJBlack
Public Sub Form_KeyPress()

    Debug "Code: "; Key.Code, "Shift: "; Key.Shift

End

Re: Keyboard advice

Posted: Monday 15th February 2021 4:44pm
by cogier
And here is my input: -
Public Sub Form_KeyPress()

  Dim iKey As Integer
  
  If Not Key.Shift Then iKey = 32
  iKey += Key.Code
  If iKey > 64 And iKey < 123 Then Print Chr(iKey)

End

Re: Keyboard advice

Posted: Monday 15th February 2021 8:54pm
by BruceSteers
Does Key.Text not show a or A ?

If Key.Text Then
Select Key.Text
Case "a"

Case "A"
End Select

Endif

Not at home to test it.

Bruce

Re: Keyboard advice

Posted: Monday 15th February 2021 9:15pm
by grayghost4
Yes it does
Public Sub Form_KeyPress()


 Select Key.Text
Case "a"
  Print "a"

Case "A"
  Print "A"
End Select
 
End

Re: Keyboard advice

Posted: Tuesday 16th February 2021 3:54pm
by AndyGable
BruceSteers wrote: Monday 15th February 2021 8:54pm Does Key.Text not show a or A ?

If Key.Text Then
Select Key.Text
Case "a"

Case "A"
End Select

Endif

Not at home to test it.

Bruce
Thanks Bruce this worked perfectly I can now detect the difference between the keys and not relaying on key scan codes etc
so it is quicker :)

Re: Keyboard advice

Posted: Tuesday 16th February 2021 5:21pm
by BruceSteers
AndyGable wrote: Tuesday 16th February 2021 3:54pm
BruceSteers wrote: Monday 15th February 2021 8:54pm Does Key.Text not show a or A ?

If Key.Text Then
Select Key.Text
Case "a"

Case "A"
End Select

Endif

Not at home to test it.

Bruce
Thanks Bruce this worked perfectly I can now detect the difference between the keys and not relaying on key scan codes etc
so it is quicker :)
You are welcome :)
The other suggestions will still help if you want to check for non alphabetical keys like F3, TAB, etc with shift differences but for any alphabetical text key Key.Text would do it.

Bruce