@leonabcd123/modern-caps-lock 2.2.2 → 2.3.1

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/lib/index.js CHANGED
@@ -22,19 +22,29 @@ let previousCapsState = false;
22
22
  let capsState = false;
23
23
  const os = getCurrentOs();
24
24
  let onCapsChangeCallback;
25
- function shouldCallCallback() {
26
- let callCallback = previousCapsState !== capsState;
25
+ const mouseEventsToUpdateOn = ["mousedown", "mousemove", "wheel"];
26
+ function callCallbackIfNeeded() {
27
+ const callCallback = previousCapsState !== capsState;
27
28
  previousCapsState = capsState;
28
- return callCallback;
29
+ if (callCallback) {
30
+ onCapsChangeCallback(capsState);
31
+ }
29
32
  }
30
33
  function getCapsLockModifierState(event) {
31
- return event.getModifierState("CapsLock");
32
- }
33
- document.addEventListener("mousedown", (event) => {
34
- capsState = getCapsLockModifierState(event);
35
- if (shouldCallCallback()) {
36
- onCapsChangeCallback(capsState);
34
+ if ("getModifierState" in event) {
35
+ return event.getModifierState("CapsLock");
36
+ }
37
+ else {
38
+ return capsState;
37
39
  }
40
+ }
41
+ mouseEventsToUpdateOn.forEach((eventType) => {
42
+ document.addEventListener(eventType, (event) => {
43
+ if (event instanceof MouseEvent) {
44
+ capsState = getCapsLockModifierState(event);
45
+ callCallbackIfNeeded();
46
+ }
47
+ });
38
48
  });
39
49
  document.addEventListener("keyup", (event) => {
40
50
  if (os === "Mac") {
@@ -53,17 +63,13 @@ document.addEventListener("keyup", (event) => {
53
63
  else if (event.key !== "CapsLock") {
54
64
  capsState = getCapsLockModifierState(event);
55
65
  }
56
- if (shouldCallCallback()) {
57
- onCapsChangeCallback(capsState);
58
- }
66
+ callCallbackIfNeeded();
59
67
  });
60
68
  document.addEventListener("keydown", (event) => {
61
69
  if (os === "Mac") {
62
70
  if (event.key === "CapsLock") {
63
71
  capsState = true;
64
- if (shouldCallCallback()) {
65
- onCapsChangeCallback(capsState);
66
- }
72
+ callCallbackIfNeeded();
67
73
  }
68
74
  }
69
75
  else if (os === "Linux") {
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leonabcd123/modern-caps-lock",
3
- "version": "2.2.2",
3
+ "version": "2.3.1",
4
4
  "description": "A package that allows you to know whether caps lock is active or not",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -18,7 +18,11 @@
18
18
  "url": "git+https://github.com/Leonabcd123/modern-caps-lock.git"
19
19
  },
20
20
  "keywords": [
21
- "caps-lock"
21
+ "caps-lock",
22
+ "caps",
23
+ "lock",
24
+ "cross-platform",
25
+ "modern"
22
26
  ],
23
27
  "author": "Leonabcd123",
24
28
  "contributors": [