使用键盘点击的方式实现输入英文或数字

发布于 2020-12-22 11:19:00
-- 字母映射表
abcMap = {
  -- 字母 = 坐标
  a = {76, 1064},
  b = {445, 1173},
  c = {300, 1178}
}

-- 数字映射表
numMap = {
  toggle = {42, 1284},
  ["1"] = {44, 972},
  ["2"] = {109, 966},
  ["3"] = {191, 964}
}

function tap(x, y)
  touch.down(0, x, y)
  sys.sleep(100)
  touch.up(0)
end

-- 点击键盘输入英文或数字
function input(s)
  for i = 1, #s do
    local ch = s:sub(i, i)
    sys.log(ch)
    if tonumber(ch) then
      -- 如果点击的是数字, 先切换至数字键盘
      tap(numMap.toggle[1], numMap.toggle[2])
      sys.sleep(1000)
      local pos = numMap[ch]
      if pos then
        tap(pos[1], pos[2])
      end
      -- 切换回字母键盘
      tap(numMap.toggle[1], numMap.toggle[2])
    else
      local pos = abcMap[ch]
      if pos then
        tap(pos[1], pos[2])
      end
    end
    sys.sleep(1000)
  end
end

function main()
  input("abc123")
end
0 条评论

发布
问题