diff --git a/assets/languages/en/Editors.xml b/assets/languages/en/Editors.xml
index c36b63b5e1..9c23c3e445 100644
--- a/assets/languages/en/Editors.xml
+++ b/assets/languages/en/Editors.xml
@@ -262,6 +262,7 @@
Subtract sustain length
Select all
Select measure
+ Select Strumline
Note Types List
Edit Note Types List
diff --git a/source/funkin/editors/charter/Charter.hx b/source/funkin/editors/charter/Charter.hx
index a1c39bf891..b26886507f 100644
--- a/source/funkin/editors/charter/Charter.hx
+++ b/source/funkin/editors/charter/Charter.hx
@@ -2280,6 +2280,14 @@ class Charter extends UIState {
if (note.step > Conductor.curMeasure*Conductor.getMeasureLength() && note.step < (Conductor.curMeasure+1)*Conductor.getMeasureLength()) note
];
}
+
+ function _note_selectstrumline(_) {
+ if (strumLines.members.length == 0) return;
+ var strumId = Math.floor(FlxG.mouse.getWorldPosition(charterCamera).x / 40);
+ if (strumId < 0 || strumId >= strumLines.totalKeyCount) return;
+ var hoveredStrum = strumLines.members.indexOf(strumLines.getStrumlineFromID(strumId));
+ if (hoveredStrum != -1) selection = [for (note in notesGroup.members) if (note.strumLineID == hoveredStrum) note];
+ }
#end
function changeNoteSustain(change:Float) {
@@ -2344,6 +2352,11 @@ class Charter extends UIState {
keybind: [CONTROL, SHIFT, A],
onSelect: _note_selectmeasure
},
+ {
+ label: translate("note.selectStrumline"),
+ keybind: [CONTROL, SHIFT, L],
+ onSelect: _note_selectstrumline
+ },
null
];