On Wed, 18 May 2011 10:02:03 +0200 Laszlo KREKACS <laszlo.krekacs.l...@gmail.com> said:
there isn't a way to filter specific keystrokes for an entry. there is a way to filter specific TEXt before its inserted, but this is after a keystroke (sequence) has been converted already to a string: elm_entry_text_filter_append() elm_entry_text_filter_prepend() elm_entry_text_filter_remove() nothing to offer right now for filtering keystrokes in general. > Hi, > > On Fri, May 13, 2011 at 8:40 PM, Laszlo KREKACS > <laszlo.krekacs.l...@gmail.com> wrote: > > Im still fighting with shortcuts. With Ctrl-S I change file export > > behaviour, and it > > inputs into the focused elementary.Entry a hexa 13 char. > > > > But what I really miss is the TAB key. Thats a real blocker. Jumping > > to the next elementary.Entry is useless. > > Seems like every Control-[key] combination inputs some non-printable > character in the elementary.Entry field. > Looking to the saved textfile with vim, I see ^S (for control-s), ^E > (for control-e), etc, etc. > > Those are the hexa values: > Ctrl-q \x11 > Ctrl-w \x17 > Ctrl-e \x05 > Ctrl-r \x12 > Ctrl-t \x14 > > Also EventKeyDown does report with those values: > > Control-s: > Entry(name=%r, geometry=(163, 244, 96, 40), > color=(255, 255, 255, 255), > layer=0, clip=True, visible=True) > EventKeyDown(keyname='s', key='s', string='\x13', compose='\x13', > timestamp=376079218, event_flags=0x1) Layout(name=%r, geometry=(0, 0, > 800, 480), color=(255, 255, 255, 255), layer=0, clip=False, > visible=True) > > Normal 's' keypress: > Entry(name=%r, geometry=(163, 244, 112, 40), > color=(255, 255, 255, 255), > layer=0, clip=True, visible=True) > EventKeyDown(keyname='s', key='s', string='s', compose='s', > timestamp=376100124, event_flags=0x1) Layout(name=%r, geometry=(0, 0, > 800, 480), color=(255, 255, 255, 255), layer=0, clip=False, > visible=True) > > It is basically the same problem, as with tab key, I should just stop > processing the event somehow. > (so it does not put the \x13 char into the Entry). > > Maybe Im just too shortsighted, and there are some valid usecase > inputing nonprintable ascii chars into the elementary.Entry field > (maybe a hex editor?). > > Im already using 3 workarounds: > 1. I keep the Entry's cursor position in a local variable (to know > where am I exactly, and when to jump to an another Entry). > > 2. With Tab key, I keep a local variable which Entry is in the focus. > When tab is pressed, I process it, then I restore the focus where it > should be. > > 3. Now as I figured out where comes the occasional nonprintable chars > in my saved file, Im implementing a workaround as I save which > nonprintable char was inputted (\x13), then after the event finished I > manually replace the content with entry_set(). > The problem is > - I dont know when the event finishes exactly(so I can put the > correction function into ecore_idler hoping the event already went > down) > - If the nonprintable char injected into the middle of the Entry, I > could erase this char and position the cursor there. The problem is, > there are no such method call, only end_set() where I position the > cursor at the end of the entry. So it would result cursor jumping to > the end of entry. > > Maybe the best method is when I save the entry, I replace all those > nonprintable chars at once. (So I save in the mean time what was > inputted, and I bulk-erase). > > I tried to search for some keyboard using elementary apps on google > codesearch, but not much luck. > > Bests, > Laszlo > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ What Every C/C++ and Fortran developer Should Know! Read this article and learn how Intel has extended the reach of its next-generation tools to help Windows* and Linux* C/C++ and Fortran developers boost performance applications - including clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel