Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- From watchface; https://getwatchmaker.com/watch/sBkBU7ny1L
- -- wm_action('m_task:WMDisableCUS')
- -- var_numbers = 48,57
- -- var_lower = 97,122
- -- var_upper = 65,90
- var_ms_display = ''
- var_ms_char_mode = 1
- var_pad = nil
- var_ms_ckey = nil
- var_ms_timer = 0
- var_ms_pm = 1
- var_numbers = {}
- var_lower = {}
- var_upper = {}
- var_add = 0
- var_case = 0
- var_ms_lastkey = nil
- function reset()
- var_ms_display = ''
- var_ms_char_mode = 1
- var_pad = nil
- var_ms_ckey = nil
- var_ms_timer = 0
- var_ms_pm = 1
- var_add = 0
- last = nil
- var_case = 0
- var_ms_lastkey = nil
- end
- -- Map letters/numbers to tables the easy way
- function make_tables()
- run = 1
- for num=48,57,1 do
- var_numbers[run] = num
- run = run + 1
- end
- run = 1
- for up=65,90,1 do
- var_upper[run] = up
- run = run + 1
- end
- run = 1
- for lo=97,122,1 do
- var_lower[run] = lo
- run = run + 1
- end
- end
- make_tables()
- -- Attempt a timer for key input
- function input_delay(nkey)
- if {dsps} - tonumber(last) < 700 then
- var_ms_pm = 1
- else
- var_ms_pm = 2
- end
- if var_ms_pm == 2 then
- var_add = 0
- var_ms_display = var_ms_display .. var_ms_ckey
- var_ms_ckey = nil
- var_ms_char_mode = 1
- var_case = 0
- var_ms_lastkey = nil
- end
- end
- function charmode(mod)
- var_ms_char_mode = var_ms_char_mode%mod+1
- if var_ms_char_mode == mod then
- var_case = 1-(var_case%2)
- else
- -- var_case = 0
- end
- end
- function keypad(key)
- if var_ms_lastkey == nil or var_ms_lastkey == key then
- last = {dsps}
- var_add = 1
- if key == 0 and var_ms_char_mode == 1 then
- var_ms_ckey = '0'
- charmode(1)
- end
- if key == 1 and var_ms_char_mode == 1 then
- var_ms_ckey = '1'
- charmode(4)
- elseif key == 1 and var_ms_char_mode == 2 then
- var_ms_ckey = ' '
- charmode(4)
- elseif key == 1 and var_ms_char_mode == 3 then
- var_ms_ckey = ','
- charmode(4)
- elseif key == 1 and var_ms_char_mode == 4 then
- var_ms_ckey = '.'
- charmode(4)
- end
- if key == 2 and var_ms_char_mode < 4 then
- if var_case == 0 then
- var_ms_ckey = string.char(var_lower[var_ms_char_mode])
- elseif var_case == 1 then
- var_ms_ckey = string.char(var_upper[var_ms_char_mode])
- end
- charmode(4)
- elseif key == 2 and var_ms_char_mode == 4 then
- var_ms_ckey = '2'
- charmode(4)
- end
- if key == 3 and var_ms_char_mode < 4 then
- if var_case == 0 then
- var_ms_ckey = string.char(var_lower[3+var_ms_char_mode])
- elseif var_case == 1 then
- var_ms_ckey = string.char(var_upper[3+var_ms_char_mode])
- end
- charmode(4)
- elseif key == 3 and var_ms_char_mode == 4 then
- var_ms_ckey = '3'
- charmode(4)
- end
- if key == 4 and var_ms_char_mode < 4 then
- if var_case == 0 then
- var_ms_ckey = string.char(var_lower[6+var_ms_char_mode])
- elseif var_case == 1 then
- var_ms_ckey = string.char(var_upper[6+var_ms_char_mode])
- end
- charmode(4)
- elseif key == 4 and var_ms_char_mode == 4 then
- var_ms_ckey = '4'
- charmode(4)
- end
- if key == 5 and var_ms_char_mode < 4 then
- if var_case == 0 then
- var_ms_ckey = string.char(var_lower[9+var_ms_char_mode])
- elseif var_case == 1 then
- var_ms_ckey = string.char(var_upper[9+var_ms_char_mode])
- end
- charmode(4)
- elseif key == 5 and var_ms_char_mode == 4 then
- var_ms_ckey = '5'
- charmode(4)
- end
- if key == 6 and var_ms_char_mode < 4 then
- if var_case == 0 then
- var_ms_ckey = string.char(var_lower[12+var_ms_char_mode])
- elseif var_case == 1 then
- var_ms_ckey = string.char(var_upper[12+var_ms_char_mode])
- end
- charmode(4)
- elseif key == 6 and var_ms_char_mode == 4 then
- var_ms_ckey = '6'
- charmode(4)
- end
- if key == 7 and var_ms_char_mode < 5 then
- if var_case == 0 then
- var_ms_ckey = string.char(var_lower[15+var_ms_char_mode])
- elseif var_case == 1 then
- var_ms_ckey = string.char(var_upper[15+var_ms_char_mode])
- end
- charmode(5)
- elseif key == 7 and var_ms_char_mode == 5 then
- var_ms_ckey = '7'
- charmode(5)
- end
- if key == 8 and var_ms_char_mode < 4 then
- if var_case == 0 then
- var_ms_ckey = string.char(var_lower[19+var_ms_char_mode])
- elseif var_case == 1 then
- var_ms_ckey = string.char(var_upper[19+var_ms_char_mode])
- end
- charmode(4)
- elseif key == 8 and var_ms_char_mode == 4 then
- var_ms_ckey = '8'
- charmode(4)
- end
- if key == 9 and var_ms_char_mode < 5 then
- if var_case == 0 then
- var_ms_ckey = string.char(var_lower[22+var_ms_char_mode])
- elseif var_case == 1 then
- var_ms_ckey = string.char(var_upper[22+var_ms_char_mode])
- end
- charmode(5)
- elseif key == 9 and var_ms_char_mode == 5 then
- var_ms_ckey = '9'
- charmode(5)
- end
- if key == 'del' then
- var_ms_display = string.sub(var_ms_display,1,string.len(var_ms_display)-1)
- var_ms_lastkey = nil
- var_ms_ckey = nil
- end
- else
- setkey()
- keypad(key)
- end
- if key >= 0 and key <= 9 then
- var_ms_lastkey = key
- end
- end
- function setkey()
- var_add = 0
- var_ms_display = var_ms_display .. var_ms_ckey
- -- var_ms_ckey = nil
- var_ms_char_mode = 1
- var_case = 0
- var_ms_lastkey = nil
- end
- function on_millisecond(dt)
- if var_add == 1 then
- input_delay()
- else
- var_ms_char_mode = 1
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement