def move_to_first_letter_of_line(): left, right = keyboard.get_input_context() # if column == 0, returns '\n' if not left or left == '\n': return count = len(left) keyboard.move_cursor(-count) return
def move_to_first_letter_of_word(): left, right = keyboard.get_input_context() if not left: return m = re.match(r'.*\b([^ ]+?)$', left) if not m: return left_word = m.groups()[0] count = len(left_word) keyboard.move_cursor(-count) return
def main(): if not keyboard.is_keyboard(): return selected_text = keyboard.get_selected_text() if selected_text: keyboard.backspace(1) tpl = keyboard.get_input_context() right = tpl[1] delete_count = len(right) keyboard.move_cursor(delete_count) keyboard.backspace(delete_count)
def right_button_action(self, sender): # move cursor right in textfield if self.custom_keyboard: keyboard.move_cursor(+1) else: cursor = self.tfo.offsetFromPosition_toPosition_( self.tfo.beginningOfDocument(), self.tfo.selectedTextRange().start()) cursor = cursor + 1 # set cursor cursor_position = self.tfo.positionFromPosition_offset_( self.tfo.beginningOfDocument(), cursor) self.tfo.selectedTextRange = self.tfo.textRangeFromPosition_toPosition_( cursor_position, cursor_position)
def delete_word(): left, right = keyboard.get_input_context() if not right: return m = re.match(r'^(.+?\b *)', right) if not m: return right_word = m.groups()[0] count = len(right_word) keyboard.move_cursor(count) keyboard.backspace(count) return
def b_down_action(sender): t = keyboard.get_input_context() # current line l0 = len(t[0]) l1 = len(t[1]) keyboard.move_cursor(l1) keyboard.move_cursor(1) # begin of next line t = keyboard.get_input_context() # next line l2 = len(t[0]) l3 = len(t[1]) if (l2 + l3) >= l0: keyboard.move_cursor(l0) else: pass
def b_up_action(sender): t = keyboard.get_input_context() # current line l0 = len(t[0]) l1 = len(t[1]) keyboard.move_cursor(-l0) keyboard.move_cursor(-1) # end of previous line t = keyboard.get_input_context() # previous line l2 = len(t[0]) l3 = len(t[1]) #sender.title = str(l0)+' '+str(l1)+' '+str(l2)+' '+str(l3) if l2 >= l0: keyboard.move_cursor(-(l2 - l0)) else: pass # line is shorter than l0, thus stay at end
def main(): if not keyboard.is_keyboard(): return keyboard.move_cursor(1) keyboard.backspace(1)
def delete_line(): left, right = keyboard.get_input_context() count = len(right + '\n') keyboard.move_cursor(count) keyboard.backspace(count) return
def b_bottom_action(sender): t = keyboard.get_input_context() # current line l = len(t[1]) keyboard.move_cursor(+l) move = my_thread(1) move.start()
def b_left_action(sender): keyboard.move_cursor(-1)
def b_top_action(sender): t = keyboard.get_input_context() # current line l = len(t[0]) keyboard.move_cursor(-l)
def b_right_action(sender): keyboard.move_cursor(+1)
def b_read_all_action(sender): keyboard.move_cursor(-1000) t = keyboard.get_input_context() speech.say(t[1], 'jp-JP')