shell-ahk
Version:
`Lodash`/`jQuery` for `AHK`.
78 lines (61 loc) • 2.16 kB
text/coffeescript
# -check
import press_click from './click'
import press_includes from './includes'
import press_replace from './replace'
import press_split from './split'
import press_toLowerCase from './toLowerCase'
import press_trim from './trim'
press_formatInputPress =
###* import('./press').Press1 ###
(listInput) ->
###* string[] ###
press_listKey = []
for press_input in listInput
press_ipt = press_toLowerCase press_input
press_ipt = press_replace press_ipt, ' ', ''
press_ipt = press_replace press_ipt, '-', ''
press_listKey.Push (press_split press_ipt, '+')...
return press_listKey
press_validateInputPress =
###* import('./press').Press2 ###
(listInput) ->
unless listInput.Length()
return false
press_key = listInput[0]
if press_includes press_key, '-button'
press_key = press_replace press_key, 'l-button', 'left'
press_key = press_replace press_key, 'm-button', 'middle'
press_key = press_replace press_key, 'r-button', 'right'
press_click press_key
return false
return true
###* import('./press').Press ###
export default (listInput...) ->
unless press_validateInputPress listInput then return
press_listKey = press_formatInputPress listInput
# unfold
press_listResult = []
press_len = press_listKey.Length()
for press_key, press_i in press_listKey
# last
if press_i == press_len - 1
press_listResult[press_i] = press_split press_key, ':'
continue
# other
if press_includes press_key, ':'
press_listResult[press_i] = press_split press_key, ':'
press_listResult[(press_len - 1) * 2 - press_i] = press_split press_key, ':'
else
press_listResult[press_i] = [press_key, 'down']
press_listResult[(press_len - 1) * 2 - press_i] = [press_key, 'up']
# alias & join
for press_it, press_i in press_listResult
if press_it[0] == 'win'
press_it[0] = 'lwin'
press_listResult[press_i] = press_trim "#{press_it[0]} #{press_it[1]}"
# execute
press_result = ''
for press_it in press_listResult
press_result = "#{press_result}{#{press_it}}"
Native 'Send, % press_result'
return