Logo key (Mod4) stopped working under sway

I logged in today and the logo key stopped working as my modifier in sway. I can change it to Mod1 (and use Alt as my modifier key, which isn’t ideal), and I can see the keypresses in wev, which surprised me, so I don’t think it’s a keyboard issue per se

$ wev
[...]
[14:     wl_keyboard] key: serial: 2698; time: 820851; key: 133; state: 1 (pressed)
                      sym: Super_L      (65515), utf8: ''
[14:     wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 00000040: Mod4 
                      latched: 00000000
                      locked: 00000000
[14:     wl_keyboard] key: serial: 2700; time: 820903; key: 133; state: 0 (released)
                      sym: Super_L      (65515), utf8: ''
[...]
[14:     wl_keyboard] key: serial: 3007; time: 920552; key: 133; state: 0 (released)
                      sym: Super_L      (65515), utf8: ''
[14:     wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 00000000
                      latched: 00000000
                      locked: 00000000
[14:     wl_keyboard] key: serial: 3009; time: 922732; key: 10; state: 1 (pressed)
                      sym: 1            (49), utf8: '1'
[14:     wl_keyboard] key: serial: 3010; time: 922924; key: 10; state: 0 (released)
                      sym: 1            (49), utf8: ''
[14:     wl_keyboard] key: serial: 3011; time: 924652; key: 133; state: 1 (pressed)
                      sym: Super_L      (65515), utf8: ''
[14:     wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 00000040: Mod4 
                      latched: 00000000
                      locked: 00000000
[14:     wl_keyboard] key: serial: 3013; time: 924724; key: 133; state: 0 (released)
                      sym: Super_L      (65515), utf8: ''

Has anyone else seen this? I haven’t recently changed my sway config. I am on pocket reform a311d with sway (and tuigreet still).

Do you get release events while still holding down the key? Maybe a mechanical issue with the switch or cold solder joint?

No, I don’t get the release event until I let go of the key! The second chunk of output shows what happens when I input 1 and 2 with the logo key held, does that match expected output?

Wait it does look a little strange, maybe copy paste error, let me investigate more

aha, yes, I get a pair of pressed and released event when I press it and then another pair of pressed and released events when I release it. I’ll inspect the switch and solder joints when I get a chance

[14:     wl_keyboard] key: serial: 970; time: 368195; key: 133; state: 1 (pressed)
                      sym: Super_L      (65515), utf8: ''
[14:     wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 00000040: Mod4 
                      latched: 00000000
                      locked: 00000000
[14:     wl_keyboard] key: serial: 972; time: 368307; key: 133; state: 0 (released)
                      sym: Super_L      (65515), utf8: ''
[14:     wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 00000000
                      latched: 00000000
                      locked: 00000000
[14:     wl_keyboard] key: serial: 974; time: 369807; key: 133; state: 1 (pressed)
                      sym: Super_L      (65515), utf8: ''
[14:     wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 00000040: Mod4 
                      latched: 00000000
                      locked: 00000000
[14:     wl_keyboard] key: serial: 976; time: 369855; key: 133; state: 0 (released)
                      sym: Super_L      (65515), utf8: ''
[14:     wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 00000000
                      latched: 00000000
                      locked: 00000000

I was able to disassemble the kailh switch by slipping a small screwdriver under the clear plastic housing and removing it (careful, there’s a spring in there). Inside there was a small piece of broken looking plastic that was preventing the contacts from touching when the switch was fully depressed. I guess a small piece of sprue or something got inside during manufacturing and migrated to the wrong place over time? It was easy to remove and it works again. Thanks for the help!