@leonabcd123/modern-caps-lock 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -2
- package/lib/index.d.ts +1 -1
- package/lib/index.js +9 -5
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Modern Caps Lock
|
|
2
2
|
|
|
3
|
-
Modern Caps Lock provides an easy way to
|
|
3
|
+
Modern Caps Lock provides an easy way to check whether Caps Lock is active or not, and it allows you to run your code whenever Caps Lock state changes.
|
|
4
4
|
|
|
5
5
|
### Installation
|
|
6
6
|
|
|
@@ -10,6 +10,33 @@ Example installation with npm:
|
|
|
10
10
|
npm install @leonabcd123/modern-caps-lock
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
### API
|
|
14
|
+
|
|
15
|
+
#### onCapsLockChange()
|
|
16
|
+
|
|
17
|
+
Runs the provided callback function whenever Caps Lock state is changed.
|
|
18
|
+
|
|
19
|
+
##### Arguments
|
|
20
|
+
|
|
21
|
+
`callback: (capsState: boolean) => void`: a function that takes one argument (`capsState`) and returns nothing. This function is executed after every Caps Lock state change.
|
|
22
|
+
|
|
23
|
+
##### Return value
|
|
24
|
+
|
|
25
|
+
`void`.
|
|
26
|
+
|
|
27
|
+
#### isCapsLockOn()
|
|
28
|
+
|
|
29
|
+
Returns the current Caps Lock state.
|
|
30
|
+
|
|
31
|
+
##### Arguments
|
|
32
|
+
|
|
33
|
+
None.
|
|
34
|
+
|
|
35
|
+
##### Return value
|
|
36
|
+
|
|
37
|
+
`capsState: boolean`: a boolean representing the current Caps Lock state. If `true`, Caps Lock is on; if `false`, Caps Lock is off.
|
|
38
|
+
|
|
39
|
+
|
|
13
40
|
### Examples
|
|
14
41
|
|
|
15
42
|
##### Print Caps Lock state after every change
|
|
@@ -26,7 +53,7 @@ onCapsLockChange((capsState) => {
|
|
|
26
53
|
```js
|
|
27
54
|
import { isCapsLockOn } from "@leonabcd123/modern-caps-lock";
|
|
28
55
|
|
|
29
|
-
if (isCapsLockOn()){
|
|
56
|
+
if (isCapsLockOn()) {
|
|
30
57
|
console.log("Caps Lock is on!");
|
|
31
58
|
} else {
|
|
32
59
|
console.log("Caps Lock is off!");
|
package/lib/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare function isCapsLockOn(): boolean;
|
|
2
|
-
export declare function onCapsLockChange(
|
|
2
|
+
export declare function onCapsLockChange(callback: (capsState: boolean) => void): void;
|
package/lib/index.js
CHANGED
|
@@ -20,10 +20,14 @@ function getCurrentOs() {
|
|
|
20
20
|
}
|
|
21
21
|
let capsState = false;
|
|
22
22
|
const os = getCurrentOs();
|
|
23
|
-
let
|
|
23
|
+
let onCapsChangeCallback;
|
|
24
24
|
function getCapsLockModifierState(event) {
|
|
25
25
|
return event.getModifierState("CapsLock");
|
|
26
26
|
}
|
|
27
|
+
document.addEventListener("mousedown", (event) => {
|
|
28
|
+
capsState = getCapsLockModifierState(event);
|
|
29
|
+
onCapsChangeCallback(capsState);
|
|
30
|
+
});
|
|
27
31
|
document.addEventListener("keyup", (event) => {
|
|
28
32
|
if (os === "Mac") {
|
|
29
33
|
if (event.key === "CapsLock") {
|
|
@@ -41,13 +45,13 @@ document.addEventListener("keyup", (event) => {
|
|
|
41
45
|
else if (event.key !== "CapsLock") {
|
|
42
46
|
capsState = getCapsLockModifierState(event);
|
|
43
47
|
}
|
|
44
|
-
|
|
48
|
+
onCapsChangeCallback(capsState);
|
|
45
49
|
});
|
|
46
50
|
document.addEventListener("keydown", (event) => {
|
|
47
51
|
if (os === "Mac") {
|
|
48
52
|
if (event.key === "CapsLock") {
|
|
49
53
|
capsState = true;
|
|
50
|
-
|
|
54
|
+
onCapsChangeCallback(capsState);
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
57
|
else if (os === "Linux") {
|
|
@@ -59,7 +63,7 @@ document.addEventListener("keydown", (event) => {
|
|
|
59
63
|
function isCapsLockOn() {
|
|
60
64
|
return capsState;
|
|
61
65
|
}
|
|
62
|
-
function onCapsLockChange(
|
|
63
|
-
|
|
66
|
+
function onCapsLockChange(callback) {
|
|
67
|
+
onCapsChangeCallback = callback;
|
|
64
68
|
}
|
|
65
69
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAuEA,oCAEC;AAED,4CAEC;AA7ED,SAAS,UAAU,CAAC,UAAkB;IACpC,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;IACpC,OAAO,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,YAAY;IACnB,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;AAC1B,IAAI,oBAAkD,CAAC;AAEvD,SAAS,wBAAwB,CAAC,KAAiC;IACjE,OAAO,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC;AAED,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;IAE/C,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC5C,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;IAC3C,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QAEjB,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAC7B,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;aAAM,CAAC;YAGN,IAAI,SAAS,CAAC,cAAc,IAAI,CAAC,EAAE,CAAC;gBAClC,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QAE5B,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QAEpC,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;IAC7C,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QAEjB,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAC7B,SAAS,GAAG,IAAI,CAAC;YACjB,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAI1B,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAC7B,SAAS,GAAG,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,SAAgB,YAAY;IAC1B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAsC;IACrE,oBAAoB,GAAG,QAAQ,CAAC;AAClC,CAAC"}
|