def __insert_enclosed_selection(self, open_keyval, close_keyval): textbuffer = self.__editor.textbuffer from gtk.gdk import keyval_to_unicode utf8_open_character = unichr(keyval_to_unicode(open_keyval)).encode("utf-8") utf8_closing_character = unichr(keyval_to_unicode(close_keyval)).encode("utf-8") selection = textbuffer.get_selection_bounds() string = textbuffer.get_text(selection[0], selection[1]) text = utf8_open_character + string + utf8_closing_character textbuffer.delete(selection[0], selection[1]) textbuffer.insert_at_cursor(text) message = _("Enclosed selected text") self.__editor.update_message(message, "pass") return
def __insert_enclosed_selection(self, open_keyval, close_keyval): textbuffer = self.__editor.textbuffer from gtk.gdk import keyval_to_unicode utf8_open_character = unichr( keyval_to_unicode(open_keyval)).encode("utf-8") utf8_closing_character = unichr( keyval_to_unicode(close_keyval)).encode("utf-8") selection = textbuffer.get_selection_bounds() string = textbuffer.get_text(selection[0], selection[1]) text = utf8_open_character + string + utf8_closing_character textbuffer.delete(selection[0], selection[1]) textbuffer.insert_at_cursor(text) message = _("Enclosed selected text") self.__editor.update_message(message, "pass") return
def __insert_pair_characters(self, open_keyval, close_keyval): textbuffer = self.__editor.textbuffer from gtk.gdk import keyval_to_unicode utf8_open_character = unichr(keyval_to_unicode(open_keyval)).encode("utf-8") utf8_closing_character = unichr(keyval_to_unicode(close_keyval)).encode("utf-8") cursor_position = self.__editor.cursor begin_mark = textbuffer.create_mark(None, cursor_position, True) textbuffer.begin_user_action() textbuffer.insert_at_cursor(utf8_open_character+utf8_closing_character) textbuffer.end_user_action() cursor_position = self.__editor.cursor end_mark = textbuffer.create_mark(None, cursor_position, False) cursor_position.backward_char() textbuffer.place_cursor(cursor_position) self.__monitor_list.append((close_keyval, (begin_mark, end_mark))) return
def get_key_name(keyval, to_upper=False): ''' Get key name with given key value. @param keyval: Key value. @param to_upper: Set as True to return upper key name, default is False. @return: Return key name with given key value. ''' if to_upper: key_unicode = gdk.keyval_to_unicode(gdk.keyval_to_upper(keyval)) else: key_unicode = gdk.keyval_to_unicode(keyval) if key_unicode == 0: return gdk.keyval_name(keyval) else: return str(unichr(key_unicode))
def __keyboard_handler(self, event): # Modifier checks # from gtk import accelerator_get_default_mod_mask # modifier_mask = accelerator_get_default_mod_mask() translate = self.__keymap.translate_keyboard_state data = translate(event.hardware_keycode, event.state, event.group) keyval, egroup, level, consumed = data active_mask = any_on = event.state & ~consumed & ALL_MASK ctrl_on = active_mask == CONTROL_MASK shift_on = active_mask == SHIFT_MASK # Handle backspace key press event. if not any_on and event.keyval == BackSpace: return self.__handle_deletion("backspace") # Handle delete key press event. if not any_on and event.keyval == Delete: return self.__handle_deletion("delete") # Allow insertion of regular characters into the editing area. if not any_on and event.string and keyval_to_unicode(event.keyval): return False # Adds column edit points. if ctrl_on and event.keyval == Down: return self.__toggle_column_edit_point("down") if ctrl_on and event.keyval == Up: return self.__toggle_column_edit_point("up") # Allow cursor navigation with arrow keys. if event.keyval in ARROW_KEYS: return self.__handle_arrow_keys() if event.keyval in SAFE_KEYS: return False # Allow insertion of special unicode characters. if ctrl_on and shift_on and event.keyval in UNICODE_KEYS: return False # Escape exits multi edit mode if not any_on and (event.keyval == Escape): return False # <ctrl>i adds or removes edit points. if ctrl_on and (event.keyval == i): return self.__handle_ctrl_i() return True
def getKeyName(keyval): '''Get key name.''' keyUnicode = gdk.keyval_to_unicode(keyval) if keyUnicode == 0: return gdk.keyval_name(keyval) else: return str(unichr(keyUnicode))
def get_key_name(keyval, to_upper=False): ''' Get key name with given key value. @param keyval: Key value. @param to_upper: Set as True to return upper key name, default is False. @return: Return key name with given key value. ''' if to_upper: key_unicode = gdk.keyval_to_unicode(gdk.keyval_to_upper(keyval)) else: key_unicode = gdk.keyval_to_unicode(gdk.keyval_convert_case(keyval)[0]) if key_unicode == 0: return gdk.keyval_name(keyval) else: return str(unichr(key_unicode))
def __insert_pair_characters(self, open_keyval, close_keyval): textbuffer = self.__editor.textbuffer from gtk.gdk import keyval_to_unicode utf8_open_character = unichr( keyval_to_unicode(open_keyval)).encode("utf-8") utf8_closing_character = unichr( keyval_to_unicode(close_keyval)).encode("utf-8") cursor_position = self.__editor.cursor begin_mark = textbuffer.create_mark(None, cursor_position, True) textbuffer.begin_user_action() textbuffer.insert_at_cursor(utf8_open_character + utf8_closing_character) textbuffer.end_user_action() cursor_position = self.__editor.cursor end_mark = textbuffer.create_mark(None, cursor_position, False) cursor_position.backward_char() textbuffer.place_cursor(cursor_position) self.__monitor_list.append((close_keyval, (begin_mark, end_mark))) return
def keycode2char(self, keycode, mods, group=0): char = '' name = '' info = self._keymap.translate_keyboard_state(keycode, mods, group) if info: keysym = info[0] char = gdk.keyval_to_unicode(keysym) # @UndefinedVariable if char: char = unichr(char) name = gdk.keyval_name(keysym) # @UndefinedVariable return char or '', name or ''
def get_key_name(keyval): ''' Get key name with given key value. @param keyval: Key value. @return: Return key name with given key value. ''' key_unicode = gdk.keyval_to_unicode(keyval) if key_unicode == 0: return gdk.keyval_name(keyval) else: return str(unichr(key_unicode))
def __remove_closing_pair_character(self): textbuffer = self.__editor.textbuffer begin_mark = self.__monitor_list[-1][1][0] end_mark = self.__monitor_list[-1][1][1] begin = textbuffer.get_iter_at_mark(begin_mark) end = textbuffer.get_iter_at_mark(end_mark) if (len(textbuffer.get_text(begin, end)) != 2): return False begin.forward_char() from gtk.gdk import keyval_to_unicode close_keyval = self.__monitor_list[-1][0] character = unichr(keyval_to_unicode(close_keyval)).encode("utf-8") if (begin.get_char() != character): return False self.__editor.begin_user_action() begin.backward_char() textbuffer.begin_user_action() textbuffer.delete(begin, end) textbuffer.end_user_action() message = _("Removed pair character") self.__editor.update_message(message, "pass") self.__editor.end_user_action() return True
def test_keyval_to_unicode_for_latin1(): for keyval in latin1range: assert gdk.keyval_to_unicode(keyval) == keyval
def test_keyval_to_unicode_other(): ''' Just sample some data points. ''' assert gdk.keyval_to_unicode(0x01bd) == 0x02dd assert gdk.keyval_to_unicode(0x06b9) == 0x0409
def __insert_apostrophe(self): from gtk.gdk import keyval_to_unicode utf8_apostrophe_character = unichr( keyval_to_unicode(keysyms.apostrophe)).encode("utf-8") self.__editor.textbuffer.insert_at_cursor(utf8_apostrophe_character) return
def __insert_apostrophe(self): from gtk.gdk import keyval_to_unicode utf8_apostrophe_character = unichr(keyval_to_unicode(keysyms.apostrophe)).encode("utf-8") self.__editor.textbuffer.insert_at_cursor(utf8_apostrophe_character) return
def name2unicode(name): keysym = gdk.keyval_from_name(name) # @UndefinedVariable return gdk.keyval_to_unicode(keysym) # @UndefinedVariable
def keysym2char(keysym): char = gdk.keyval_to_unicode(keysym) # @UndefinedVariable return unichr(char) if char else ""