File tree Expand file tree Collapse file tree
src/lib/components/Reader Expand file tree Collapse file tree Original file line number Diff line number Diff line change 194194 }
195195
196196 function handleShortcuts(event : KeyboardEvent & { currentTarget: EventTarget & Window }) {
197+ // Ignore shortcuts when user is in a text input, editable field, or UI overlay
198+ const target = event .target as HTMLElement ;
199+ if (
200+ target .tagName === ' INPUT' ||
201+ target .tagName === ' TEXTAREA' ||
202+ target .isContentEditable ||
203+ target .closest (' #settings' ) || // Settings drawer
204+ target .closest (' [data-popover]' ) // Page number popover and other popovers
205+ ) {
206+ return ;
207+ }
208+
197209 const action = event .code || event .key ;
198210
211+ // For letter keys, ignore if any modifier key is pressed (e.g., Ctrl+C for copy)
212+ const isLetterKey = action .startsWith (' Key' );
213+ if (isLetterKey && (event .ctrlKey || event .altKey || event .metaKey )) {
214+ return ;
215+ }
216+
199217 // Keys that should prevent default browser scrolling behavior
200218 const scrollKeys = [
201219 ' ArrowLeft' ,
You can’t perform that action at this time.
0 commit comments