@leonabcd123/modern-caps-lock 2.2.1 → 2.3.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/lib/index.js CHANGED
@@ -13,7 +13,7 @@ function getCurrentOs() {
13
13
  if (isPlatform("Linux")) {
14
14
  return "Linux";
15
15
  }
16
- if (isPlatform("Windows")) {
16
+ if (isPlatform("Win")) {
17
17
  return "Windows";
18
18
  }
19
19
  return "Unknown";
@@ -22,19 +22,24 @@ 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
34
  return event.getModifierState("CapsLock");
32
35
  }
33
- document.addEventListener("mousedown", (event) => {
34
- capsState = getCapsLockModifierState(event);
35
- if (shouldCallCallback()) {
36
- onCapsChangeCallback(capsState);
37
- }
36
+ mouseEventsToUpdateOn.forEach((eventType) => {
37
+ document.addEventListener(eventType, (event) => {
38
+ if (event instanceof MouseEvent) {
39
+ capsState = getCapsLockModifierState(event);
40
+ callCallbackIfNeeded();
41
+ }
42
+ });
38
43
  });
39
44
  document.addEventListener("keyup", (event) => {
40
45
  if (os === "Mac") {
@@ -53,17 +58,13 @@ document.addEventListener("keyup", (event) => {
53
58
  else if (event.key !== "CapsLock") {
54
59
  capsState = getCapsLockModifierState(event);
55
60
  }
56
- if (shouldCallCallback()) {
57
- onCapsChangeCallback(capsState);
58
- }
61
+ callCallbackIfNeeded();
59
62
  });
60
63
  document.addEventListener("keydown", (event) => {
61
64
  if (os === "Mac") {
62
65
  if (event.key === "CapsLock") {
63
66
  capsState = true;
64
- if (shouldCallCallback()) {
65
- onCapsChangeCallback(capsState);
66
- }
67
+ callCallbackIfNeeded();
67
68
  }
68
69
  }
69
70
  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":";;AAoFA,oCAEC;AAED,4CAEC;AA1FD,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,iBAAiB,GAAG,KAAK,CAAC;AAC9B,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;AAC1B,IAAI,oBAAkD,CAAC;AAEvD,SAAS,kBAAkB;IACzB,IAAI,YAAY,GAAG,iBAAiB,KAAK,SAAS,CAAC;IACnD,iBAAiB,GAAG,SAAS,CAAC;IAC9B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,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,IAAI,kBAAkB,EAAE,EAAC,CAAC;QACxB,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;AACH,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,IAAI,kBAAkB,EAAE,EAAC,CAAC;QACxB,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;AACH,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,IAAI,kBAAkB,EAAE,EAAC,CAAC;gBACxB,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC;QACH,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"}
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.1",
3
+ "version": "2.3.0",
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": [