#1117: [PATCH] can't press '3' key in deluge-console
--------------------------------------------+-------------------------------
 Reporter:  cdep_illabout                   |       Owner:           
     Type:  bug                             |      Status:  new      
 Priority:  minor                           |   Milestone:           
Component:  console                         |     Version:  1.2.0_dev
 Keywords:  cannot type 3 three in console  |  
--------------------------------------------+-------------------------------
 deluge-console will not print a '3' when the '3' key is pressed.

 It is due to this code block in trunk/deluge/ui/console/screen.py:


 {{{
 # Delete a character in the input string based on cursor position
 if c == curses.KEY_BACKSPACE or c == 127:
     if self.input and self.input_cursor > 0:
         self.input = self.input[:self.input_cursor - 1] +
 self.input[self.input_cursor:]
         self.input_cursor -= 1

 elif c == curses.KEY_DC or c == 51:
     if self.input and self.input_cursor < len(self.input):
         self.input = self.input[:self.input_cursor] +
 self.input[self.input_cursor + 1:]
 }}}

 The line 'elif c == curses.KEY_DC or c == 51:' should probably be just
 'elif c == curses.KEY_DC:'

 I'm not sure why the check for 'c == 51' was initially added, because 51
 is the decimal ascii code for the number three, not the ascii code for
 Delete (which is 127, according to http://www.asciitable.com/).

 The var c is originally obtained in a called to stdscr.getch().  I did
 some testing with getch() to see what values were returned for the Delete
 key, the Backspace key, and Ctrl-H.

 On my box, the Delete key returns the value 330.  The Backspace key
 returns the value 127.  Ctrl-H returns the value 263. Maybe these values
 vary by terminal type?

 I checked python's documentation for these different values
 (http://docs.python.org/library/curses.html#constants), and it looks like
 KEY_DC is pretty safe to use.  KEY_BACKSPACE has a warning that it is
 unreliable, but KEY_DC has no such warning.  So KEY_DC is probably safe to
 use and relatively portable?  Hopefully.

-- 
Ticket URL: <http://dev.deluge-torrent.org/ticket/1117>
Deluge <http://deluge-torrent.org/>
Deluge project

--

You received this message because you are subscribed to the Google Groups 
"Deluge Dev" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/deluge-dev?hl=en.


Reply via email to