xrdp icon indicating copy to clipboard operation
xrdp copied to clipboard

Update scancode processing

Open matt335672 opened this issue 8 months ago • 0 comments

Fixes #621 Fixes #355

This is a significant re-write of xrdp keyboard handling.

See also xorgxrdp PR neutrinolabs/xorgxrdp#316

This builds on the work in #3039 / #3113 with significant changes:-

  1. The ad-hoc ways of indexing scancodes have been brought together in a 'scancode index' which maps an RDP scancode into an 8-bit value. This index can then be used to access an array containing state information about a particular key.
  2. RDP scancode defines are provided in a new development file xrdp_scancode_defs.h
  3. (related to the above) A lot of magic numbers have been removed.
  4. Some keys which only worked with xorgxrdp (pause and ABNT2 keypad point) now work with VNC as well.
  5. The confusingly named function xrdp_load_keyboard_layout() which is only needed for xorgxrdp has been renamed xrdp_init_xkb_layout() and is now only called when needed.
  6. The keycode set (base or evdev) can be specified for the X server at run-time.The corresponding XKB rules are passed to xorgxrdp.
  7. A minor unreported problem with xorgxrdp has been resolved.

I've got a bit more testing to do before I can merge this, but I'd welcome any comments.

matt335672 avatar Jun 24 '24 15:06 matt335672