Preserve terminal feedback while coalescing repaints

This commit is contained in:
Storm Dragon committed 2026-11-04 12:22:11 -05:00
1 parent 8c26aad128
commit e222d336a5
13 files changed
+321 -39

No files matched your search

+19
View File
@@ -214,6 +214,25 @@ func TestBrowseShiftedDigitHeadingLevels(t *testing.T) {
}
}
func TestAmbiguousShiftPartnersAreNotGrabbed(t *testing.T) {
// US Shift+apostrophe and GB Shift+2 both produce a double quote.
// Without the active group, the monitor cannot route it reliably.
pairs := build_shift_pairs("us,gb")
if _, ok := pairs.unshifted['"']; ok {
t.Fatal("ambiguous double quote has a reverse mapping")
}
original := loadShiftPairs
loadShiftPairs = func() shiftPairs { return pairs }
t.Cleanup(func() { loadShiftPairs = original })
_, grabs, _ := make_grabs(keyboardConfiguration{layout: input.DesktopKeyboardLayout, modifiers: []string{"Insert"}},
keyboardPolicy{enabled: true, browse: true})
for _, grab := range grabs {
if grab.Symbol == '"' && grab.Modifiers&1 != 0 {
t.Fatalf("ambiguous shifted symbol grabbed: %+v", grab)
}
}
}
func TestLearnModeAndSecureReset(t *testing.T) {
owner := test_owner(t, input.LaptopKeyboardLayout, "Insert")
send_key(t, owner, 0xff63, 118, 0, false)