Fix kitty protocol, caps lock, code source desc

This commit is contained in:
2026-02-22 16:51:34 -05:00
parent 9d59c265dd
commit f8bcad247b
5 changed files with 408 additions and 55 deletions

View File

@@ -210,7 +210,13 @@ impl KeyboardDiagram<'_> {
break;
}
let display_char = if self.shift_held {
// Caps lock inverts shift for alpha keys only
let show_shifted = if physical_key.base.is_ascii_alphabetic() {
self.shift_held ^ self.caps_lock
} else {
self.shift_held
};
let display_char = if show_shifted {
physical_key.shifted
} else {
physical_key.base
@@ -328,7 +334,13 @@ impl KeyboardDiagram<'_> {
break;
}
let display_char = if self.shift_held {
// Caps lock inverts shift for alpha keys only
let show_shifted = if physical_key.base.is_ascii_alphabetic() {
self.shift_held ^ self.caps_lock
} else {
self.shift_held
};
let display_char = if show_shifted {
physical_key.shifted
} else {
physical_key.base
@@ -444,7 +456,13 @@ impl KeyboardDiagram<'_> {
break;
}
let display_char = if self.shift_held {
// Caps lock inverts shift for alpha keys only
let show_shifted = if physical_key.base.is_ascii_alphabetic() {
self.shift_held ^ self.caps_lock
} else {
self.shift_held
};
let display_char = if show_shifted {
physical_key.shifted
} else {
physical_key.base

View File

@@ -6,7 +6,7 @@ use ratatui::widgets::{Block, Clear, Paragraph, Widget};
use std::collections::{BTreeSet, HashMap};
use crate::engine::key_stats::KeyStatsStore;
use crate::keyboard::display::{self, BACKSPACE, ENTER, SPACE, TAB};
use crate::keyboard::display::{self, BACKSPACE, ENTER, MODIFIER_SENTINELS, SPACE, TAB};
use crate::keyboard::model::KeyboardModel;
use crate::session::result::DrillResult;
use crate::ui::components::activity_heatmap::ActivityHeatmap;
@@ -1052,9 +1052,9 @@ impl StatsDashboard<'_> {
}
// Include modifier/whitespace keys
all_keys.insert(SPACE);
all_keys.insert(TAB);
all_keys.insert(ENTER);
all_keys.insert(BACKSPACE);
for &key in MODIFIER_SENTINELS {
all_keys.insert(key);
}
let mut key_accuracies: Vec<(char, f64)> = all_keys
.into_iter()
@@ -1130,9 +1130,9 @@ impl StatsDashboard<'_> {
}
}
all_keys.insert(SPACE);
all_keys.insert(TAB);
all_keys.insert(ENTER);
all_keys.insert(BACKSPACE);
for &key in MODIFIER_SENTINELS {
all_keys.insert(key);
}
let mut key_accuracies: Vec<(char, f64)> = all_keys
.into_iter()