Skip to content

WPM Luna animation freezes while typing when fixed bottom modifier indicators are enabled (nice!view / nice_epaper) #30

Description

@kervin5

Hi. First of all, thank you for this repo/project! Amazing work!

I'm on a Corne with nice!view (corne_left nice_view_adapter nice_epaper), ZMK v0.3.0, zmk-nice-oled at 46f824a.

I'm trying to run WPM Luna + the WPM graph + the fixed bottom modifier row (horizontal symbols). Everything works except one thing: Luna stops animating while I'm typing and only looks normal again once I stop. The bottom mod icons themselves seem fine.

A few things I tried to narrow it down:

Turning off the WPM graph (WPM_GRAPH=n) didn't help
Turning off the bottom fixed modifiers (MODIFIERS_INDICATORS_FIXED=n) did fix Luna
So it feels specific to the bottom row + WPM Luna combo, not Luna in general (modifier Luna on its own hasn't been the problem in my testing)
Config on the left/central half, roughly:

CONFIG_NICE_EPAPER_ON=y
CONFIG_NICE_OLED_ON=n
CONFIG_NICE_OLED_WIDGET_WPM=y
CONFIG_NICE_OLED_WIDGET_WPM_LUNA=y
CONFIG_NICE_OLED_WIDGET_WPM_GRAPH=y
CONFIG_NICE_OLED_WIDGET_WPM_NUMBER=y
CONFIG_NICE_OLED_WIDGET_MODIFIERS_INDICATORS=y
CONFIG_NICE_OLED_WIDGET_MODIFIERS_INDICATORS_FIXED=y
CONFIG_NICE_OLED_WIDGET_MODIFIERS_INDICATORS_FIXED_SYMBOL=y
CONFIG_NICE_OLED_WIDGET_MODIFIERS_INDICATORS_FIXED_HOR=y
I poked at screen.c and noticed the fixed modifier listener is on keycode_state_changed and calls draw_canvas() (which does rotate_canvas()). WPM Luna also lives on the canvas. My guess is that hammering the canvas on every key while typing starves the animimg on nice!view's 1bpp display — but I'm not 100% sure, and disabling the graph alone didn't change the behavior, which confused me.

I also tried a pretty big local fork (overlays, moving Luna off the canvas, filtering the modifier listener, etc.) and it still froze on device, so I reverted and wanted to report upstream instead of maintaining that.

The bottom row is genuinely useful for seeing Shift/Ctrl/Alt/Cmd at a glance on such a small screen — I'd love to keep it and Luna. Happy to test patches or provide logs/video if that helps.

Thanks!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions