You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
→ `Ctrl+N` 영역 영역 의 `e.preventDefault()` 영역 영역 호출 영역 영역 ✅, 그러나 작업지시자 영역 영역 영역 "브라우저 새 창 발생" 영역 영역 보고.
2. `chordMapN` 영역 영역 `m` 매핑 부재
```typescript
const chordMapN: Record<string, string> = {
n: 'insert:footnote',
ㅜ: 'insert:footnote', // 한글 IME
s: 'page:hide',
ㄴ: 'page:hide', // 한글 IME
// ❌ 'm' 매핑 부재 — PR #739 영역 영역 신규 `insert:equation` 영역 영역 등록 부재
};
```
`insert.ts` 영역 영역 `shortcutLabel: 'Ctrl+N,M'` 영역 영역 명시 영역 영역, 그러나 `chordMapN` 영역 영역 `m` 매핑 부재 영역 영역 → 두 번째 키 `M` 영역 영역 dispatch 미동작.
진단
두 결함 영역 영역 동시 발생 영역 영역 점검:
결함 A — `chordMapN` 영역 영역 `m: 'insert:equation'` 매핑 부재 (확정)
PR #739 영역 영역 `insert:equation` 영역 영역 `shortcutLabel: 'Ctrl+N,M'` 명시 영역 영역, 그러나 `chordMapN` 영역 영역 영역 등록 영역 영역. `m` (영문) + `ㅡ` (한글 IME) 영역 영역 모두 매핑 추가 필요.
결함 B — `Ctrl+N` 영역 영역 의 brower default 영역 영역 새 창 (점검 필요)
`handleCtrlKey()` 영역 영역 `e.preventDefault()` 영역 영역 호출 영역 영역 ✅ — 그러나 작업지시자 영역 영역 영역 "브라우저 새 창 발생" 보고. 점검 가능성:
`handleCtrlKey()` 영역 영역 호출 시점 영역 영역 영역 영역 — keydown 영역 영역 의 다른 핸들러 영역 영역 가로채기 영역 영역
`active` flag 영역 영역 의 false 영역 영역 영역 영역 → `if (!this.active) return;` 영역 영역 의 조기 종료
영역 영역 영역 영역 영역 영역 OS 영역 영역 의 가로채기 영역 영역 (Windows + Chrome 영역 영역 영역 `Ctrl+N` 영역 영역 OS-level 가로채기 가능성 영역 영역)
처리 방향 (제안)
옵션 A — `chordMapN` 영역 영역 `m: 'insert:equation'` 추가 (필수)
```typescript
const chordMapN: Record<string, string> = {
n: 'insert:footnote',
ㅜ: 'insert:footnote',
s: 'page:hide',
ㄴ: 'page:hide',
m: 'insert:equation', // 추가
ㅡ: 'insert:equation', // 한글 IME 추가
};
```
옵션 B — 다른 단축키 영역 영역 변경 (브라우저 충돌 회피)
`Ctrl+N` 영역 영역 영역 브라우저 영역 영역 영역 영역 영역 영역 가로채기 영역 영역 가능성 영역 영역 → 다른 단축키 (예: `Ctrl+E` / `F2` / `Alt+M` 등) 영역 영역 변경. 한컴 표준 `Ctrl+N+M` 영역 영역 영역 호환 영역 영역 별 단축키 추가.
증상
rhwp-studio 영역 영역 `Ctrl+N+M` 단축키 영역 영역 입력 → 수식 신규 삽입 시도 시 브라우저 새 창 영역 영역 발생.
재현 절차
본 환경 점검 결과
단축키 처리 흐름 (`input-handler-keyboard.ts`)
1. `handleCtrlKey()` 영역 영역 `Ctrl+N` 영역 영역 `_pendingChordN` flag 영역 영역 활성화
```typescript
if ((e.key === 'n' || e.key === 'N' || e.key === 'ㅜ') && !e.shiftKey && !e.altKey) {
e.preventDefault();
this._pendingChordN = true;
return;
}
```
→ `Ctrl+N` 영역 영역 의 `e.preventDefault()` 영역 영역 호출 영역 영역 ✅, 그러나 작업지시자 영역 영역 영역 "브라우저 새 창 발생" 영역 영역 보고.
2. `chordMapN` 영역 영역 `m` 매핑 부재
```typescript
const chordMapN: Record<string, string> = {
n: 'insert:footnote',
ㅜ: 'insert:footnote', // 한글 IME
s: 'page:hide',
ㄴ: 'page:hide', // 한글 IME
// ❌ 'm' 매핑 부재 — PR #739 영역 영역 신규 `insert:equation` 영역 영역 등록 부재
};
```
`insert.ts` 영역 영역 `shortcutLabel: 'Ctrl+N,M'` 영역 영역 명시 영역 영역, 그러나 `chordMapN` 영역 영역 `m` 매핑 부재 영역 영역 → 두 번째 키 `M` 영역 영역 dispatch 미동작.
진단
두 결함 영역 영역 동시 발생 영역 영역 점검:
결함 A — `chordMapN` 영역 영역 `m: 'insert:equation'` 매핑 부재 (확정)
PR #739 영역 영역 `insert:equation` 영역 영역 `shortcutLabel: 'Ctrl+N,M'` 명시 영역 영역, 그러나 `chordMapN` 영역 영역 영역 등록 영역 영역. `m` (영문) + `ㅡ` (한글 IME) 영역 영역 모두 매핑 추가 필요.
결함 B — `Ctrl+N` 영역 영역 의 brower default 영역 영역 새 창 (점검 필요)
`handleCtrlKey()` 영역 영역 `e.preventDefault()` 영역 영역 호출 영역 영역 ✅ — 그러나 작업지시자 영역 영역 영역 "브라우저 새 창 발생" 보고. 점검 가능성:
처리 방향 (제안)
옵션 A — `chordMapN` 영역 영역 `m: 'insert:equation'` 추가 (필수)
```typescript
const chordMapN: Record<string, string> = {
n: 'insert:footnote',
ㅜ: 'insert:footnote',
s: 'page:hide',
ㄴ: 'page:hide',
m: 'insert:equation', // 추가
ㅡ: 'insert:equation', // 한글 IME 추가
};
```
옵션 B — 다른 단축키 영역 영역 변경 (브라우저 충돌 회피)
`Ctrl+N` 영역 영역 영역 브라우저 영역 영역 영역 영역 영역 영역 가로채기 영역 영역 가능성 영역 영역 → 다른 단축키 (예: `Ctrl+E` / `F2` / `Alt+M` 등) 영역 영역 변경. 한컴 표준 `Ctrl+N+M` 영역 영역 영역 호환 영역 영역 별 단축키 추가.
관련