fix(输入法): 消除RTOS和Android文字键盘间距
这个提交包含在:
1 父节点
87aa966a51
当前提交
bce6f8083b
27 个文件已更改
+406
-253
没有与搜索条件相匹配的文件
@@ -2,6 +2,7 @@ import fs from 'node:fs'
|
||||
import vm from 'node:vm'
|
||||
import assert from 'node:assert/strict'
|
||||
import * as engine from '../src/common/ime-engine.js'
|
||||
import {normalizeTheme,themeStyles as stylesForTheme} from '../src/common/ime-theme.js'
|
||||
const ux=fs.readFileSync(new URL('../src/keyboard/index.ux',import.meta.url),'utf8')
|
||||
const source=ux.match(/<script>([\s\S]*?)<\/script>/)[1].replace(/^\s*import .+$/gm,'').replace('export default','module.exports=')
|
||||
let count=0
|
||||
@@ -9,7 +10,7 @@ const closed=[],store=new Map(),timers=new Map();let nextTimer=1,storageFails=fa
|
||||
function check(ok,label){assert.ok(ok,label);count++}
|
||||
function page(params={}){
|
||||
const module={exports:{}}
|
||||
vm.runInNewContext(source,{module,console,...engine,router:{close(p,r){closed.push(r)}},storage:{get:k=>store.get(k),set:(k,v)=>{if(storageFails)throw Error('storage full');store.set(k,v)},delete:k=>store.delete(k)},file:{readText:async({uri})=>fs.readFileSync(new URL('../src'+uri,import.meta.url),'utf8')},setTimeout:fn=>{const id=nextTimer++;timers.set(id,fn);return id},clearTimeout:id=>timers.delete(id),setInterval:fn=>{const id=nextTimer++;timers.set(id,fn);return id},clearInterval:id=>timers.delete(id)})
|
||||
vm.runInNewContext(source,{module,console,...engine,normalizeTheme,stylesForTheme,router:{close(p,r){closed.push(r)}},storage:{get:k=>store.get(k),set:(k,v)=>{if(storageFails)throw Error('storage full');store.set(k,v)},delete:k=>store.delete(k)},file:{readText:async({uri})=>fs.readFileSync(new URL('../src'+uri,import.meta.url),'utf8')},setTimeout:fn=>{const id=nextTimer++;timers.set(id,fn);return id},clearTimeout:id=>timers.delete(id),setInterval:fn=>{const id=nextTimer++;timers.set(id,fn);return id},clearInterval:id=>timers.delete(id)})
|
||||
const p={...module.exports,...JSON.parse(JSON.stringify(module.exports.data)),...params};delete p.data;p.onInit();return p
|
||||
}
|
||||
let p=page();check(p.mode==='t9'&&!p.learning,'T9 large keys, learning opt-in')
|
||||
|
||||
在新工单中引用
屏蔽一个用户