def setKeymap(self, keymap): # Swing keeps jacking up our keymap. This is designed to ensure that # a JES-able keymap always gets set, regardless of who's calling this. if keymap is None: JTextPane.setKeymap(self, self.standardKeymap) elif keymap.getName().endswith("ForJES"): JTextPane.setKeymap(self, keymap) else: commandKeymap = self.addKeymap(keymap.getName() + "ForJES", keymap) commandKeymap.addActionForKeyStroke(key('HOME'), PythonAction(self._home)) commandKeymap.addActionForKeyStroke(key('shift HOME'), PythonAction(self._shifthome)) commandKeymap.addActionForKeyStroke(key('ENTER'), PythonAction(self._enter)) commandKeymap.addActionForKeyStroke(key('UP'), PythonAction(self._up)) commandKeymap.addActionForKeyStroke(key('DOWN'), PythonAction(self._down)) JTextPane.setKeymap(self, commandKeymap)