Sign in to follow this  
Followers 0
dew

Cap Lock state

5 posts in this topic

How do I check the state of the cap lock key? And how do I change the current state?

Thanks ahead to those that helps me with this one.

Share this post


Link to post
Share on other sites



#Include <WinAPIEx.au3>

_SetCapsLockState(Not _GetCapsLockState())
Sleep(1000)
_SetCapsLockState(Not _GetCapsLockState())

Func _GetCapsLockState()
    Return BitAND(_WinAPI_GetKeyState(0x14), 1) = 1
EndFunc   ;==>_GetCapsLockState

Func _SetCapsLockState($iState)
    If BitXOR($iState, _GetCapsLockState()) Then
        _WinAPI_keybd_event(0x14, 0)
        _WinAPI_keybd_event(0x14, 2)
    EndIf
EndFunc   ;==>_SetCapsLockState

WinAPIEx.au3

Share this post


Link to post
Share on other sites

Hi Yashied,

Thanks for the quick response. I have dloaded your WinAPIEx.zip file and will try it for sure.

Your sample code is "over" my programing experience, so I do not really understand what is happening here (example: what does ...keybd_devent(0x14, 0 or 0x14, 2) mean)?

What I am really trying to do is to check to see if the cap lock is on and if it is unlock it before I do a "send" command. The text is case sensitive and this is the reason to be sure the cap lock is off.

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

Share this post


Link to post
Share on other sites

Yashied, thank you.

It works great.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0