Pöccintés kézmozdulatai
A Windows Vista nyolc alapvető pöccintő kézmozdulatot tartalmaz. A pöccintések gyors, lineáris tollmozgatások, amelyek görgetési műveletekhez és parancsokhoz kapcsolódnak.
Pöccintés részletei
A pöccintés funkció új módot biztosít a felhasználónak a táblagép pc-jével való interakcióra azáltal, hogy lehetővé teszi a gyakori műveletek végrehajtását gyors kézmozdulatokkal a tollal. A pöccintés együtt létezik a normál felhasználói műveletekkel, például a bal és a jobb koppintással, a görgetéssel és a szabadkézikel.
A pöccintés egy egyirányú tollmozdulat, amely megköveteli, hogy a felhasználó gyors pöccintéssel lépjen kapcsolatba a digitalizálóval. A pöccintés jellemzője a nagy sebesség és a magas fokú egyenesség. A pöccintés az iránya alapján van azonosítva. A pöccintések a kardinális és a másodlagos iránytű irányának megfelelő nyolc irányban végezhetők el.
A művelet vagy pöccintés művelet, a pöccintés hatására végrehajtott művelet vagy parancsikon. A pöccintések műveletekre vannak leképezve. Az alábbi ábra egy nyolc tollvonást ábrázoló diagramot mutat be, amely megfelel a pöccintési műveleteknek.
kézmozdulatot ábrázoló ábrát
Amikor a felhasználó áthelyezi a tollat egy táblagép digitalizálója fölé, a hardver olyan tollcsomagokat hoz létre, amelyek a Táblagép PC-platform tollbemeneti alrendszeréhez lesznek irányítva. Általában, ha a tollat az egér helyettesítőjeként használják, a toll bemeneti alrendszere felveszi ezeket a tollcsomagokat, és – esetleg módosításokkal – elküldi őket az egérbemenet feldolgozásáért felelős Windows-összetevőnek, a User32-nek. Ha a tollat egy szabadkézési felületen használja, akkor a rendszer a szabadkézett elemeket jeleníti meg az egércsomagok létrehozása helyett.
A tollfelismerési rutin a toll bemeneti alrendszerében van implementálva. A pöccintésészlelés tollal lefelé indul, és a következő időpontig folytatódik:
a fogadott csomagok sorozata úgy van meghatározva, hogy nem pöccintés vagy
pen-up történik.
Miközben a pöccintés észlelése történik, a tollcsomagokat a rendszer visszatartja, és nem küldi el a rendszernek. Ezt azért kell megtenni, mert a csomagok küldése megzavarhatja a végrehajtott pöccintés műveletet. Ha például egy másolási műveletre leképezendő pöccintés közben küld csomagokat, az elveti a kijelölt műveletet, ami azt jelenti, hogy a művelet elküldésének időpontjáig semmi sem másolható.
Ahogy a csomagok a toll bemeneti alrendszerébe kerülnek, a villódzás-észlelési rutin kiszámítja a végrehajtott mozgás hosszának, sebességének, idejének és görbületének metrikáit. A beérkező csomagok esetében az észlelési rutin frissíti ezeket a metrikákat. Amint a metrikák bármelyike kívül esik a pöccintésen, a pöccintésészlelés véget ér, és a csomagok át lesznek küldve.
A pöccintések észlelése
A pöccintéses kézmozdulatokat az teszi lehetővé, hogy a húzások általában meglehetősen lassúak. A felhasználónak először meg kell céloznia az húzás kezdőpontját, el kell végeznie a húzást, majd meg kell céloznia a végpontot. Ez általában túl sokáig tart ahhoz, hogy pöccintésnek minősüljön. A szabadkézi felületeken azonban gyakran fordulnak elő gyors tollvonások, amelyek pöccintésnek minősülnek; a "t" keresztezés gyakori példa. Így alapértelmezés szerint a pöccintésészlelés ki van kapcsolva a szabadkézik felületeken, és be van kapcsolva a rendszer egészére.
Fókuszproblémák
A pöccintés észlelése után olyan események sorozata kezdődik el, amelyek végül azt eredményezik, hogy a rendszer végrehajt egy bizonyos műveletet a végrehajtott pöccintésre válaszul. Először is a toll bemeneti alrendszerében található észlelési rutin határozza meg, hogy a pöccintés melyik ablakba legyen elküldve. Ez általában az az ablak, amely a fókuszt, de vannak kivételek. A pöccintések görgetése esetén a pöccintés arra az ablakra kerül, amelyen a pöccintés történt. Vegye figyelembe, hogy ez nem feltétlenül a fókuszban lévő ablak. Ha egy pöccintés olyan ablakba kerül, amely nem rendelkezik fókuszsal, a fókusz nem változik erre az ablakra.
Pöccintési műveletek
A célablak meghatározása után az ablak az alapértelmezett vagy programozott esemény viselkedésétől függően kezelheti magát a pöccintést. Az alkalmazások az alkalmazás és a pöccintés iránya és pozíciója alapján a legmegfelelőbb műveletre válaszolhatnak. Egy leképezési alkalmazásban például a függőleges görgetés helyett a fel- és lefelé irányuló pöccintések nagyíthatnak vagy kicsinyíthetők, ahogy az alapértelmezett viselkedéstől elvárható.
Ha riasztást szeretne küldeni egy alkalmazásnak, hogy pöccintés történt, a rendszer egy ablaküzenetet küld neki. Ez az ablaküzenet a pöccintés kezdőpontját és a pöccintés irányát is tartalmazza. Ha az alkalmazás kezeli ezt az ablaküzenetet, a toll bemeneti alrendszere nem hajt végre további műveletet.
A pöccintés észlelése után megjelenik a pöccintési műveletet jelképező vizuális visszajelzés a képernyőn. Ez a visszajelzés két célt szolgál. Először is megerősíti a felhasználó számára, hogy a pöccintés sikeres volt. Másodszor emlékezteti a felhasználót arra, hogy milyen műveletet hajtottak végre, és segít a felhasználónak összekapcsolni a pöccintés irányát a hozzá tartozó művelettel.
A pöccintés visszajelzése két részből áll; a műveletet jelképező ikon és a művelet nevét tartalmazó címke. A címke az ikon alatt jelenik meg. A visszajelzés közvetlenül a pöccintés észlelése után jelenik meg. Bár az alkalmazások a pöccintési ablak üzenetének kezelésével testre szabhatják a pöccintésekre adott viselkedésüket, az alkalmazás nem tudja letiltani vagy módosítani a pöccintési visszajelzést.
A legtöbb alkalmazás várhatóan nem fog villogni, ezért nem fogja kezelni a fent leírt ablaküzenetet. Ha az üzenet kezelése nem történik meg, a toll bemeneti alrendszere további műveletet hajt végre. Először megkeresi az észlelt pöccintés irányához kapcsolódó műveletet. Ezután lépéseket fog végrehajtani (az alábbi táblázatban leírtak szerint), hogy a célablak végrehajtsa ezt a műveletet. Sok pöccintési művelet esetében ez egy alkalmazásparancs elküldésével jár, de bizonyos implementált műveletek nem.
Alkalmazásparancsok feldolgozása
Az alkalmazásnak válaszolnia kell az összes olyan alkalmazásparancsra, amely egy pöccintéses kézmozdulathoz rendelhető. Ha egy alkalmazás nem válaszol az WM_TABLET_FLICK üzenetre, a Windows Vista a vonatkozó WM_APPCOMMAND értesítés elküldésével, majd egy WM_KEYDOWN értesítéssel követi nyomon.
Az alábbi lista azoknak az alkalmazásparancsoknak a listáját tartalmazza, amelyek a pöccintésekhez rendelhetők, és a biztonsági mentési billentyűleütés üzenete elküldhető.
Parancs | Biztonsági mentési billentyűleütés |
---|---|
APPCOMMAND_BROWSER_BACKWARD |
Egyik sem |
APPCOMMAND_BROWSER_FORWARD |
Egyik sem |
APPCOMMAND_COPY |
Ctrl+C |
APPCOMMAND_PASTE |
Ctrl+V |
APPCOMMAND_UNDO |
Ctrl+Z |
APPCOMMAND_DELETE |
Del |
APPCOMMAND_CUT |
Ctrl+X |
APPCOMMAND_OPEN |
Ctrl+O |
APPCOMMAND_PRINT |
Ctrl+P |
APPCOMMAND_SAVE |
Ctrl+S |
APPCOMMAND_REDO |
Ctrl+Y |
APPCOMMAND_CLOSE |
Az olyan szerkesztési parancsok, mint a Másolás, Beillesztés, Kivágás és Törlés, egy kijelölésre vagy a pöccintési kézmozdulat alapjául szolgáló objektumra irányíthatók. Ha nincs kijelölés, a FLICK_POINT Struktúra adataival megállapíthatja, hogy mi lehetett a szerkesztési parancs célja, ha van ilyen.