UNPKG

shell-ahk

Version:

`Lodash`/`jQuery` for `AHK`.

78 lines (61 loc) 2.16 kB
# @ts-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 = ###* @type import('./press').Press1 ### (listInput) -> ###* @type 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 = ###* @type 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 ###* @type 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