~nishimotz/nvdajp/betterBraille

« back to all changes in this revision

Viewing changes to source/brailleDisplayDrivers/_kgs.py

  • Committer: Takuya Nishimoto
  • Date: 2012-04-30 14:30:24 UTC
  • Revision ID: nishimotz@gmail.com-20120430143024-5d3wa1dkfmlygf9q
updated kgs driver: touch cursor (routing) support

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
#See the file COPYING for more details.
6
6
#Copyright (C) 2011-2012 Takuya Nishimoto, Masataka Shinke
7
7
#
8
 
# cd betterBraille\source
 
8
# supported device: Braille Memo BM46
 
9
# testing:
 
10
# > cd betterBraille\source
9
11
# > python brailleDisplayDrivers\_kgs.py
10
12
 
11
13
import time
92
94
def handleKeyInfo(lpKeys):
93
95
        keys = (lpKeys[0], lpKeys[1], lpKeys[2], lpKeys[3])
94
96
        log.debug("keyInfo %d %d %d %d" % keys)
95
 
        if not handleGestureFunc: return 0
96
 
        if keys == (1, 1, 0, 0):
97
 
                handleGestureFunc("space", None)
98
 
        elif keys == (1, 16, 0, 0):
99
 
                handleGestureFunc("enter", None)
 
97
        names = set()
 
98
        routingIndex = None
 
99
        if keys[2] &   1: names.add('func1')
 
100
        if keys[2] &   2: names.add('func4')
 
101
        if keys[2] &   4: names.add('ctrl')
 
102
        if keys[2] &   8: names.add('alt')
 
103
        if keys[2] &  16: names.add('select')
 
104
        if keys[2] &  32: names.add('read')
 
105
        if keys[2] &  64: names.add('func2')
 
106
        if keys[2] & 128: names.add('func3')
 
107
        if keys[0] == 1:
 
108
                if keys[1] &   1: names.add('space')
 
109
                if keys[1] &   2: names.add('dot6')
 
110
                if keys[1] &   4: names.add('dot5')
 
111
                if keys[1] &   8: names.add('dot4')
 
112
                if keys[1] &  16: names.add('enter')
 
113
                if keys[1] &  32: names.add('dot3')
 
114
                if keys[1] &  64: names.add('dot2')
 
115
                if keys[1] & 128: names.add('dot1')
 
116
        elif keys[0] == 2:
 
117
                if keys[1] &   1: names.add('esc')
 
118
                if keys[1] &   2: names.add('inf')
 
119
                if keys[1] &   4: names.add('bs')
 
120
                if keys[1] &   8: names.add('del')
 
121
                if keys[1] &  16: names.add('ins')
 
122
                if keys[1] &  32: names.add('chng')
 
123
                if keys[1] &  64: names.add('ok')
 
124
                if keys[1] & 128: names.add('set')
 
125
        elif keys[0] == 3:
 
126
                if keys[1] & 1: names.add('upArrow')
 
127
                if keys[1] & 2: names.add('downArrow')
 
128
                if keys[1] & 4: names.add('leftArrow')
 
129
                if keys[1] & 8: names.add('rightArrow')
 
130
        elif keys[0] == 4:
 
131
                names.add('route')
 
132
                routingIndex = keys[1]
 
133
        elif keys[0] == 6:
 
134
                if keys[1] & 1: names.add('bw')
 
135
                if keys[1] & 2: names.add('fw')
 
136
                if keys[1] & 4: names.add('ls')
 
137
                if keys[1] & 8: names.add('rs')
 
138
        if handleGestureFunc: handleGestureFunc(names, routingIndex)
 
139
        if routingIndex:
 
140
                log.debug("names %s %d" % ('+'.join(names), routingIndex))
 
141
        else:
 
142
                log.debug("names %s" % '+'.join(names))
100
143
        return 0
101
144
 
102
145
def load():
166
209
        time.sleep(2)
167
210
        connect()
168
211
        startDisplayMode()
169
 
        time.sleep(10)
 
212
        time.sleep(30)
170
213
        unload()
171
214
        time.sleep(2)
172
215