MASARYKOVA UNIVERZITA, FAKULTA INFORMATIKY
Bakalářská práce
Koncepce ovládání PC tělesně postiženými Petr Olejník
Brno, jaro 2006
Prohlášení Prohlašuji, že tato práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj.
Vedoucí práce: Doc. RNDr. Ivan Kopeček, CSc.
Shrnutí Práce pojednává v první části o alternativních možnostech ovládání počítače osobami s různými formami tělesného postižení. Popisuje softwarové i hardwarové prostředky, které mají handicapovaným lidem buď jen usnadnit nebo zcela umožnit práci na počítači. Druhou částí práce je popis aplikace DoubleButton, která byla vytvořena na míru pro pacienta s jen malými motorickými schopnostmi, u něhož ovládání počítače standardními prostředky nebylo předtím vůbec možné.
Poděkování Rád bych na tomto místě poděkoval vedoucímu své práce panu Ivanu Kopečkovi za jeho rady s vypracováním práce. Dále pak Ludmile Benadové a Romanu Tomečkovi, kteří mi poskytli pohled uživatele na program DoubleButton, panu Otu Fučíkovi za pomoc s návrhem zapojení spínačů na sériový port pro tento program a v neposlední řadě svému otci Miroslavu Olejníkovi za pomoc s konstrukcí těchto spínačů.
Klíčová slova
ovládání počítače, tělesně postižení, handicap, kompenzační pomůcky, tlačítko, spínač
Obsah 1.
Úvod ............................................................................................................................. 6
2.
Specifikace termínu „tělesně postižení“ ................................................................... 7
3.
Softwarové a hardwarové podpory ovládání počítače ............................................ 8 3.1. Podpora v grafických rozhraních operačních systémů ........................................ 8 3.1.1. Úprava pracovního prostředí ........................................................................ 9 3.1.2. Nastavení myši a klávesnice....................................................................... 10 3.2. Software usnadňující ovládání počítače............................................................. 12 3.3. Hardware usnadňující ovládání počítače........................................................... 14
4.
Program DoubleButton............................................................................................ 16 4.1. Úvod.................................................................................................................... 16 4.2. Analýza případu.................................................................................................. 16 4.3. Návrh a realizace technické stránky................................................................... 17 4.3.1. Zapojení jednoho spínače ........................................................................... 18 4.3.2. Zapojení dvou spínačů................................................................................ 18 4.3.3. Konstrukce spínačů..................................................................................... 20 4.4. Návrh a realizace softwaru................................................................................. 21 4.4.1. Definice použití .......................................................................................... 21 4.4.2. Rozhraní programu ..................................................................................... 24 4.4.3. Možnosti nastavení ..................................................................................... 26 4.4.4. Programování.............................................................................................. 26 4.5. Nedostatky aplikace DoubleButton .................................................................... 29 4.6. Praktický přínos a závěr ..................................................................................... 30
Použitá literatura.............................................................................................................. 31 Přílohy................................................................................................................................ 32
5
1. Úvod V dnešní době tvoří lidé s různými formami a stupni tělesného postižení nemalé procento společnosti. Pryč jsou už doby, kdy pro svůj handicap byli tělesně postižení automaticky vyřazováni ze společnosti s tím, že jí nemají co nabídnout nebo že by pro ni byli přílišnou přítěží. Současným trendem se stává maximální možné začleňování těchto lidí do společnosti, a to různými způsoby, z nichž většina má jedno společné – snaží se, aby mezi postiženým a zdravým člověkem byl co nejmenší rozdíl. Jinými slovy odstraňují se bariéry. Toho se dosahuje tím, že je postižený jedinec co nejméně závislý na přímé pomoci druhých. Kvůli omezením daným jejich postižením je handicapovaným lidem znesnadněno nebo zcela znemožněno provádění nejedné činnosti. Často se jedná o činnosti, které zdravý člověk vnímá jako samozřejmé nebo rutinní. Pro postiženého se takové „rutiny“ mohou stát nepřekonatelnou překážkou, což mu život nejen komplikuje, ale může to pro něj být i značně frustrující. Proto postižení používají různé pomůcky, které jim mají pomoct tyto překážky překonat. Nejznámějšími jsou například kolečkové křeslo nebo bílá slepecká hole, ale všichni známe i běžnější pomůcky jako berle, dioptrické brýle či naslouchadlo. Ne vždy lze sice překážky zdolat zcela plnohodnotným a zdaleka ne pohodlným způsobem, ale i sebemenší úspěch je pro postiženého jedince velice důležitý. Již nezbytnou součástí moderního života se dnes stávají počítače a výpočetní technika. Tyto vymoženosti doby nabízejí širokou škálu služeb, pomoci a zábavy. Málokdo si dnes umí představit, že by se zcela obešel bez osobního počítače ať už doma nebo v zaměstnání. Postižení lidé samozřejmě nechtějí být o možnosti, které jim počítač může nabídnout, ochuzeni. Proto se vyrábí mnoho technických pomůcek a programového vybavení, které mají postiženým využívání počítače usnadnit. V nemálo případech tyto pomůcky dokonce počítač nebo jeho části zpřístupní lidem, kteří používat počítač předtím nebyli schopni vůbec. Druhů postižení je však celá řada a můžeme říct, že pro každý druh handicapu je potřeba jiný druh kompenzační pomůcky. Vytváří se široká škála výrobků a softwarových produktů, které mají usnadnit počítač vidět, slyšet a ovládat. Trh s těmito výrobky tak může nabývat nemalých měřítek. Zatím tomu tak podle mého názoru příliš není a některá řešení mohou svou cenou značně převýšit finanční možnosti handicapovaného člověka nebo jeho rodiny. Mým názorem však je, že v současné době, kdy se počítače staly opravdu masovou záležitostí a stávají se běžným vybavením domácností, se více rozvine i trh s kompenzačními pomůckami.
6
2. Specifikace termínu „tělesně postižení“ Pod pojmem „tělesně postižený“ si většina lidí představí člověka na invalidním vozíku nebo zcela nemohoucího člověka upoutaného na lůžko. Pojetí tělesně postiženého však zde chápu v mnohem širším kontextu. Jako tělesně postiženého vidím v této bakalářské práci každého člověka, kterému jeho vrozená nebo získaná vada na těle brání užívání počítače takovým způsobem, jakým to provádějí lidé zdraví. Jako postižený tedy nemusí být chápan jenom člověk ochrnutý nebo bezruký, ale i člověk, který má špatnou kontrolu nad svaly nebo mu chybí článek ukazováčku. V této práci hovořím převážně o vadách tělesných, tedy ne zrakových, sluchových nebo mentálních, i když přiznávám, že úskalí, které tyto druhy vad přinášejí, spolu někdy úzce souvisí a shodná může být i cesta k jejich překonání. Tělesná postižení vznikají daleko častěji než u jiných druhů postižení v důsledku úrazu. Psychologický dopad na takto zasaženého jedince a jeho okolí je tím ještě horší. Člověk, který se během okamžiku stane nepohyblivým nebo jinak těžce postiženým, se s náhlou změnou vyrovnává velmi obtížně. Proto je velmi důležité co nejdříve zbořit co nejvíce bariér, abychom mu ukázali, že život pro něj zdaleka neskončil. Jednou z takových bariér je samozřejmě i ovládání počítače. Tělesná postižení se dělí do tří základních skupin [5]: Postižení nervové soustavy Nervová soustava může být postižena buď v důsledku vrozené nemoci (mozková obrna, roztroušená skleróza, artritida, ...), anebo v důsledku nemoci získané (malárie, borelióza...). Často se však jedná o postižení v důsledku poranění míchy nebo mozku při úrazu nebo mrtvici. Deformace Deformace je nepřirozený tvar nebo uspořádání částí lidského těla, který může opět vzniknout v důsledku úrazu nebo jako následek nemoci. Amputace Amputací se rozumí úplná ztráta části lidského těla. Dnes už sice existují protézy, které části lidských končetin dokáží nahradit, ale stále nejsou zdaleka tak dokonalé jako lidské originály.
7
3. Softwarové a hardwarové podpory ovládání počítače V současnosti již existuje celá řada usnadnění, která mají postiženým pomoci ovládat nebo zpřístupnit počítač. Některá základní zpřístupnění poskytují už samotná rozhraní operačních systémů. Ta však poskytují jen minimálně nezbytnou úroveň funkcionality pro handicapované uživatele. Pro vážnější a hlavně pohodlnější práci s počítačem je proto lepší využít spíše komerční produkty. Jejich cena bývá mnohdy poněkud vysoká, ale někdy (pokud jde o software) je jen taková, aby pokryla distribuční náklady.
3.1. Podpora v grafických rozhraních operačních systémů Grafická rozhraní operačních systémů (tzv. GUI) dnes nabízejí poměrně mnoho funkcí, které mají usnadnit ovládání osobám se specifickými nároky. Tyto softwarové pomůcky jsou většinou zdarma obsaženy už v základních verzích operačního systému. To je velice příjemný fakt, protože postižený má s pořízením operačního systému automaticky zajištěnu i jeho plnou ovladatelnost. Jeho handicap mu však musí pořád dovolit používat klávesnici nebo myš i když třeba jen v omezené míře. Následující text podává krátký přehled usnadnění ovládání pro handicapované uživatele u nejznámějších operačních systému, resp. jejich grafických rozhraní (konkrétně jsem zkoumal možnosti systémů Microsoft Windows [1], Mac OS X [2] a okenní manažery Linuxových operačních systémů KDE [3] a Gnome [10]). Většinou se jedná o funkce nebo programy, které jsou podobné nebo zcela shodné u všech zmíněných systémů a okenních manažerů. Proto je zde uvedu všechny najednou. I když tato práce pojednává o ovládání počítačů tělesně postiženými, pro úplnost uvedu všechno, co operační systémy a jejich grafická rozhraní nabízejí, tedy jak usnadnění pro tělesně postižené, tak i pro nevidomé, slabozraké, neslyšící apod. Nabízená podpora spočívá většinou v možnosti individuálně nastavit pracovní prostředí operačního systému a způsob jeho ovládání. Dále některé systémy obsahují i několik samostatných programů, které mají ovládání počítače usnadnit.
8
3.1.1. Úprava pracovního prostředí Pracovní prostředí lze vzhledově upravit, čímž zlepšíme optickou viditelnost a rozpoznatelnost jednotlivých prvků na obrazovce. Při standardním zobrazení mohou mít totiž handicapovaní uživatelé problémy se čtením některých textů nebo rozpoznáváním grafických elementů, které se na obrazovce vyskytují. Uvedu zde nastavení, o kterých si myslím, že mohou ovládání počítače slabozrakým aspoň trochu usnadnit. Nastavení vzhledu oken Standardní vzhled oken je upraven většinou tak, aby jednotlivá okna sdělovala svou informaci na co nejmenší ploše a přitom jejich vzhled působil příjemně a neunavoval zrak. To znamená použití menší velikosti písma pokud možno barvy ne příliš kontrastní s barvou pozadí. Pro běžného uživatele se zdravým zrakem není problém informaci v takové formě zpracovat, ale pro špatně vidícího člověka je to mnohdy obtížnější. Proto lze vzhled oken nastavit tak, aby uživatel s horším zrakem lépe rozpoznal jednotlivá písmena a grafické prvky na obrazovce. Na prvním obrázku vidíme běžné nastavení. Písmo je drobné a barva textu a pozadí (černá a šedá) nejsou vůči sobě příliš kontrastní, což je účelné, poněvadž takové nastavení je pro běžného uživatele velmi pohodlné a příjemné na pohled. Na druhém obrázku je vzhled, který většinu lidí odradí. Je totiž příliš agresivní a na obrazovce zabírá příliš mnoho místa. Právě velikost písma a kontrastní provedení ho však činí dobře čitelným i pro osoby se zrakovými problémy.
obr. 1 – ukázka klasického vzhledu v prostředí Windows
obr. 2 – ukázka dobře čitelného vzhledu i pro osoby se slabším zrakem
9
Tyto úpravy však pro slabozrakého spásu mnohdy neznamenají. V tom případě jsou už spíše potřeba softwarové nástroje (např. softwarová lupa). Buď některé z dodávaných společně se systémem nebo komerční produkty. Rozlišení obrazovky Možnost volby rozlišení se může zdát jako vlastnost, která ovládání počítače nemůže nijak usnadnit. Avšak při použití velkého rozlišení obrazovky jsou grafické prvky na obrazovce někdy až příliš malé. Snížením rozlišení sice na jednu stranu zmenšíme rozměr pracovní plochy, ale všechny ikony a texty budou větší, a tím i lépe viditelné. Prohlížení internetových stránek Některé Internetové stránky používají příliš špatně čitelné písmo (příliš drobné, nevýrazné). Je proto mnohdy užitečné vypnout zobrazování textu ve formátování daném zobrazovanou stránkou nebo využít nabídky formátovat stránku podle vlastní definice. Kurzor pro psaní textu Lze nastavit rychlost blikání kurzoru pro psaní textu a rovněž tak jeho velikost, díky čemuž bude kurzor v textu lépe viditelný. Zobrazení zvuků Operační systém občas podá uživateli informaci ve zvukové podobě. Např. při chybě vydá pípnutí nebo po skončení operace vydá zvuk, který toto oznamuje. Neslyšící nebo špatně slyšící uživatelé tyto informace nemohou přijímat. Řešením jsou různé funkce, které na výskyt zvuku upozorní grafickou cestou, např. probliknutím obrazovky nebo právě aktivního okna.
3.1.2. Nastavení myši a klávesnice Klasická klávesnice a myš jsou periférie, jejichž ovládání vyžaduje poměrně jemnou motoriku ze strany uživatele. S tím mohou mít někteří lidé s vadami pohybové soustavy problémy. Především pro ně jsou určena usnadnění, která mění způsob používání počítačové klávesnice a myši. Nastavení rychlosti dvojkliku tlačítka myši Možnost nastavit rychlost tzv. dvojkliku usnadní tento úkon uživatelům, kteří nemají v prstech dostatečný cit, aby byli schopni provést tak jemnou operaci, jako je klik, dvakrát rychle za sebou.
10
Řešení operace „drag and drop“ Další problematickou operací je tzv. drag and drop neboli táhnutí myši, kterou se přesunují objekty, označuje text apod. Někomu může totiž činit potíže držet tlačítko myši a zároveň s ní pohybovat. Tento problém je řešen funkcí, která je většinou nazvaná ClickLock. Funguje tak, že začátek operace drag and drop uživatel uvozuje delším stiskem tlačítka (podle nastavení) a zakončuje druhým delším stiskem. Ovládání myši pomocí klávesnice Někteří uživatelé mohou mít problémy s pohybem myši. Pro ně je určena možnost posouvat kurzor po obrazovce pomocí kláves na numerické klávesnici. Většinou tato možnost obsahuje i zrychlení pohybu kurzoru po uplynutí časového intervalu nebo po stisku jiné klávesy. Viditelnost kurzoru Kurzor má většinou podobu malé bílé nebo černé šipky. Takto vyvedený kurzor může jít špatně rozpoznat od pozadí, na kterém se vyskytuje. Je proto umožněno zvolit si tvar kurzoru. Kurzory lze vytvářet nebo je možno jich stáhnout tisíce z Internetu. Zajímavou funkcí je také zobrazování stopy za pohybujícím se kurzorem, čímž lze lépe vidět, kam se pohybuje. Poslední funkcí, kterou zde uvedu, je zobrazení pozice kurzoru pomocí soustředných kruhů na obrazovce stiskem některé klávesy.
obr. 3 – ukázka malého a velkého kurzoru Opakování stisku klávesy Standardní je možnost nastavení chování při delším stisku klávesy na klávesnici. Lze nastavit dobu, za jakou se bude stisk klávesy „opakovat“, a taky rychlost opakování. V extrémních případech je někdy vhodné opakování kláves zcela vypnout. To pro případy, kdy je zvednutí stisknuté klávesy pro uživatele obtížnější a trvá delší dobu. Význam tohoto nastavení je podobný jako u dvojkliku tlačítka myši. Používání klávesy CTRL, SHIFT apod. Klávesy jako ALT, CTRL, SHIFT nebo jiné funkční klávesy fungují tak, že se drží stisknuté a k tomu se stiskne jiná klávesa. To může opět činit některým uživatelům obtíže. Lze tedy využít funkce většinou pojmenované jako StickyKeys (v překladu „lepivé klávesy“). Při zapnutí této funkce se tyto klávesy nepoužívají v kombinaci s ostatními klávesami, ale v sekvenci bez nutnosti klávesu držet. Stačí tedy klávesu jednou stisknout, poté stisknout druhou a tím se provede požadovaná akce.
11
Filtrování stisků kláves Handicapovaným uživatelům se může stávat mnohem častěji než zdravým uživatelům, že se překlepnou. Klávesy jsou totiž poměrně malé a někdy nemusí být lehké „zasáhnout“ tu správnou a nestisknout při tom žádnou jinou v jejím okolí. Takové překlepy a chybné stisky lze částečně odfiltrovat. Např. tím, že se budou akceptovat pouze stisky, které trvaly určitý časový interval (např. půl sekundy).
3.2. Software usnadňující ovládání počítače Softwarové aplikace mají většinou nějakým způsobem usnadnit používání standardní myši a klávesnice. Nebo umožnit ovládání jednoho pomocí druhého. Dále pak mohou sloužit ke snadnějšímu a rychlejšímu psaní textu.
Rozpoznávání hlasu Rozpoznávání a syntéza řeči je dnes velice rozšířené odvětví informatiky. Jeho popis by vydal na několik knih, proto uvedu jen přínosy, které mohou tělesně postižení využít. Standardním vstupem počítače je klávesnice a myš. Díky rozpoznávání řeči však může uživatel počítači příkazy sdělovat přímo ve formě, která je mu nejvíce vlastní - řečí. Stejně tak může počítači diktovat text. Odpadá tak nutnost používat ruce k ovládání klasických periférií a počítač ovládat pouze hlasem. To ocení především lidé, kteří myš a klávesnici použít nemohou nebo mohou jen s velkými obtížemi (např. kvadruplegici). Programy, které rozpoznávají uživatelovu řeč, jsou ve směs dvojího druhu. První rozpoznává několik málo příkazů, které si uživatel může i předem sám namluvit. Protože je takových příkazů nanejvýš několik desítek, program je úspěšnější ve správném rozpoznání příkazu. Druhou skupinou jsou programy, které většinou slouží k zapisování diktovaného textu. Ty musí obsahovat slovník tisíců slov. Proto se musí program nejdřív „natrénovat“ na konkrétní hlas tím, že mu uživatel přečte zadaný text. Tím se sníží chybovost programu. Obrazovkové klávesnice Další možností jak nahradit klávesnici je zobrazit její obrázek na obrazovce a na něm nějakým způsobem vybírat klávesy, které se mají stisknout. Většinou např. myší nebo speciální periférií (různými joysticky apod.), kterou se po jednotlivých klávesách uživatel pohybuje. Tak je tomu i v případě našeho programu DoubleButton. Další možností může být tzv. skenování. To slouží většinou při možnosti ovládat pouze jedno tlačítko. Klávesy nebo skupiny kláves (např. řádky na
12
klávesnici) se cyklicky mění a když je dosaženo požadované klávesy a uživatel stiskne tlačítko, je tím tato klávesa vybrána.
obr. 4 – ukázka obrazovkové klávesnice, program SofType 4.2 [8]
Emulátory myši Pro uživatele, kteří nejsou schopni plnohodnotně používat myš, je vytvořeno mnoho programů, které toto usnadňují. Už bylo zmíněno, že i některé operační systémy nabízejí ovládání myši pomocí klávesnice. Jiný program může simulovat kliknutí tlačítka nebo jinou operaci, pokud je kurzor delší dobu např. nad nějakou ikonou. Takovým aplikacím se říká dwell software. Psaní textu Všechny předešlé programy slouží většinou k emulaci klávesnice nebo myši, a tím zpřístupňují ovládání klávesnice. Pokud však uživatel potřebuje psát delší text, tyto pomůcky zaostávají. Pro tento případ jsou tu aplikace, které usnadňují psaní textu. Jedná se například o už zmíněné diktování textu. Dále může jít o různé systémy prediktivního psaní textu (např. v mobilních telefonech dobře známý systém T9). Tyto systémy nabízejí možná zakončení již rozepsaného slova, a tím snižují počet stisků kláves, které jsou samozřejmě provedeny alternativní cestou.
obr. 5 – prediktivní psaní textu, program KeyStrokes 3.6 [4]
13
3.3. Hardware usnadňující ovládání počítače K usnadnění ovládání počítače slouží i řada prostředků, které mají nahradit klasickou klávesnici a myš nebo usnadnit jejich použití. Některé jsou součástí jednotlivých programů (např. takových, které používají jedno tlačítko).
Klávesnice Postižení často využívají pomůcky, které jim usnadňují ovládání klasické klávesnice. Může se jednat o různé tyčinky, které uživatel drží v ústech, nebo třeba speciální kryt klávesnice s otvory pro každou klávesu, který pomáhá lépe vést prst na požadovanou klávesu a snižuje tak riziko překlepu. Dále jsou to všemožné druhy speciálních klávesnic. Například klávesnice s klávesami dvakrát většími než mají obyčejné klávesnice, nebo naopak menší klávesnice, které obsahují jen několik hlavních kláves, barevné klávesnice s velkými a kontrastními znaky na klávesách či speciální programovatelné klávesnice [9]. Myš Složité ovládání myši činí postiženým mnohdy problémy. Proto mohou místo ní použít např. trackball, na němž pouze otáčí kuličkou. Dále lze použít i speciální myš, která je ovládána pohybem nohou, tzv. foot mouse. Myš lze svým způsobem nahradit i pomocí dotykových obrazovek.
obr. 6 – velký trackball se dvěma tlačítky
14
Další alternativní periférie Pohyb kurzoru po obrazovce však nemusí být přenášen pouze z pohybu myši nebo speciální myši. Pro uživatele, kteří jsou ochrnutí ve větší míře, slouží několik druhů zařízení, která využívají pohybů, kterými tito uživatelé ještě disponují. Tyto pohyby pak vyhodnocují a převádějí na pohyb myši a klikání tlačítek. Jedná se např. o snímání pohybů hlavy. Senzorům, které takto fungují, většinou pomáhá nějaký reflexní bod přilepený na pacientově čele, jehož pohyby senzor snímá. Další možností je ovládání počítače dechem. Jedná se buď o speciální trubičku, do které uživatel fouká nebo z ní vzduch „saje“, a nebo je to pás obepnutý kolem hrudi, který snímá, jak moc je hrudník nadmutý.
obr. 7 – ovládání počítače dechem
Avšak nejznámějším a v poslední době populárním systémem je sledování očních pohybů. K monitoru nebo na brýle se připevní malá kamera, která tyto pohyby s velkou přesností snímá a převádí je na pohyb kurzoru po obrazovce. Mrknutím uživatel provede klik. Tento systém je velmi významný, protože oční svaly jsou poslední, které jsou při ochrnutí poškozeny. Pro mnoho pacientů je tak hýbání očima jediná možnost pohybu. Dnes jsou již známy i systémy, které snímají mozkovou aktivitu uživatele (tzv. mozkové vlny). Toho pak využívají např. k ovládání počítače. Nedokážu posoudit, nakolik jsou tyto systémy spolehlivé a účinné, avšak je to způsob, díky kterému by mohla počítač ovládat i osoba zcela ochrnutá.
15
4. Program DoubleButton 4.1. Úvod Program DoubleButton slouží k ovládání počítače s operačním systémem Microsoft Windows pouhými dvěma tlačítky, která jsou zapojena na sériový port počítače. Tento způsob řešení vznikl na základě požadavku cílového uživatele. Tím je Roman Tomeček z Olomouce. Roman je po nehodě téměř zcela ochrnutý. Seznámila mne s ním kamarádka Ludmila Benadová, která studuje na VOŠ Caritas v Olomouci obor charitativní a sociální práce a u Romana působí jako praktikantka. První příležitostí k seznámení byl požadavek na konstrukci zařízení, na kterém by Roman „vyťukával“ signály v morseově abecedě. Tyto signály by pak počítač překládal synchronně do textu. Tento úkol jsme vcelku snadno vyřešili. Další etapou bylo už ovládání celého počítače. To jsem slíbil s tím, že ovládání bude realizováno pomocí dvou tlačítek, jenž by měl Roman bez výraznějších problémů zvládnout.
4.2. Analýza případu Ze všeho nejdřív jsem se s pacientem seznámil osobně, abych co nejlépe pochopil jeho požadavky. Je jím 22 let starý kvadruplegik (ochrnutí všech čtyř končetin) po úrazu, který si přivodil v 16 letech na motocyklu. Následkem tohoto úrazu má přerušenou míchu v oblasti krční páteře a je téměř úplně nepohyblivý. Úraz však neměl žádný vliv na jeho inteligenci a - pomineme-li stres a frustraci z jeho situace - je duševně zcela v pořádku. Pacient je v neustálém rehabilitačním procesu, proto jsou docela možné určité pokroky v jeho motorických schopnostech. Ty byly v určité míře zachovány i po úrazu. Oblasti těla, nad kterými má pacient nyní kontrolu nebo aspoň částečnou kontrolu, a možnosti jejich využití pro komunikaci s okolím jsou následující: Oči a oční víčka Zůstává schopnost hýbat očima a mrkat. Avšak pohyb očí je značně neklidný a roztěkaný. Mrkání slouží pro pacienta jako zatím jediná funkční možnost komunikace (jedno mrknutí znamená NE, dvě mrknutí znamenají ANO). Avšak mrknutí není schopen provést ihned na povel, ale až po chvilce soustředění.
16
Proto se ukazuje jako nevhodné použít zařízení snímající pohyb očních zornic a zachycující mrkání. Tímto zařízením by nebylo možné počítač spolehlivě ovládat a pohyb kurzoru po obrazovce ovládaný očními pohyby by byl charakteru značně chaotického a spontánního. Pohyb paží Velice zřídka se stane, že pacient prudce vyhodí oběma pažemi, přičemž ruce má neustále zaťaté v pěst. To se stává většinou při citovém vypětí jako například při rozčílení. V tomto vidí rodina i lékaři největší šanci z hlediska budoucí rehabilitace, avšak v současné době je tato schopnost nevyužitelná. Dýchání Funkce dýchacích svalů zůstala převážně nepoškozena a pacient dýchá sám. Často však dojde k prudkému nádechu a následnému prudkému výdechu. To komplikuje využití ovládání počítače pomocí dechu. Pohyb hlavou Pohyb hlavou je téměř znemožněn. Hlavu musí mít opřenu o podložku, protože ji sám neudrží. Při silném soustředění dokáže hlavu na chvíli nadzvednout. Po intenzivní rehabilitaci by tak byl možná schopen využít systémů, které rozpoznávají změny v poloze hlavy a převádějí je na pohyb kurzoru. Palec u pravé nohy Pacient je schopen poměrně snadno ovládat palec u své pravé nohy. Tak jako zdravý člověk dokáže s palcem pohybovat nahoru a dolů, dokáže to i Roman. Není toho však schopen tak plynule a snadno a k nastartování pohybu potřebuje chvilku soustředění. Přesto je to činnost, ve které má největší jistotu a ve které je nejmenší možnost výskytu chyb. Právě sem jsme proto společně s Romanovou rodinou zaměřili své úsilí.
4.3. Návrh a realizace technické stránky Společně jsme se tedy shodli, že nejlepším řešením bude využít možnosti pohybu palce u nohy. Zde popíšu realizaci technického provedení obou spínačů a schéma jejich připojení na sériový port. Pro úplnost uvedu i připojení jednoho spínače pro vyťukávání morseovky.
17
4.3.1. Zapojení jednoho spínače Připojení jednoho spínače je velmi jednoduché na realizaci a pro člověka s aspoň malými technickými a programovacími schopnostmi by nemělo činit problém. Využít spínač pak lze samozřejmě i na mnoho jiných případů, než je právě morseovka. Jak už jsem tedy nastínil, spínač se zapojí na sériový port (přesněji na devíti-pinový RS-232, viz obr. 8). Konkrétně se na kontakty spínače napojí vodiče označované jako TXD (transmit data – vodič číslo 3) a RXD (receive data – vodič číslo 2), tedy vodiče sloužící pro přenos dat [6]. Následně je ještě potřeba uzemnit vodič GND (system ground – vodič číslo 5). Ostatní vodiče se zaslepí. Výsledný celek funguje tak, že při sepnutí spínače se uzavře smyčka a veškerá vysílaná data jsou obratem posílána zpět do počítače. Program, který pak neustále vysílá na port libovolná data, zkoumá, zda se data vrací zpět na port nebo nikoliv. Tím lze programově zjistit, zda je spínač v daný okamžik sepnut.
obr. 8 – sériový port CANNON 9 MALE v PC
obr. 9 – zapojení jednoho spínače na sériový port
4.3.2. Zapojení dvou spínačů Zapojit dva spínače byl už do jisté míry složitější problém. V první verzi byl každý ze dvou spínačů zapojen na jeden sériový port shodným způsobem, jak je popsáno výše. Tato verze sloužila pouze ke zkoušení funkčnosti softwarové části. V dnešní době totiž už některé počítače nemají ani jeden sériový port, natož aby měly porty dva. Bylo proto nutné nahradit toto dočasné
18
řešení „vměstnáním“ obou spínačů na jediný port. Navíc tohle řešení neumožňovalo (i když to nebyl původní záměr) použití obou spínačů současně. Reakce na stisky tlačítek byla totiž příliš opožděná. Zapojení na jediný port jsem se pokusil vyřešit následovně. Jeden spínač jsem připojil na dvojici vodičů RTS (request to send – vodič číslo 7) a CTS (clear to send – vodič číslo 8) a druhý na vodiče DTR (data terminal ready – vodič číslo 4) a DSR (data set ready – vodič číslo 6). Tyto dvojice vodičů slouží k posílání synchronizačních signálů, kterými počítač oznamuje modemu, že je připraven vysílat nebo přijímat a naopak. Stačilo pak pouze sepnout spínač a stav na vodiči, který přijímá zprávy od modemu (vodiče CTS a DSR) se tím překlopí. Po rozepnutí spínače se stav změní zpět na původní hodnotu. Tím lze rozeznat, že spínač byl sepnut nebo rozepnut. Program pak toto nakonec upřesní podle předchozího stavu, který si uchovává ve své vnitřní proměnné.
obr. 10 – zapojení dvou spínačů na jednom sériovém portu - chybné
Tohle řešení se však ukázalo jako ne příliš spolehlivé. Čas od času se stalo, že program nerozeznal změnu stavu na signálových vodičích, a tak nedošlo k detekci sepnutí nebo rozepnutí spínače. Toto řešení jsem proto upravil tak, že na kontakty prvního spínače jsem napojil dvojici vodičů DSR a TXD. Na druhém spínači to byla dvojice CTS a TXD. Jako vstupní signál tak v obou případech slouží vodič TXD, ze kterého plynou data směrem ven z počítače. Program pak sleduje změny na signálech CTS pro jedno tlačítko a DSR pro druhé, přičemž neustále zapisuje na port libovolná data. Tato data (plynoucí po vodiči TXD) mají nekonstantní charakter. Tím mám na mysli, že se rychle střídají logické nuly za logické jedničky (to je dáno charakterem komunikace po sériovém portu). Tím dochází k neustálým změnám na vodičích CTS nebo DSR, pokud je sepnut odpovídající spínač. Pak můžeme počítat s tím, že pokud dochází k těmto neustálým změnám stavu na těchto signálech, je daný spínač sepnut.
19
obr. 11 – zapojení dvou spínačů na sériový port – správné
Toto zapojení už funguje bez problému. Není náchylné ani na vodivost kontaktů, ani na délku kabelu. Navíc umožňuje rozpoznání sepnutí obou spínačů současně.
4.3.3. Konstrukce spínačů Protože jediným způsobem, jak pohybovat palcem u nohy (i pro zdravého člověka), je pouze nahoru a dolů, bylo cílem umístit jeden ze spínačů pod pacientův palec a druhý nad něj. Důležitá byla volba druhu spínačů. Původním záměrem bylo pouze vyvedení holých kontaktů nad a pod palec. Na ten by se potom umístila měkká a pružná hliníková násada, kterou by se pacient dotýkal kontaktů, a tím by uzavíral elektrický okruh. Na přání pacientovy rodiny jsem však přistoupil k realizaci pomocí klasických zvonkových spínačů. Ty jdou totiž stisknout poněkud obtížněji, což je podle vlastních slov rodiny dobré pro procvičování Romanových svalů. Konečnou podobu zařízení lze nejlépe vidět na fotografii. Vzdálenost mezi spínači je nastavena tak, aby byla jen o několik milimetrů větší, než je výška průměrného lidského palce. Tím není krajní hodnota spínačů příliš daleko a jejich spínání tak není příliš obtížné. Pro stabilitu celku na podložce má konstrukce ze spodu gumový povrch. Taktéž je gumový potah použit na svrchní straně pro zamezení smýkání nohy po povrchu zařízení.
20
obr. 12 – fotografie zařízení
4.4. Návrh a realizace softwaru Po konstrukci zařízení bylo potřeba definovat a implementovat způsob, jakým bude ovládání dvěma tlačítky realizováno v počítači. Záměrem bylo zajistit, aby měl pacient alespoň principiálně shodné možnosti jako běžný uživatel, který disponuje klávesnicí a myší.
4.4.1. Definice použití Cílem programu tak bylo substituovat klasické ovládání klávesnice a myši za použití dvou tlačítek. Jedná se tedy o emulaci několika základních operací, které může běžný uživatel s klávesnicí a myší provádět. Celý program je koncipován tak, že se uživatel nachází vždy v jednom ze tří stavů (módů). Těmito stavy jsou ovládání myši, klávesnice a morseovky. O přepínání mezi těmito stavy a jejich fungování se zmiňuji dále.
21
Mód myši slouží k pohybu kurzoru po obrazovce a simulaci klikání levým a pravým tlačítkem myši. Módy klávesnice a morseovky slouží k simulaci stisku jakékoliv klávesy na klávesnici. Mód morseovky byl přidán pro možnost rychlejšího psaní textu, poněvadž vyťukávání znaků v morseovce je daleko rychlejší než jeho hledání na klávesnici. Na druhou stranu nelze morseovkou ovládat zdaleka všechny klávesy na klávesnici. Dále popisuji operace, které lze pomocí programu DoubleButton spolu se spínači provádět. Pohybování kurzorem myši Pohybovat kurzorem lze buď v horizontálním nebo vertikálním směru (popř. diagonálně). Za každý směr odpovídá jedno tlačítko. Například pohyb kurzorem horizontálně se provede tak, že se stiskne tlačítko pro horizontální pohyb a drží se stisknuté. Kurzor se po chvíli začne pohybovat jedním směrem (vlevo nebo vpravo). Proč až po chvíli, vysvětlím níže. Po uvolnění tlačítka se kurzor zastaví. Při opětovném použití stejného tlačítka se kurzor začne pohybovat směrem opačným. Druhým tlačítkem se obdobně ovládá pohyb vertikální. Tím je zajištěna možnost dostat se kurzorem na libovolné místo na obrazovce. Rychlost pohybu kurzoru lze samozřejmě nastavit. Taktéž lze nastavit nebo zcela vypnout zrychlení pohybu kurzoru, které nastane po držení tlačítka stisknutého po delší dobu. Klikání tlačítek myši Kliknutí levého či pravého tlačítka myši se provede krátkým stiskem odpovídajícího tlačítka na zařízení. Stisk musí být dostatečně krátký (opět je zde možnost tuto dobu nastavit), aby nebyl považován za pokus o pohyb kurzorem. Proto je pohyb kurzoru započat až po uplynutí určité doby. Snadno tak lze provést i dvojklik levého tlačítka myši. Operace drag and drop Problematickou na substituci se ukázala operace táhnutí myší neboli drag and drop. Jak už bylo řečeno v první kapitole, tato metoda funguje tak, že se jedno z tlačítek myši stiskne na jednom a uvolní na druhém místě obrazovky. Tento úkon jsem alespoň částečně zpřístupnil tak, že stisknutí levého tlačítka myši se provede dvojklikem tlačítka, které je odpovědné za klikání pravým tlačítkem myši. Pak lze kurzorem normálně pohybovat a levé tlačítko myši je stále stisknuté. Uvolní se naprosto stejným způsobem, jak se stisklo. Takto je možno označovat text, přesouvat objekty apod. Bohužel nelze tuto operaci simulovat pro pravé tlačítko myši. Tištění kláves klávesnice Do módu klávesnice (nebo morseovky) se uživatel přepne tím, že kurzor myši přesune až k hornímu okraji obrazovky. Tím deaktivuje mód myši a nadále ovládá klávesnici. Podle toho, co
22
bylo použito naposledy, se program přepne buď do módu klávesnice nebo do módu morseovky. V módu klávesnice se objeví obrazovková klávesnice (101 kláves) a v módu morseovky morseova abeceda. Na obrázku klávesnice je vždy jedna klávesa zvýrazněna. Tuto klávesu nazvěme aktuální. Ovládání pak probíhá podobně jako u myši. Pohyb po klávesnici (měnění aktuální klávesy) se provádí naprosto stejným způsobem a stisk aktuální klávesy se provede stejně jako klik levého tlačítka myši. Krátkým stiskem druhého tlačítka se program přepne zpět do módu myši. Vybráním a stisknutím speciální klávesy pro morseovku se program přepne do módu morseovky. V módu morseovky se pak vyťukáním znaku stiskne příslušná klávesa. K vyťukávání čárek a teček slouží jedno tlačítko. Krátký stisk druhého tlačítka slouží k vyťukání „lomítka“, kterým se ukončuje znak. Dlouhým stiskem druhého tlačítka se vymaže poslední impuls (tečka nebo čárka). Lze vyťukat také dva speciální znaky. Jedním se přepneme do módu klávesnice a druhým do módu myši. Klávesy CTRL, SHIFT apod. Tyto klávesy lze použít jen v módu klávesnice a používají se obdobným způsobem, jak je uvedeno v kapitole 3.1 pod pojmem StickyKeys. Navíc lze u každé klávesy nastavit, jestli se po stisku jiné klávesy zdvihne společně s ní, nebo zůstane stisknutá. Klávesy NUM LOCK, CAPS LOCK a SCROLL LOCK Tyto klávesy slouží k přepínání mezi dvěma stavy – vypnuto, zapnuto. Tento stav je většinou zobrazen na klávesnici v podobě svítící nebo zhasnuté světelné diody. Podobně tomu tak je na obrázku klávesnice. Stav diod na fyzické klávesnici by měl být vždy shodný se stavem na obrazovkové klávesnici.
mód myši
vyťukání znaku pro myš
mód morseovky
přesunem k hornímu okraji obrazovky
stisknutím klávesy pro morseovku
klikem pravého tlačítka
mód klávesnice
vyťukání znaku pro klávesnici
obr. 13 – přechody mezi jednotlivými módy programu DoubleButton
23
4.4.2. Rozhraní programu Cílem bylo vytvořit dobře viditelnou zpětnou vazbu, tzn. co nejlépe obrazově znázornit úkony, které uživatel bude provádět – např. vizualizace délky stisku včetně rozeznání krátkého a dlouhého stisku tlačítka, zaznění zvuku po provedení operace atd. Ve všech módech jsou u horního okraje obrazovky po celé jeho délce dva proužky znázorňující délku stisku tlačítek. Proužek se postupně naplňuje až do doby, kdy uživatel tlačítko pustí. Proužek je rozdělen na dvě části. Pokud je naplněn jen v první části (na obr. červenou barvou), je stisk považován za krátký, v opačném případě za dlouhý. V příkladu, který vidíme na obrázku 14, se jedná o dlouhý stisk, čili kurzor myši je právě v pohybu. Výška proužku je nastavitelná a proužek má tu vlastnost, že se o jeho výšku zúží pracovní plocha, takže nezakrývá žádnou její část.
obr. 14 – proužky indikující dobu stisku Mód myši V módu myši je tedy vidět pouze zmiňovaný úzký proužek. Na provedení kliku je uživatel upozorněn zvukem kliknutí. Mód klávesnice V módu klávesnice je pod proužky přidána obrazovková klávesnice. Vlevo od ní je textové pole, do kterého se vypisují všechny klávesy, které uživatel pomocí programu DoubleButton stiskl. Vpravo pak indikátory stavu kláves Caps Lock, Num Lock a Scroll Lock a dále šipky, které ukazují směr příštího pohybu. Podobné šipky lze vidět po celou dobu běhu programu (tedy i v módu myši) také v tzv. tray ikoně na hlavním panelu vedle hodin. Aktuální klávesa (to jest ta, jejíž stisk bude simulován, pokud tak bude uživatel chtít) je ve žlutočerném provedení. Na obrázku č. 18 je vpravo nahoře vidět klávesa nazvaná „MORSEOVKA“. Jejím stiskem se program přepne do módu morseovky.
24
obr. 15 – obrazovková klávesnice programu DoubleButton
obr. 16 – indikátory kláves Num Lock, Caps Lock, Scroll Lock a směrů příštího pohybu
Mód morseovky V módu morseovky vidí uživatel seznam znaků a příkazů, které může „vyťukat“ pomocí morseovky. Během vyťukávání se navíc zvýrazňují ty znaky, které začínají na již vyťukanou sekvenci. Na obrázku 17 vidíme stav po vyťukání sekvence tečka, čárka, tečka. To odpovídá písmenu R, které je navíc zvýrazněno. Vyťukaná sekvence se navíc vypisuje v dolním pravém rohu. Vlevo od vypsané abecedy se nachází opět textové pole, do kterého se vypisují provedené stisky klávesnice.
obr. 17 – zobrazení morseovy abecedy
25
4.4.3. Možnosti nastavení Nastavení módu myši V módu myši lze nastavit pouze základní nastavení. Tím jsou rychlost pohybu kurzoru, velikost zrychlení tohoto pohybu a čas, od kdy má toto zrychlení nastat. Dále pak, jak dlouhá má být doba, po jejímž uplynutí už nebude stisk tlačítka považován za pokus o kliknutí, ale za pokus o pohyb. A v poslední řadě je to doba pro rozeznání dvojkliku tlačítka sloužícího pro operaci drag and drop. Všechna tato nastavení lze nastavit pro oba spínače samostatně. Nastavení módu klávesnice Samozřejmostí je nastavení všech rychlostí a intervalů podobně jako u módu myši. Dále má uživatel možnost zvolit, která klávesa bude po přepnutí do módu klávesnice aktuální jako první. Může si vybrat jednu konkrétní nebo tu, která byla použita naposledy. Další možností je nastavit, zda klávesy SHIFT, ALT a CTRL (levé i pravé zvlášť) budou po stisku obyčejné klávesy zvednuty, nebo zůstanou stisknuté. Poslední možností je nastavení, na kterou klávesu ze které se uživatel při pohybu konkrétním směrem po klávesnici přesune. Přechod na jinou klávesu lze i vypnout a tak například vytvořit pomyslné „mantinely“ okolo klávesnice. Nastavení módu morseovky V módu morseovky lze nastavit pouze intervaly pro rozeznání dlouhého a krátkého stisku u obou tlačítek. Obecná nastavení Uživatel má možnost přehodit funkci tlačítek, zapnout automatický start aplikace po naběhnutí operačního systému, zapnout či vypnout zvuky nebo zvolit sériový port, na který jsou spínače připojeny. Dále má možnost schovávání kurzoru při přepnutí do módu klávesnice nebo morseovky. Existuje i možnost do jisté míry upravit vzhled zařízení. Uživatel může měnit barvy ukazatelů stisku a také jejich velikost v pixelech. Spíše kosmetickou vlastností je možnost částečně zprůhlednit okno aplikace, a tak lépe vidět objekty, které okno skryje po přepnutí do módu klávesnice nebo morseovky.
4.4.4. Programování K naprogramování aplikace byl použit programovací jazyk Borland Delphi 5. Do něj byl doinstalován balík komponent Varian Async32, který je možno stáhnout ze sítě Internet. V něm je obsažena komponenta TVaComm, která pracuje se sériovým portem a kterou jsem využil.
26
Popisovat detailně postup programování nemá příliš smysl, proto zde uvedu jen nejdůležitější body. V případě zájmu o pochopení struktury celého programu je na přílohovém CD kompletní zdrojový kód programu (i s komentáři). Simulace operací myši a klávesnice Operační systém Microsoft Windows funguje na systému tzv. zpráv (messages). Každá běžící aplikace si udržuje tzv. smyčku zpráv, do které proudí neustále nové zprávy a ze které aplikace tyto zprávy vybírá k dalšímu zpracování. Nové zprávy se do smyčky dostanou většinou na základě tzv. události (event). Tu většinou vyvolává uživatel tím, že například klikne nebo pohne myší nebo stiskne klávesu na klávesnici. Aby byl systém programu DoubleButton schopen nahradit standardní klávesnici a myš, musí umět právě tyto události vyvolávat programově. Na to existují funkce z Win32 API, které lze zavolat z většiny programovacích jazyků. Funkce, kterou program DoubleButton používá k vyvolání událostí klávesnice, se nazývá keybd_event [7] a funkce pro vyvolání události myši mouse_event [7].
Funkce keybd_event Definice funkce v programátorské příručce Win32 aplikací je následující: VOID keybd_event(BYTE bVk, BYTE bScan, DWORD dwFlags, DWORD dwExtraInfo);
Popis důležitých parametrů funkce: bVk – Parametr, který určuje virtuální kód klávesy, který má být stisknut. Každá klávesa na klávesnici má svůj vnitřní kód, podle kterého je systém Windows rozlišuje. Kódy všech kláves lze nalézt v programátorské příručce Win32 aplikací. bScan – Hardwarový kód klávesy; každá klávesa má svůj vlastní. Není důležitý pro správné fungování funkce v rámci programu DoubleButton, přesto je vhodné jej uvést. Hardwarový kód odpovídající dané klávese lze zjistit z jejího virtuálního kódu použitím funkce MapVirtualKey(bVk, 0). dwFlags – Určuje, jaká událost má být vyvolána. Použitím hodnoty 0 se vyvolá událost stisknutí klávesy. Použitím hodnoty KEYEVENTF_KEYUP se vyvolá událost zvednutí klávesy.
27
Příklad použití funkce – fragment kódu, který programově „stiskne“ a ihned „zvedne“ klávesu Enter (její virtuální kód má hodnotu 13): keybd_event(13, MapVirtualKey(13, 0), 0, 0); keybd_event(13, MapVirtualKey(13, 0), KEYEVENTF_KEYUP, 0);
Funkce mouse_event Definice funkce v programátorské příručce Win32 aplikací je následující: VOID mouse_event(DWORD dwFlags, DWORD dx, DWORD dy, DWORD dwData, DWORD dwExtraInfo);
Popis důležitých parametrů funkce: dwFlags – Podobně jako u funkce keybd_event určuje, jaká událost má být vyvolána. Pro náš případ jsou důležité jen některé hodnoty. Hodnota MOUSEEVENTF_MOVE vyvolá událost, která říká, že bylo pohnuto myší. MOUSEEVENTF_LEFTDOWN a MOUSEEVENTF_LEFTUP vyvolávají události, které říkají, že levé tlačítko myši bylo stlačeno resp. uvolněno. Stejnou funkci pro pravé tlačítko mají parametry MOUSEEVENTF_RIGHTDOWN a MOUSEEVENTF_RIGHTUP. dx – Určuje hodnotu, o kterou se změní horizontální poloha kurzoru. Parametr je samozřejmě platný pouze v případě, že parametr dwFlags byl nastaven jako MOUSEEVENTF_MOVE (totéž platí i pro parametr dy). dy - Určuje hodnotu, o kterou se změní vertikální poloha kurzoru.
Příklad použití funkce – fragment kódu, který programově přesune kurzor o jeden pixel doprava: mouse_event(MOUSEEVENTF_MOVE, 1, 0, 0, 0);
28
Detekce stisknutí tlačítek K realizaci programu jsem potřeboval detekovat dva děje. Potřeboval jsem zjistit, zda je zrovna spínač sepnut, a dále to, že byl spínač rozepnut. K tomu jsem definoval vlastní třídu TSignalReader, která jako svou vlastnost obsahuje proměnnou typu TVaComm, jež se stará o komunikaci se sériovým portem. V třídě TSignalReader jsem použil vnitřní časovač, který jsem nastavil na frekvenci 1 ms (ve skutečnosti je to však asi 15 ms). Pokaždé, když časovač „tikne“, pošleme na port data a dále zjistíme, zda se nějak změnil stav na signálech CTS nebo DSR. Pokud ano, znamená to, že spínač je sepnut a program zvýši své vnitřní počítadlo, které určuje, po kolik „tiků“ časovače byl spínač sepnut. Zároveň je vyvolána událost „sepnutí spínače“. Pokud však stav změněn nebyl, znamená to buď, že se nestalo nic, anebo to, že byl spínač právě rozepnut. To zjistíme na základě stavu vnitřního počítadla. Pokud to nenese hodnotu 0, znamená to, že byl spínač právě rozepnut. V tom případě třída vyvolá událost „konec sepnutí spínače“ a nastaví počítadlo na nulu. Tištění kláves v módu morseovky Toto byl poněkud problém, protože program musí uvést kód klávesy, která má být stisknuta. Jenomže některé klávesy mají v jiných jazykových variacích klávesnic jiný význam (např. znak pro středník se na každé klávesnici vyskytuje jinde). Proto mód morseovky píše znaky s použitím české klávesnice. Pro plnou funkčnost morseovky je tak potřeba mít nainstalovánu českou klávesnici.
4.5. Nedostatky aplikace DoubleButton Vzhledem k omezeným možnostem, které dvě tlačítka poskytují, není bohužel systém programu DoubleButton schopen plnohodnotně nahradit možnosti, které poskytují klávesnice a myš. Následuje výčet operací, které jsou uživateli programu DoubleButton nepřístupné. •
možnost nechat libovolné tlačítko myši stisknuté po libovolně dlouhou dobu
•
ovládání kolečka myši
•
ovládání jiných tlačítek na myši
•
operace drag and drop pro jiné než levé tlačítko myši
29
•
možnost volit dynamicky intenzitu pohybu myši v programech, které této možnosti využívají
•
dvojklik jiným než levým tlačítkem myši
•
kombinování kláves na klávesnici a tlačítek nebo pohybu myši
•
používání jiných kláves než těch, které jsou na obrazovkové klávesnici (multimediální klávesy apod.).
4.6. Praktický přínos a závěr Před zakončením této práce byl program DoubleButton Romanem používán přibližně jeden měsíc. Navíc vývoj programu probíhal za jeho spolupráce. Samozřejmě mne zajímala nějaká ucelená odezva na výslednou podobu celého systému. Dovolil jsem si proto poprosit o vyplnění dotazníku, jímž by Roman společně s Ludmilou program zhodnotili. Tento dotazník včetně odpovědí připojuji k práci jako přílohu. Mimo jiné jsem z odpovědí zjistil jednu podstatnou věc. Roman získal další možnost, jak aktivně něco dělat a jak to dělat téměř bez cizí pomoci, což je pro něj velice důležité. Chci říct, že pro Romana je jakákoli činnost lepší než nicnedělání. A k tomu mu program DoubleButton aspoň trochu přispěl. Je pravděpodobné, že tento program nebude Roman využívat věčně, protože je stále v procesu rehabilitace a časem bude moct přejít na jiné způsoby ovládání počítače. I přesto si myslím, že díky programu se posunul aspoň o kousek dál. Drtivá většina postižených by však měla být schopna ovládat počítač snadněji pomocí jiných kompenzačních pomůcek, které jsem uvedl ve druhé a třetí kapitole. U Romana to však vzhledem k jeho specifikům nebylo příliš možné a cesta, kterou jsme mu nabídli my, se zdá být schůdnější než jiné. Systém programu DoubleButton tak může být použit všude tam, kde uživatel není schopen používat jiné kompenzační pomůcky, ale stále je schopen stisknout dvě tlačítka. Takových případů sice nebude mnoho, ale myslím, že se to vyplatí, i kdyby byl Roman jediný.
30
Použitá literatura [1]
Accesibility at Microsoft dostupný na URL http://www.microsoft.com/enable/ (květen 2006)
[2]
Apple - Mac OS X - Universal Access dostupný na URL http://www.apple.com/macosx/features/universalaccess/ (květen 2006)
[3]
KDE Accessibility Project dostupný na URL http://accessibility.kde.org/ (květen 2006)
[4]
KeyStrokes Mac OS X on-screen virtual keyboard odstupný na URL http://www.assistiveware.com/keystrokes.php (květen 2006)
[5]
Novák, J.: Využití výpočetní techniky pro zdravotně postižené. Brno, PAIDO 1997
[6]
Overwiew of RS-232 standard dostupný na URL http://www.hw-server.com/rs232 (květen 2006)
[7]
Programátorská příručka Win32 aplikací dostupná společně s instalací Delphi nebo na URL http://msdn.microsoft.com/library/ (květen 2006)
[8]
SofType 4.2 dostupný na URL http://www.orin.com/access/softype/ (květen 2006)
[9]
Stránky občanského sdružení Petit dostupné na URL http://www.petit.netstudio.cz/ (květen 2006)
[10] The GNOME Accessibility Project dostupný na URL http://developer.gnome.org/projects/gap/ (květen 2006)
31
Přílohy Na přílohovém CD jsou kompletní zdrojové kódy programu, instalátor aplikace vytvořený v programu Inno Setup 5, krátké ukázkové video a elektronická verze této práce ve formátu PDF. Dále přikládám přepis dotazníku vyplněný Ludmilou Benadovou (za asistence Romana Tomečka).
32
Otázky 1. Jak byla srozumitelná instalace programu a pochopení jeho ovládání? 2. Jak rychle se uživatel sžil s ovládáním tlačítek? 3. Jaké byly uživatelovi možnosti ovládání počítače před použitím programu DoubleButton? 4. Kterou funkci nebo vlastnost na ovládání počítače pomocí programu DoubleButton nejvíce oceňujete (kterou nejvíce použijete) a proč? 5. Která vlastnost nebo funkce je naopak vyřešena špatně nebo nedostatečně a proč? 6. Jak moc vadí „pomalost“ ovládání počítače pomocí programu DoubleButton? 7. Kromě možnosti ovládání počítače, má pro vás program DoubleButton nějaký jiný přínos? 8. Jak hodnotíte přínos systému DoubleButton pro vás ve srovnání s jinými kompenzačními pomůckami, které jste již vyzkoušeli (můžete hodnoti od 1 do 5 jako ve škole)?
33
Odpovědi 1. Instalace proběhla dobře. Nebyly s ní žádné problémy. Na konci se objevil text, který vysvětloval, jak používat program. Myslím, že to jde pochopit docela snadno. Ne tak ani z onoho textu, ale spíše tak nějak selským rozumem. Princip je v celku jednoduchý. 2. Moc rychle to nešlo. Ovládání je i teď pomalé, ale oproti začátku je to rozhodně pokrok. 3. Prakticky žádné. Používal některé pomůcky a programy, které mu měly spíše umožnit komunikovat s okolím - psát text apod. 4. Nejvíce je používáno ovládání myši. Roman si většinou na počítači jen čte nebo je na Internetu. Málokdy něco píše. 5. No docela pomalu se píše nějaký text, ale to je vzhledem k jeho stavu celkem pochopitelné. Jinak vše funguje dobře. 6. Normálnímu člověku by to asi vadilo hodně, ale pro Romana je to asi jediná možnost, pokud chce dělat něco na počítači. 7. Ano, Roman dostal další činnost, kterou může dělat. A i když ho to třeba někdy moc nebaví, tak je to lepší než kdyby nedělal nic. Nejde ani tak o to, že si může sám něco otevřít nebo přečíst na počítači, ale o to, že se o to sám pokusí. Z tohoto ohledu je přínos velký. 8. Pokud mám hodnotit všechny pomůcky a ne jen ty pro počítač, tak asi 2 mínus. Život mu to určitě nespasí, ale je pro něj dobrá jakákoli činnost, kterou může provádět.
34