Hi Ian, Thanks again but... I honestly don't see how to solve my problem...
What I really need is to catch the value when a key is pressed... not merely to know when the *entry* value has changed: What can I do from that ?...and How to know which value has changed ?. You see what I mean ? Please, take this piece of code http://pastebin.com/LqTrph4i, and you'd verify that the handler "get_key_info" is not called when a key is pressed. And the question is... How to force it ? Thanks, Glus 2016-10-29 20:37 GMT+02:00 Ian Martin <martin...@vodafone.co.nz>: > Hi Glus, > > first of all, your Entry widget already responds to key presses (so long > as you have called set_editable() ). When you push on the key with "a" on > it, it puts an "a" in the widget. So you don't need to add that > functionality; it already exists. > > Second, you can always connect to the signal_changed() when the user > inserts text, and do what you like with their input, including changing > what is displayed, e.g. if they type "w", modify the text so a "J" is > inserted in the textbuffer. I'm really struggling with a use case that > makes sense outside of capitalisation, but then I'm sure there is one, > especially if the input is words. > > Ian. > > On 30/10/16 01:01, Glus Xof wrote: > > Hi Ian, > > Thanks a lot for your explanations, but... I don't see what al all you > propose and how to apply it with Gtk::Entry widgets, while (almost to > me...) they seems not to emit such key press signals, normally... even > adding/setting a key press mask. > > In addition, I don't see how to (safely) change the value that will be set > inside the entry widget. > > Some help ? > > Glus > > > > 2016-10-28 21:20 GMT+02:00 Ian Martin <martin...@vodafone.co.nz>: > >> Hi Glus, >> >> You almost certainly don't want to change what code the key outputs; its >> far more likely you want to change what the program does in response to >> that key. If you reprogram the key, then you confuse your users; they're >> expecting WASD to output those letters, even if the program uses that >> information at times to obtain a direction. If you reprogram the key then >> when they try to input a word, unexpected things happen; at best, the >> keyboard becomes an exercise in cryptography. >> >> By connecting the signal_key_press_event >> <https://developer.gnome.org/gtkmm/3.22/classGtk_1_1Widget.html#a4b64421cad754fbd49ae17cbfe4814d0>, >> you can handle the input however you like; if the program determines it's >> not applicable, the default is that the signal is passed up to the next >> handler. If you wish to block all responses to keyboard input outside your >> own function, simply return true (You'll possibly also have to block the >> key_release_event ). >> >> Ian. >> >> On 28/10/16 22:00, Glus Xof wrote: >> >> Hi Ian, >> >> 2016-10-28 4:31 GMT+02:00 Ian Martin <martin...@vodafone.co.nz>: >> >>> You probably don't want to change the value that key returns; >>> >> That's exactly what I'm trying to do... >> >> ... I need a method, or some way, capable to fix, in the scope of the >> application, another values to a physical keyboard keys. >> ... I'm wonder if Gdk::Device::set_key () should be the suitable tool. If >> so, if I'm not wrong... could you link me the info about the macros >> index... the first parameter ? >> >> it's more likely you're trying to connect to a >>> Gtk::Widget::signal_key_press_event(). That lets you do what you want >>> with the signal when a user presses a key. >>> >>> Check the documentation- you have to enable a mask to use this signal. >>> >> >> In my case is a very bad option... >> >> Thanks >> >> Glus >> >> >>> Ian. >>> >>> On 28/10/16 04:35, Glus Xof wrote: >>> >>> Hi guys, >>> >>> I'm looking for the way, in Gtk+, to reprogram the keyboard keys >>> values... >>> >>> Maybe, should be possible from using: (I don't know) >>> >>> Glib::RefPtr<Gdk::Device> device_keyboard = >>> ...get_display()->get_default_seat()->get_keyboard(); >>> >>> (I don't know if I explained it so clearly...but I hope so though) >>> >>> Glus >>> >>> >>> _______________________________________________ >>> gtkmm-list mailing >>> listgtkmm-list@gnome.orghttps://mail.gnome.org/mailman/listinfo/gtkmm-list >>> >>> _______________________________________________ gtkmm-list mailing list >>> gtkmm-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtkmm-list >> >> _______________________________________________ >> gtkmm-list mailing >> listgtkmm-list@gnome.orghttps://mail.gnome.org/mailman/listinfo/gtkmm-list >> >> _______________________________________________ gtkmm-list mailing list >> gtkmm-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtkmm-list > >
_______________________________________________ gtkmm-list mailing list gtkmm-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtkmm-list