[Idle-dev] CVS: idle keybindingDialog.py,1.3,1.4

Stephen M. Gava elguavas@users.sourceforge.net
Sat, 19 Jan 2002 02:30:57 -0800


Update of /cvsroot/idlefork/idle
In directory usw-pr-cvs1:/tmp/cvs-serv16500

Modified Files:
	keybindingDialog.py 
Log Message:
further work on keybinding configuration


Index: keybindingDialog.py
===================================================================
RCS file: /cvsroot/idlefork/idle/keybindingDialog.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** keybindingDialog.py	2002/01/19 01:30:56	1.3
--- keybindingDialog.py	2002/01/19 10:30:54	1.4
***************
*** 162,168 ****
          if finalKey: 
              if (not modifiers) and (finalKey in self.functionKeys):
!                 finalKey='<'+finalKey
              keyList.append(finalKey+'>')
-                 
          keyStr=string.join(keyList,'-')
          self.keyString.set(keyStr)
--- 162,169 ----
          if finalKey: 
              if (not modifiers) and (finalKey in self.functionKeys):
!                 finalKey='<'+self.TranslateKey(finalKey)
!             else:
!                 finalKey=self.TranslateKey(finalKey)
              keyList.append(finalKey+'>')
          keyStr=string.join(keyList,'-')
          self.keyString.set(keyStr)
***************
*** 190,201 ****
          self.functionKeys=('F1','F2','F2','F4','F5','F6','F7','F8','F9',
                  'F10','F11','F12')
-         self.punctuationKeys=tuple('~!@#%^&*()_-+={}[]|;:,./?')
-         self.specialKeys=('tab','space')
          self.alphanumKeys=tuple(string.ascii_lowercase+string.digits)
          #make a tuple of most of the useful common 'final' keys
!         keys=(self.alphanumKeys+self.punctuationKeys+self.specialKeys+
!                 self.functionKeys)
          apply(self.listKeysFinal.insert,
              (END,)+keys)
      
      def Ok(self, event=None):
--- 191,221 ----
          self.functionKeys=('F1','F2','F2','F4','F5','F6','F7','F8','F9',
                  'F10','F11','F12')
          self.alphanumKeys=tuple(string.ascii_lowercase+string.digits)
+         self.punctuationKeys=tuple('~!@#%^&*()_-+={}[]|;:,.<>/?')
+         self.whitespaceKeys=('Tab','Space','Return')
+         self.editKeys=('BackSpace','Delete','Insert')
+         self.moveKeys=('Home','End','Page Up','Page Down','Left Arrow',
+                 'Right Arrow','Up Arrow','Down Arrow')
          #make a tuple of most of the useful common 'final' keys
!         keys=(self.alphanumKeys+self.punctuationKeys+self.functionKeys+
!                 self.whitespaceKeys+self.editKeys+self.moveKeys)
          apply(self.listKeysFinal.insert,
              (END,)+keys)
+     
+     def TranslateKey(self,key):
+         #translate from key list value to tkinter key-id
+         translateDict={'~':'asciitilde','!':'exclam','@':'at','#':'numbersign',
+                 '%':'percent','^':'asciicircum','&':'ampersand','*':'asterisk',
+                 '(':'parenleft',')':'parenright','_':'underscore','-':'minus',
+                 '+':'plus','=':'equal','{':'braceleft','}':'braceright',
+                 '[':'bracketleft',']':'bracketright','|':'bar',';':'semicolon',
+                 ':':'colon',',':'comma','.':'period','<':'less','>':'greater',
+                 '/':'slash','?':'question','Page Up':'Prior','Page Down':'Next',
+                 'Left Arrow':'Left','Right Arrow':'Right','Up Arrow':'Up',
+                 'Down Arrow': 'Down'}
+         if key in translateDict.keys():
+             key=translateDict[key]
+         key='Key-'+key
+         return key
      
      def Ok(self, event=None):