Skip to content

Commit

Permalink
refactor: update usekeypress functions
Browse files Browse the repository at this point in the history
  • Loading branch information
bcakmakoglu committed Oct 20, 2021
1 parent 3557284 commit fec2ef4
Showing 1 changed file with 11 additions and 12 deletions.
23 changes: 11 additions & 12 deletions src/hooks/useKeyPress.ts
Original file line number Diff line number Diff line change
@@ -1,40 +1,39 @@
import { Ref } from 'vue'
import { KeyCode } from '../types'
import { controlledRef, onKeyStroke, useEventListener } from '@vueuse/core'
import { onKeyDown, onKeyPressed, onKeyUp } from '@vueuse/core'
import { KeyCode } from '~/types'

export default (keyCode?: KeyCode, cb?: (keyPress: boolean) => void): Ref<boolean> => {
export default (keyCode: KeyCode, cb?: (keyPress: boolean) => void): Ref<boolean> => {
const keyPressed = controlledRef<boolean>(false, {
onBeforeChange(val, oldVal) {
if (val === oldVal) return false
},
onChanged() {
if (cb && typeof cb === 'function') cb(keyPressed.value)
}
},
})

onKeyStroke(
(event) => event.key === keyCode || event.keyCode === keyCode,
onKeyPressed(
(e) => e.key === keyCode || e.keyCode === keyCode,
(e) => {
e.preventDefault()
keyPressed.value = true
},
{ eventName: 'keypress' }
)
onKeyStroke(
(event) => event.key === keyCode || event.keyCode === keyCode,

onKeyDown(
(e) => e.key === keyCode || e.keyCode === keyCode,
(e) => {
e.preventDefault()
keyPressed.value = true
},
{ eventName: 'keydown' }
)
onKeyStroke(

onKeyUp(
(event) => event.key === keyCode || event.keyCode === keyCode,
(e) => {
e.preventDefault()
keyPressed.value = false
},
{ eventName: 'keyup' }
)

useEventListener(window, 'blur', () => {
Expand Down

0 comments on commit fec2ef4

Please sign in to comment.