@@ -172,7 +172,7 @@ def new_figure_manager_given_figure(num, figure):
172172
173173class TimerQT (TimerBase ):
174174 '''
175- Subclass of :class:`backend_bases.TimerBase` that uses Qt4 timer events.
175+ Subclass of :class:`backend_bases.TimerBase` that uses Qt timer events.
176176
177177 Attributes:
178178 * interval: The time between timer events in milliseconds. Default
@@ -242,6 +242,9 @@ def __init__(self, figure):
242242 w , h = self .get_width_height ()
243243 self .resize (w , h )
244244
245+ # Key auto-repeat enabled by default
246+ self ._keyautorepeat = True
247+
245248 def enterEvent (self , event ):
246249 FigureCanvasBase .enter_notify_event (self , guiEvent = event )
247250
@@ -322,6 +325,17 @@ def keyReleaseEvent(self, event):
322325 if DEBUG :
323326 print ('key release' , key )
324327
328+ @property
329+ def keyAutoRepeat (self ):
330+ """
331+ If True, enable auto-repeat for key events.
332+ """
333+ return self ._keyautorepeat
334+
335+ @keyAutoRepeat .setter
336+ def keyAutoRepeat (self , val ):
337+ self ._keyautorepeat = bool (val )
338+
325339 def resizeEvent (self , event ):
326340 w = event .size ().width ()
327341 h = event .size ().height ()
@@ -344,7 +358,7 @@ def minumumSizeHint(self):
344358 return QtCore .QSize (10 , 10 )
345359
346360 def _get_key (self , event ):
347- if event .isAutoRepeat ():
361+ if not self . _keyautorepeat and event .isAutoRepeat ():
348362 return None
349363
350364 event_key = event .key ()
0 commit comments