|
1 | | -import browser from 'webextension-polyfill' |
| 1 | +import browser, { browserAction, runtime } from 'webextension-polyfill' |
2 | 2 | import { ReadingToolsMask } from '@/features/readingToolsMask' |
3 | 3 | import { ReadingToolsRuler } from '@/features/readingToolsRuler' |
4 | 4 |
|
@@ -299,6 +299,39 @@ document.addEventListener('keydown', (event) => { |
299 | 299 | ReadingToolsMask.remove() |
300 | 300 | } |
301 | 301 | }) |
| 302 | +// keyboard shortcuts for reading tools |
| 303 | +const map = { r: false, n: false, Control: false, Meta: false, Alt: false } |
| 304 | +document.addEventListener('keydown', (event) => { |
| 305 | + if (event.key in map) { |
| 306 | + ;(map as { [key: string]: boolean })[event.key] = true |
| 307 | + if ((map['Control'] || map['Meta']) && map['Alt']) { |
| 308 | + if (map['r']) { |
| 309 | + if (ReadingToolsRuler.state.enabled) { |
| 310 | + ReadingToolsRuler.remove() |
| 311 | + } else { |
| 312 | + if (ReadingToolsMask.state.enabled) { |
| 313 | + ReadingToolsMask.remove() |
| 314 | + } |
| 315 | + ReadingToolsRuler.add() |
| 316 | + } |
| 317 | + } else if (map['n']) { |
| 318 | + if (ReadingToolsMask.state.enabled) { |
| 319 | + ReadingToolsMask.remove() |
| 320 | + } else { |
| 321 | + if (ReadingToolsRuler.state.enabled) { |
| 322 | + ReadingToolsRuler.remove() |
| 323 | + } |
| 324 | + ReadingToolsMask.add() |
| 325 | + } |
| 326 | + } |
| 327 | + } |
| 328 | + } |
| 329 | +}) |
| 330 | +document.addEventListener('keyup', (event) => { |
| 331 | + if (event.key in map) { |
| 332 | + ;(map as { [key: string]: boolean })[event.key] = false |
| 333 | + } |
| 334 | +}) |
302 | 335 | // end reading tools |
303 | 336 |
|
304 | 337 | // get extension state |
|
0 commit comments