Automatizálások
Használj kész vagy saját szabályokat a billentyűzet gépelés közbeni módosításához a mentett beállítások lecserélése nélkül.
Az állapotszabályok ideiglenes beállításokat alkalmaznak, amíg teljesülnek a feltételeik. Kombinálhatod a tájolást, az ablakszélességet, a megjelenést, a nyelvet, a kiosztást, a beviteli mező tulajdonságait, az időt vagy a bővítmény által deklarált állapotot. Válaszd ki, hogy minden feltételnek vagy bármelyiknek teljesülnie kell-e. Az ismeretlen környezet sosem teljesít negatív feltételt.
Az eseményszabályok a billentyűzet megnyitásakor, a nyelv vagy a mező tulajdonságának változásakor, bővítményeseményre vagy egy parancsikon megérintésére futnak le. A parancsok eseményenként egyszer futnak. Az ideiglenes beállítások a billentyűzet bezárásáig, a szabály módosításáig vagy a munkamenet felülírásainak törléséig maradnak érvényben.
A mentett beállításaid maradnak az alapok
A szabályok az aktuális mentett beállításokra rétegződnek. Húzással módosíthatod a sorrendet; a későbbi szabályok élveznek elsőbbséget. Egy szabály kikapcsolása eltávolítja a módosításait. A mentett változtatások megmaradnak az ideiglenes felülírás végén. A profilművelet ideiglenes, nem választja ki és nem írja át a mentett profilt.
A kompakt beállítás 28 pontos billentyűsorokat és a mentett szélesség 80%-át használja a meglévő mérethatárokon belül. Bekapcsolt osztásnál a kisebb billentyűk nagyobb helyet hagynak a két fél között, és a szélek közelében tartják őket. Az egykezes mód megtartja a saját igazítását. A százalékok mindig a mentett értékből indulnak ki, nem halmozódnak.
Az előnézet az általad megadott mintakörnyezetet használja. Parancsok futtatása nélkül mutatja a teljesülő feltételeket, az érvénytelen hivatkozásokat és a várható beállításokat. Az alkalmazás előnézete különálló az élő billentyűzettől. Add az Automatizálásokat a felső sávhoz, hogy ott lásd az aktív felülírásokat és elindíthasd a parancsikonos szabályokat.
Esemény bekövetkezésekor
Esemény bekövetkezésekor
keyboard.openkeyboard.closekeyboard.languageChangedkeyboard.layoutChangedkeyboard.profileChangedkeyboard.planeChangedinput.changedtime.minuteuser.run
Műveletek
panel.closeplane.lettersplane.numbersplane.symbolsoverrides.clearpanel.emojipanel.calculatorpanel.conversionpanel.layoutspanel.profiles
A kiértékelés aktív billentyűzetnél történik. Az időalapú szabályok nem futnak a háttérben, és a bezárási esemény nem garantált. A Clink nem azonosíthatja a befogadó alkalmazást, és nem módosíthatja az iOS beállításait. A szabályok megtartják a használt funkciók Tagságra, Teljes hozzáférésre és felhasználói érintésre vonatkozó követelményeit. Az importálás nem ad engedélyeket.
A bővítmény szerződése
A .clinkplugin fájl opcionális automation objektuma eseményeket, állapotot, beállításokat, parancsokat, kész szabályokat és parancsikonhelyeket deklarál. Minden elemnek stabil azonosítója, pontos sémaverziója és lokalizált címe van. A gazda hozza létre a plugin/<plugin-id>/<kind>/<id> neveket. Egy bővítmény nem használhat rendszerbeli vagy másik bővítményhez tartozó névteret.
A közzétett állapot, az eseményadatok és a parancsargumentumok logikai értékeket, korlátozott számokat és deklarált választásokat fogadnak el. A beállítások korlátozott hosszúságú szöveget is használhatnak. Az állapot és a beállítások a bővítmény meglévő állapotszótárának kulcsait használják. Az ideiglenes értékek mentés előtt visszaállnak. A kész szabályok közönséges, kikapcsolt szabályok, amelyeket kifejezetten ki kell választani.
Bővítmények ›Horogpontok
| Horogpont | Mikor fut |
|---|---|
on_automation(command, args, state) | Az on_automation(command, args, state) egy jóváhagyott helyi parancsot futtat a meglévő elkülönített környezetben. Frissítheti a szóköz feliratát, közzétehet deklarált állapotot vagy kibocsáthat deklarált eseményt. Ez a hook nem szúrhat be szöveget, nem férhet hozzá a vágólaphoz, nem módosíthat tartós beállítást, és nem indíthat külső kérést. |
automation_emit(name, payload) | Bocsáss ki deklarált eseményt a típusos adataival. A gazda hozzáadja a bővítmény névterét és a sémaverziókat; a szkript nem adhat meg felhasználói gesztust vagy végrehajtási előzményláncot. |
automation_publish(name, value) | Tegyél közzé egy deklarált állapotértéket a feltételekhez. Az értékek eltűnnek a billentyűzet munkamenetének végén vagy a bővítmény elérhetetlenné válásakor. |
automation_run(slot) | A bővítmény natív vezérlőjének műveletkezelőjéből hívd. A felhasználó az Automatizálásokban kapcsolja a deklarált parancsikonhelyet egy szabályhoz. A bővítmény nem választhatja ki titokban a szabályt, és időzítővel sem indíthat érintést igénylő parancsot. |
Műveletek
space_textautomation_emitautomation_publish
Deklarált esemény és biztonságos parancs
Ez a manifesztrészlet egy szokásos bővítményfájl automation mezőjébe kerül. A szkript közzéteszi, hogy készen áll-e a billentyűzet, eseményt bocsát ki és frissít egy feliratot. A szerkesztőben válaszd ki az eseményt, követeld meg a ready állapotot, és válaszd a caption parancsot. A példa elolvasása nem telepít és nem kapcsol be bővítményt.
{
"schemaVersion": 1,
"events": [
{
"id": "ready",
"title": {
"en": "Keyboard ready"
},
"version": 1,
"payload": [
{
"id": "ready",
"key": "ready",
"title": {
"en": "Ready"
},
"version": 1,
"type": "bool",
"choices": [],
"minimum": 0,
"maximum": 100,
"defaultValue": null
}
]
}
],
"state": [
{
"id": "ready",
"key": "ready",
"title": {
"en": "Ready"
},
"version": 1,
"type": "bool",
"choices": [],
"minimum": 0,
"maximum": 100,
"defaultValue": null
}
],
"settings": [
{
"id": "show_caption",
"key": "show_caption",
"title": {
"en": "Show caption"
},
"version": 1,
"type": "bool",
"choices": [],
"minimum": 0,
"maximum": 100,
"defaultValue": true
}
],
"commands": [
{
"id": "caption",
"title": {
"en": "Refresh caption"
},
"version": 1,
"arguments": [],
"behavior": "localUI",
"requiresUserGesture": false,
"requiresFullAccess": false
}
],
"presets": [],
"shortcuts": [
"run"
]
}def initial():
return {"ready": False, "show_caption": True}
def on_open(state):
state["ready"] = True
automation_publish("ready", True)
automation_emit("ready", {"ready": True})
return state
def on_automation(command, args, state):
if command == "caption":
space_text("Clink" if state["show_caption"] else None)
return state
def bar_items(state):
return [bar_button("run", "Run automation", icon="bolt.circle")]
def on_action(action, value, state):
if action == "run":
automation_run("run")
return stateSéma és korlátok
Az 1. verzió 128 szabályt, szabályonként 24 feltételt és 32 műveletet támogat, legfeljebb 1 048 576 bájtos importtal. A beállításjegyzék 268 célt kínál és 39 kizárást dokumentál. Az érvénytelen beállításcsoportot egészben elutasítja; a parancsok az első hibánál megállnak, a korábbi hatások visszavonását nem ígéri.
Az eltávolított, kikapcsolt vagy inkompatibilis bővítményelemek elérhetetlenné teszik a rájuk épülő szabályokat. Az összeomlás és az időtúllépés a munkamenetre letiltja a hibás elemet. A parancsok 20 000 lépést és rövid időkeretet kapnak. Korlátozott sorok, futtatási szünetek, lánckorlátok és állapotstabilizálás akadályozzák meg a végtelen ismétlődést.
Widgetek
A Clink három kezdőképernyős widgetet és egy Live Activityt hoz magával: profilváltót, a gépelési statisztikádat, gyors diktálást, és magát a diktálási munkamenetet.
A widgetek közvetlenül olvassák a megosztott beállításfájlt, így zárt app mellett is működnek.
App Intents
Ma két intent érkezik, és egyik sem nyitja meg az appot. A(z) Switch Keyboard Profile a widgetből írja újra a megosztott beállításokat, és a képernyőn már nyitva lévő billentyűzet azonnal átveszi a változást. A(z) End Dictation a Live Activityből éri el a mikrofonos munkamenetet, és ha kell, a háttérben indítja el az appot.
A saját készítésű profilra váltáshoz Tagság kell, és ez az ellenőrzés a widgeten belül is lefut. A Clinkkel érkező profilok ingyenesek.
A Clink nem határoz meg saját Parancsok-kifejezéseket, így nincs mit hangosan kimondani.
Hivatkozások
A Clink a saját clink URL-sémájára válaszol. Egy hivatkozás az általad megnevezett oldalon nyitja meg az appot, vagy lefuttatja valamelyik fenntartott útvonalat.
| Hivatkozás | Mit csinál |
|---|---|
clink://settings/<page> | Megnyit egy beállítási oldalt. Írd mögé a ?anchor=<id> részt, hogy egy adott soron köss ki. |
clink://<page> | Ugyanaz az oldal, röviden írva. |
clink://search?q=<text> | Megnyitja a keresést kitöltött lekérdezéssel. |
clink://analytics | Megnyitja a gépelési statisztikát. |
clink://dictation/start | Elindít egy diktálási munkamenetet. |
clink://dictation/stop | Lezárja a munkamenetet, és eltünteti a Live Activityt. |
clink://paywall | Megnyitja a Tagságot. |
clink://verify | Újraellenőrzi a tagságodat, ha egy jogosultsági bejegyzés elavult. |
A diktálás, a tagság és az ellenőrzés fenntartott, ezért nem használhatók oldalnévként.
Fájlok megnyitása
A Clink bejegyzi a fájltípusait az iOS-nél, így a Fájlok, az AirDrop, az Üzenetek és bármelyik megosztási lap felajánlja a megnyitásukat a Clinkben.