Skip to content

Bug: Mouse stuck #1540

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
2 tasks done
lnfuhl opened this issue Feb 18, 2025 · 4 comments
Open
2 tasks done

Bug: Mouse stuck #1540

lnfuhl opened this issue Feb 18, 2025 · 4 comments
Assignees
Labels
bug Something isn't working llhook Pertains to the standard version of Kanata on Windows question Further information is requested windows Issue pertains to Windows only

Comments

@lnfuhl
Copy link

lnfuhl commented Feb 18, 2025

Requirements

Describe the bug

I have not set any mouse related action, but I use Katana_gui.exe, and then the mouse becomes stuck. Specifically, when I drag, the mouse on the monitor does not follow my arm. My mouse is a Razer Cobra。

Relevant kanata config

;;base2 and acelsyer2 is related with caps lock 
(defcfg
  tooltip-layer-changes yes
  tooltip-size 24,24
  tooltip-duration 60000
  notify-cfg-reload-silent yes
  ;; notify-cfg-reload no
  notify-error no
)
(defalias
  ;; cl (layer-switch acelayer)
  ;; cl (tap-hold-press-timeout 200 400 (layer-switch acelayer) (layer-switch acelayer) (unicode r#"'"#))
  clrl (layer-switch cellar)
  col (tap-hold-press 200 300 grv (layer-while-held console))
  lcl (tap-hold-press-timeout 200 400 (layer-switch acelayer) (layer-switch acelayer) caps) ;;@clrl
  rcl (tap-hold-press-timeout 200 400 (layer-switch acelayer) (layer-switch acelayer) (unicode r#"'"#))
  bl (layer-switch base)
  lsftAce (tap-hold-press 200 200 lsft (layer-while-held sftAce))
  rsftAce (tap-hold-press 200 200 rsft (layer-while-held sftAce))
  lsftNum (tap-hold-press 200 200 lsft (layer-while-held sftNum))
  rsftNum (tap-hold-press 200 200 rsft (layer-while-held sftNum))
  tl (layer-while-held tablayer)
  nl (layer-switch numpad)
  ctrll (layer-switch ctrllayer)

  ext (on-press tap-vkey switch-to-base)
  ext2 (on-press tap-vkey switch-to-base2)
  vsc (on-press tap-vkey sc)

  sChn (macro A-S-2 @ext)
  sEng (macro A-S-1 @ext)
  siptEsc (macro A-S-1 esc @ext)
  sEsc (macro esc @ext)
  sEnt (macro ent @ext)
  sCaps (macro caps @ext2)
  ;; sCaps (macro @ext (caps-word 2000))
  ;; sCaps (macro @ext (caps-word-custom
  ;;   2000
  ;;   (a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9)
  ;;   (kp0 kp1 kp2 kp3 kp4 kp5 kp6 kp7 kp8 kp9 bspc del up down left rght)
  ;; ))
  sSave (macro C-s @ext)

  ltab (tap-hold-press-timeout 200 400 tab @tl tab)
  ;; ltab (tap-hold-except-keys 200 200 tab @tl (lalt ralt))
  rtab (tap-hold-press 200 400  [ @tl)
  ;; rtab (tap-hold-except-keys 200 200  [ @tl (lalt ralt))
  hdel (macro S-home bspc)
  edel (macro S-end bspc)
  wdel (macro C-S-right C-S-left bspc)
  lup (tap-hold-press 200 250 (macro up up up up up up up up up up up up up up up ) (macro-repeat up up up up up up up up up up up up up up up 50))
  ldn (tap-hold-press 200 250 (macro down down down down down down down down down down down down down down down) (macro-repeat down down down down down down down down down down down down down down down 50))
  sftlup (tap-hold-press 200 250 (macro S-up S-up S-up S-up S-up S-up S-up S-up S-up S-up S-up S-up S-up S-up S-up ) (macro-repeat S-up S-up S-up S-up S-up S-up S-up S-up S-up S-up S-up S-up S-up S-up S-up 50))
  sftldn (tap-hold-press 200 250 (macro S-down S-down S-down S-down S-down S-down S-down S-down S-down S-down S-down S-down S-down S-down S-down) (macro-repeat S-down S-down S-down S-down S-down S-down S-down S-down S-down S-down S-down S-down S-down S-down S-down 50))
;;;;
;;
;; capslock is on. 
;;
;;;;

  ;; cl2 (layer-switch acelayer2)
  lcl2 (tap-hold-press-timeout 200 400 (layer-switch acelayer2) (layer-switch acelayer2) caps)
  rcl2 (tap-hold-press-timeout 200 400 (layer-switch acelayer2) (layer-switch acelayer2) (unicode r#"'"#))
  bl2 (layer-switch base2)
  lsftAce2 (tap-hold-press 200 200 lsft (layer-while-held sftAce2))
  rsftAce2 (tap-hold-press 200 200 rsft (layer-while-held sftAce2))
  lsftNum2 (tap-hold-press 200 200 lsft (layer-while-held sftNum2))
  rsftNum2 (tap-hold-press 200 200 rsft (layer-while-held sftNum2))
  nl2 (layer-switch numpad2)
  ctrll2 (layer-switch ctrllayer2)
  sChn2 (macro A-S-2 @vsc @ext)
  sEng2 (macro A-S-1 @vsc @ext )
  siptEsc2 (macro A-S-1 esc @vsc @ext)
  sEsc2 (macro esc @ext2)
  sEnt2 (macro ent @ext2)
  sCaps2 (macro caps @ext)
  sSave2 (macro C-s @ext2)
  ;; exitlyr (switch 
  ;;   ((layer base)) (layer-switch base) break
  ;;   ((layer acelayer)) (layer-switch base) break
  ;;   ((layer tablayer)) (layer-switch base) break
  ;; )


  fixb (macro [ ])

  csq (tap-dance-eager 600 ((macro (unicode r#""#)) (macro (unicode r#""#))))
  cdq (tap-dance-eager 600 ((macro (unicode r#""#)) (macro (unicode r#""#))))

  fws (unicode r#" "#)
  rq (unicode r#""#)
  dq (unicode r#"""# )
  sq (unicode r#"'"# )
  td (unicode r#"~"# )
  en (unicode r#""# )
  em (unicode r#""# )

  exc (unicode r#"!"# )
  at (unicode r#"@"# )
  shp (unicode r#"#"# )
  bll (unicode r#"$"# )
  per (unicode r#"%"# )
  car (unicode r#"^"# )
  et (unicode r#"&"# )
  ast (unicode r#"*"# )
  rmb (unicode r#"¥"# )

  vb (unicode r#"|"# )

  ecb (macro  (unicode r#"}"#) (unicode r#"{"#)  left)
  ;; ecb (tap-dance-eager 600 ((macro (unicode r#"{"#)) (macro (unicode r#"}"#))))
  ep (macro  (unicode r#")"#) (unicode r#"("#)  left)
  ;; ep (tap-dance-eager 600 ((macro (unicode r#"("#)) (macro (unicode r#")"#))))
  ebkt (macro  (unicode r#"]"#) (unicode r#"["#) left)
  ;; ebkt (tap-dance-eager 600 ((macro (unicode r#"["#)) (macro (unicode r#"]"#))))
  ecm (unicode r#","# )
  ;; ebkt (tap-dance-eager 600 ((macro (unicode r#"["#)) (macro (unicode r#"]"#))))
  ;; lebkt (unicode r#"["# )
  ;; rebkt (unicode r#"]"# )
  lep (unicode r#"("# )
  rep (unicode r#")"# ) ;;e means English, p means parenthesis, and l means left. 
  lp S-9
  rp S-0
  ul (unicode r#"_"# )
  lcb (unicode r#"{"# )
  rcb (unicode r#"}"# )
)
(defvirtualkeys
  switch-to-base2 (layer-switch base2)
  switch-to-base (layer-switch base)
  sc (switch 
    ((base-layer acelayer2)) caps break
  )
)

;;;;
;;
;; Main
;; 
;;;;

(defsrc
  esc  f1   f2   f3   f4      f5   f6   f7   f8      f9   f10  f11  f12                                                  ;;13 esc
  grv  1    2    3    4    5    6    7    8    9    0    -    =    bspc                                                  ;;14 grv
  tab  q    w    e    r    t    y    u    i    o    p    [    ]    \                                                     ;;14 tab
  caps a    s    d    f    g    h    j    k    l    ;    '         ent                                                   ;;13 caps
  lsft z    x    c    v    b    n    m    ,    .    /    rsft       up                                                   ;;13 shift
  lctl lmet lalt           spc            ralt rmet rctl    left   down  right                                           ;;13 ctrl
)
(deflayer base
  esc  f1   f2   f3   f4      f5   f6   f7   f8      f9   f10  f11  f12                                     ;;13 esc
  @col  1    2    3    4    5    6    7    8    9    0    -    =    bspc                                     ;;14 grv
  @ltab  q    w    e    r    t    y    u    i     o    p    @rtab    ]    \                                 ;;14 tab
  @lcl a    s    d    f    g    h    j    k    l    ;    @rcl         ent                                     ;;13 caps
  lsft z    x    c    v    b    n    m    ,    .    /    rsft       up                                      ;;13 shift
  lctl lmet lalt           spc            ralt rmet rctl    left   down  right                              ;;13 ctrl
)
(deflayer cellar
  esc  f1   f2   f3   f4      f5   f6   f7   f8      f9   f10  f11  f12                                                  ;;13 esc
  @col  1    2    3    4    5    6    7    8    9    0    -    =    bspc                                                  ;;14 grv
  tab  q    w    e    r    t    y    u    i    o    p    [    ]    \                                                     ;;14 tab
  caps a    s    d    f    g    h    j    k    l    ;    '         ent                                                   ;;13 caps
  lsft z    x    c    v    b    n    m    ,    .    /    rsft       up                                                   ;;13 shift
  lctl lmet lalt           spc            ralt rmet rctl    left   down  right                                           ;;13 ctrl
)
(deflayer console
  esc  f1   f2   M-A-prtsc   M-prtsc    lrld   f6   f7   f8      f9   f10  f11  f12                                                 ;;13 esc
  grv  @bl    @clrl    3    4    5    6    7    8    9    0    -    =    bspc                                                  ;;14 grv
  tab  q    w    e    r    t    y    u    i    o    p    [    ]    \                                                     ;;14 tab
  caps a    s    d    f    g    h    j    k    l    ;    '         ent                                                   ;;13 caps
  lsft z    x    c    v    b    n    m    ,    .    /    rsft       up                                                   ;;13 shift
  lctl lmet lalt           spc            ralt rmet rctl    left   down  right                                           ;;13 ctrl
)
(deflayer (acelayer icon star.png)
  esc  f1   f2   f3   f4    f5   f6   f7   f8      f9   f10  f11  f12                                                   ;;13 esc
  @col  M-;    f2    @nl    4    5    6    7    8    9    0    -    =    bspc                                                   ;;14 grv
  @ltab  home    @ctrll    up    tab    @hdel    @wdel    C-left    C-right    pgup    p    @rtab    _    _                    ;;14 tab
  @lcl  end  left  down  right    bspc    @sEsc    @ldn    @lup    pgdn    @sSave    @rcl    ent                               ;;13 caps
  @lsftAce menu   del  @sCaps    @sEng    @sEnt    @siptEsc     @sChn   ,    .    /    @rsftAce    up                                      ;;13 shift
  lctl lmet lalt            @bl             ralt rmet rctl    left   down  right                                          ;;13 ctrl
)
(deflayer sftAce
  S-esc  S-f1   S-f2   S-f3   S-f4    S-f5   S-f6   S-f7   S-f8      S-f9   S-f10  S-f11  S-f12                                                   ;;13 esc
  S-grv  M-;    f2    @nl    4    5    6    7    8    9    0    -    =    bspc                                                   ;;14 grv
  S-tab  S-home    @ctrll    S-up    S-tab    @edel    @wdel    S-C-left    S-C-right    S-pgup    p    _    _    _                    ;;14 tab
  @lcl  S-end  S-left  S-down  S-right    del    @sEsc    @sftldn    @sftlup    S-pgdn    @sSave   @rcl    S-ent                               ;;13 caps
  lsft pgdn   pgup  @sCaps2    @sChn    @sEnt    @siptEsc     @sChn   ,    .    /    rsft    S-up                                      ;;13 shift
  lctl lmet lalt            spc             ralt rmet rctl    S-left   S-down  S-right                                          ;;13 ctrl
)
(deflayer tablayer
  esc  f1   f2   f3   f4      f5   f6   f7   f8      f9   f10  f11  f12                                           ;;13 esc             
  grv  1    2    3    4    5    6    7    8    9    0    -    =    bspc                                           ;;14 grv
  tab  @td    -    +    =    @en    @em    @lp    @rp    @csq    @vb    [   @fixb     \                           ;;14 tab
  XX grv    @ul    @lcb    @rcb    @sq    @dq    [    ]    @cdq    \    '         ent                          ;;13 caps
  lsft @exc    @at    @shp    @bll    @per    @car    @et    @ast   @rq    '    rsft       up                     ;;13 shift
  lctl lmet lalt           @fws            ralt rmet rctl    left   down  right                                    ;;13 ctrl
)
(deflayer (numpad icon num.png) 
  esc  f1   f2   f3   f4      f5   f6   f7   f8      f9   f10  f11  f12                                                  ;;13 esc
  @col    esc   f2     kp/    kp*    kp-    6      7     8      9      0    -    =    bspc                                                  ;;14 grv
  @ltab  @per  kp7    kp8    kp9    kp+    y    u    i    o    p    @rtab    ]    \                                                     ;;14 tab
  @lcl    =     kp4    kp5    kp6    bspc    h    j    k    l    ;    @rcl         ent                                                   ;;13 caps
  @lsftNum   kp.   kp1    kp2    kp3    kprt    n    m    ,    .    /    @rsftNum       up                                                   ;;13 shift
  lctl lmet lalt           kp0            ralt rmet rctl    left   down  right                                           ;;13 ctrl
)
(deflayer sftNum
  esc  f1   f2   f3   f4      f5   f6   f7   f8      f9   f10  f11  f12                                                  ;;13 esc
  S-grv    esc   f2     kp/    @rmb    kp-    6      7     8      9      0    -    =    bspc                                                  ;;14 grv
  S-tab  @ecb  @at    @shp    @bll    kp+    y    u    i    o    p    [    ]    \                                                     ;;14 tab
  @lcl    @ebkt     @car    @ep    @ecm    del    h    j    k    l    ;    @rcl   ent                                                   ;;13 caps
  lsft    @ul   @et    @vb    @exc    kprt    n    m    ,    .    /    rsft       up                                                   ;;13 shift
  lctl lmet lalt           spc            ralt rmet rctl    left   down  right                                           ;;13 ctrl
)
(deflayer (ctrllayer icon control.png)
  esc  C-f1   C-f2   C-f3   C-f4      C-f5   C-f6   C-f7   C-f8      C-f9   C-f10  C-f11  C-f12                                                  ;;13 esc
  C-grv  C-1    C-2    C-3    C-4    C-5    C-6    C-7    C-8    C-9    C-0    C--    C-=    C-bspc                                                  ;;14 grv
  C-tab  C-q    C-w    C-e    C-r    C-t    C-y    C-u    C-i    C-o    C-p    C-[    C-]    C-\                                                     ;;14 tab
  @lcl C-a    C-s    C-d    C-f    C-g    C-h    C-j    C-k    C-l    C-;    @rcl         C-ent                                                   ;;13 caps
  lsft C-z    C-x    C-c    C-v    C-b    C-n    C-m    C-,    C-.    C-/    rsft       C-up                                                   ;;13 shift
  lctl lmet lalt           @bl            ralt rmet rctl    C-left   C-down  C-right                                           ;;13 ctrl
)

;;;;
;;
;; Capslock is on. 
;;
;;;;

(deflayer (base2 icon caps.png)
  esc  f1   f2   f3   f4      f5   f6   f7   f8      f9   f10  f11  f12                                     ;;13 esc
  @col  1    2    3    4    5    6    7    8    9    0    -    =    bspc                                     ;;14 grv
  @ltab  q    w    e    r    t    y    u    i     o    p    @rtab    ]    \                                 ;;14 tab
  @lcl2 a    s    d    f    g    h    j    k    l    ;    @rcl2        ent                                     ;;13 caps
  lsft z    x    c    v    b    n    m    ,    .    /    rsft       up                                      ;;13 shift
  lctl lmet lalt           spc            ralt rmet rctl    left   down  right                              ;;13 ctrl
)
(deflayer (acelayer2 icon star.png)
  esc  f1   f2   f3   f4    f5   f6   f7   f8      f9   f10  f11  f12                                                   ;;13 esc
  @col  M-;    f2    @nl2   4    5    6    7    8    9    0    -    =    bspc                                                   ;;14 grv
  @ltab  home    @ctrll2   up    tab    @hdel    @wdel    C-left    C-right    pgup    p    @rtab    _    _                    ;;14 tab
  @lcl2  end  left  down  right    bspc    @sEsc2    @ldn    @lup    pgdn    @sSave2    @rcl2   ent                               ;;13 caps
  @lsftAce2 menu   del  @sCaps2    @sEng2    @sEnt2    @siptEsc2     @sChn2   ,    .    /    @rsftAce2    up                                      ;;13 shift
  lctl lmet lalt            @bl2             ralt rmet rctl    left   down  right                                          ;;13 ctrl
)
(deflayer sftAce2
  S-esc  S-f1   S-f2   S-f3   S-f4    S-f5   S-f6   S-f7   S-f8      S-f9   S-f10  S-f11  S-f12                                                   ;;13 esc
  S-grv  M-;    f2    @nl2    4    5    6    7    8    9    0    -    =    bspc                                                   ;;14 grv
  S-tab  S-home    @ctrll2    S-up    S-tab    @edel    @wdel    S-C-left    S-C-right    S-pgup    p    _    _    _                    ;;14 tab
  @lcl2  S-end  S-left  S-down  S-right    del    @sEsc2    @sftldn    @sftlup    S-pgdn    @sSave2   @rcl2    S-ent                               ;;13 caps
  lsft pgdn   pgup  @sCaps    @sChn2    @sEnt2    @siptEsc2     @sChn2   ,    .    /    rsft    S-up                                      ;;13 shift
  lctl lmet lalt            spc             ralt rmet rctl    S-left   S-down  S-right                                          ;;13 ctrl
)
(deflayer (numpad2 icon num.png) 
  esc  f1   f2   f3   f4      f5   f6   f7   f8      f9   f10  f11  f12                                                  ;;13 esc
  @col    esc   f2     kp/    kp*    kp-    6      7     8      9      0    -    =    bspc                                                  ;;14 grv
  @ltab  @per  kp7    kp8    kp9    kp+    y    u    i    o    p    @rtab    ]    \                                                     ;;14 tab
  @lcl2    =     kp4    kp5    kp6    bspc    h    j    k    l    ;    @rcl2         ent                                                   ;;13 caps
  @lsftNum2   kp.   kp1    kp2    kp3    kprt    n    m    ,    .    /    @rsftNum2       up                                                   ;;13 shift
  lctl lmet lalt           kp0            ralt rmet rctl    left   down  right                                           ;;13 ctrl
)
(deflayer sftNum2
  esc  f1   f2   f3   f4      f5   f6   f7   f8      f9   f10  f11  f12                                                  ;;13 esc
  S-grv    esc   f2     kp/    @rmb    kp-    6      7     8      9      0    -    =    bspc                                                  ;;14 grv
  S-tab  @ecb  @at    @shp    @bll    kp+    y    u    i    o    p    [    ]    \                                                     ;;14 tab
  @lcl2  @ebkt    @car    @ep   @ecm     del    h    j    k    l    ;    @rcl2   ent                                                   ;;13 caps
  lsft  @ul     @et    @vb    @exc    kprt    n    m    ,    .    /    rsft       up                                                   ;;13 shift
  lctl lmet lalt           spc            ralt rmet rctl    left   down  right                                           ;;13 ctrl
)
(deflayer (ctrllayer2 icon control.png)
  esc  C-f1   C-f2   C-f3   C-f4      C-f5   C-f6   C-f7   C-f8      C-f9   C-f10  C-f11  C-f12                                                  ;;13 esc
  @col  C-1    C-2    C-3    C-4    C-5    C-6    C-7    C-8    C-9    C-0    C--    C-=    C-bspc                                                  ;;14 grv
  @ltab  C-q    C-w    C-e    C-r    C-t    C-y    C-u    C-i    C-o    C-p    @rtab    C-]    C-\                                                     ;;14 tab
  @lcl2 C-a    C-s    C-d    C-f    C-g    C-h    C-j    C-k    C-l    C-;    @rcl2         C-ent                                                   ;;13 caps
  lsft C-z    C-x    C-c    C-v    C-b    C-n    C-m    C-,    C-.    C-/    rsft       C-up                                                   ;;13 shift
  lctl lmet lalt           @bl2           ralt rmet rctl    C-left   C-down  C-right                                           ;;13 ctrl
)

To Reproduce

above

Expected behavior

No more stuttering

Kanata version

Kanata_gui 1.8.0

Debug logs

No response

Operating system

Windows11 24H2

Additional context

No response

@lnfuhl lnfuhl added the bug Something isn't working label Feb 18, 2025
@lnfuhl
Copy link
Author

lnfuhl commented Feb 18, 2025

When I close Kanata_gui.exe, the mouse movement stops stuck. Sometimes it takes a while to open Kanata to become stuck, and the exact time is uncertain

@jtroo
Copy link
Owner

jtroo commented Feb 18, 2025

Sometimes it takes a while to open Kanata to become stuck, and the exact time is uncertain

Is this based on time or is it based on something in your keymap? I'm unable to reproduce the issue.

@jtroo jtroo added question Further information is requested windows Issue pertains to Windows only llhook Pertains to the standard version of Kanata on Windows labels Feb 18, 2025
@lnfuhl
Copy link
Author

lnfuhl commented Feb 18, 2025

Sometimes it takes a while to open Kanata to become stuck, and the exact time is uncertain有时打开 Kanata 需要一段时间才能卡住,具体时间不确定

Is this based on time or is it based on something in your keymap? I'm unable to reproduce the issue.这是基于时间还是基于你的键盘映射中的某个内容?我无法重现该问题。

Because the tooltip will disable automatically after a while—it no longer pops up when I switch a layer again—and the tooltip also follows the mouse, so I guess the mouse lag is related to the tooltip. After I closed the tooltip, it seems that the mouse lag has been resolved.

It is not accurate to say that the mouse is stuck. To be more precise, the mouse is lag. This is the question I expressed

@lnfuhl
Copy link
Author

lnfuhl commented Feb 18, 2025

To be sure, the mouse stuttering no longer appears after closing the tooltip.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working llhook Pertains to the standard version of Kanata on Windows question Further information is requested windows Issue pertains to Windows only
Projects
None yet
Development

No branches or pull requests

2 participants