On Wed, Aug 1, 2018 at 2:27 AM, Armin Novak <armin.no...@thincast.com> wrote: > Glad it works, > > as for scancodes you have to figure out what type of code you get > (libinput? X11?) and map that accordingly. >
I'm using SDL2. I can't exactly tell what it corresponds to but I also need to know what the keys sent by FreeRDP correspond to. From memory the definitions in freerdp/scancode.h are the Microsoft virtual key constants. However I can't reliably translate keys to/from those numbers using what should be the appropriate system functions. E.g. this escape gives SDL2 scancode 8, SDL2 symbolic 101, MapVirtualKeyW w/ MAPVK_VSC_TO_VK_EX 55 I realize this is kind of open ended but hopefully you have some kind of guess. I also have an issue where any call to freerdp_input_send_mouse_event terminates the connection on the server side. Is this normal for invalid input? What consideration do the values passed need? > Preferred way would be to use freerdp_input_send_keyboard_event and > freerdp_input_send_keyboard_event_ex > > which are wrappers around direct function pointer access with proper > checks already done. > Will do. > > There is also freerdp_input_send_unicode_keyboard_event which can send > UTF-16 symbols > > (but that might not be what you want and some servers do not allow key > combinations this way) > Well, SDL2 does actually have UTF IME support. This works as expected but the support in SDL2 is more complete than in FreeRDP - SDL2 returns an arbitrary UTF-8 string, which I need to take the first two bytes of to create a UINT16 for FreeRDP. Cheers, R0b0t1 > > On 08/01/2018 08:04 AM, R0b0t1 wrote: >> On Tue, Jul 31, 2018 at 2:18 AM, Armin Novak via FreeRDP-devel >> <freerdp-devel@lists.sourceforge.net> wrote: >>>> Thanks. I did and am mostly on the right track. If you wouldn't mind >>>> could you look over the code I have? The painting callbacks are never >>>> called. Though as far as I can tell I implemented everything I should >>>> have (probably even some things I didn't need to). >>> You're missing the RDP main loop (the one with freerdp_connect and >>> freerdp_disconnect) >> This was it. I was having a hard time figuring out which function >> actually called into the main loop of FreeRDP. It turns out it is >> freerdp_check_event_handles. >> >>>> Not exactly sure how to send you the code. Hopefully the list accepts >>>> .tar.xz? There are two files. >>> Best a link to a git branch ;) >>> >> Thanks for the help so far. I am displaying the screen using hardware >> acceleration and receive decent throughput. I have started in on the >> input handling. >> >> I can send keys, but what SDL2 reports as a scancode does not seem to >> match what Windows expects or FreeRDP sends. I would prefer to use >> freerdp_input_send_keyboard_event_ex so that I can handle >> keyup/keydown properly but do not know how RDP scancodes are mapped. >> However even if I use freerdp_input_send_keyboard the keys are still >> not right but in the same way as far as I can tell. >> >> The Android example does something else and calls >> instance->input->KeyboardEvent. Is any one more correct? >> >> Why are there both freerdp_input_send_keyboard_event_ex and >> freerdp_input_send_extended_mouse_event? >> >> Cheers, >> R0b0t1 > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ FreeRDP-devel mailing list FreeRDP-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freerdp-devel