- From: Rob Garrison <wowmotty@gmail.com>
- Date: Mon, 14 Dec 2015 14:00:46 -0600
- To: www-dom@w3.org
- Message-ID: <CAKOB1kRXw5nyz4diUwvBb=umxENst77u9wa=NKFVKXF2z8aSRA@mail.gmail.com>
Hi!
There is no way to determine the actual state of a caps lock key. I would
like
to request an enhancement of the event object to include the caps lock
state:
```js
document.addEventListener( 'keydown', function( event ) {
if ( event.capsLock ) {
alert( 'caps lock on!' );
}
});
```
This basic method targets the "a" through "z" and capital "A" through "Z"
characters to make a comparison. This method does not include accented
characters that would be available on non-U.S. or international keyboards,
and it can only be used during a "keypress" event. "keypress" is the
only event in which `event.charCode` returns accurate values.
```js
document.addEventListener( 'keypress', function( event ) {
var k = event.charCode;
// ASCII uppercase A = 65; ascii uppercase Z = 90
if ( ( ( k >= 65 && k <= 90 ) && !event.shiftKey ) ||
// ASCII lowercase a = 97; ASCII lowercase z = 122
( ( k >= 97 && k <= 122) && e.shiftKey ) ) {
alert( 'caps lock on!' );
}
});
```
I know modern keyboards are starting to replace the caps lock key with a
control key, but I think this would still be a useful addition.
Thanks for your attention.
Received on Monday, 14 December 2015 20:01:13 UTC