citronneur / rdpy

Remote Desktop Protocol in Twisted Python
GNU General Public License v3.0
1.67k stars 545 forks source link

Unknown scancode in rdpy-rssplayer #43

Open Arno0x opened 8 years ago

Arno0x commented 8 years ago

Hello,

When replaying an RSS file with the rdpy-rssplayer, the keystrokes are displayed, but not all of them. Some are displayed as "" where xx is an hexadecimal code.

Is it the expected behavior ? How can I get the real key pressed (specifying the keyboard layout somewhere?) ?

In last resort how can I map those hexadecimal value to an actual character or key that was pressed ?

Thanks and keep up with the good job ! Regards, Arno

Arno0x commented 8 years ago

oups... part of my previous message was removed (doesn't like some characters).

Was meant to say, some keystroke are displayed as "unknown scancode xx"

p-l- commented 8 years ago

You may want to edit your text and use markdown syntax (especially, you can use backquotes to protect and properly display code and program output).

Andrew143413 commented 8 years ago

Hello p-l-, I have the same issue and regarding you answer I dind't get what file I should edit and what exactly should be changed to solve the problem. Could you please explain this with more details? Regards, Andrew143413

Andrew143413 commented 8 years ago

Hello, Is there a way to extract hexadecimal key codes directly from .rss files? rdpy-rssplayer shows everything that was typed in lower case without register distinction and "Unknown scan code" for any digit ;( Any advice would be greatly appreciated.

anirudhrata commented 7 years ago

Guys dig into the code. You can add more scancodes in this file: https://github.com/citronneur/rdpy/blob/master/rdpy/core/scancode.py

rweijnen commented 7 years ago

_SCANCODEQWERTY = { 0x01 : "esc", 0x02 : "1", 0x03 : "2", 0x04 : "3", 0x05 : "4", 0x06 : "5", 0x07 : "6", 0x08 : "7", 0x09 : "8", 0x0a : "9", 0x0b : "0", 0x0c : "-", 0x0d : "=", 0x0e : "backspace", 0x0f : "tab", 0x10 : "q", 0x11 : "w", 0x12 : "e", 0x13 : "r", 0x14 : "t", 0x15 : "y", 0x16 : "u", 0x17 : "i", 0x18 : "o", 0x19 : "p", 0x1a : "[", 0x1b : "]", 0x1c : "enter", 0x1d : "left ctrl", 0x1d : "right ctrl", 0x1e : "a", 0x1f : "s", 0x20 : "d", 0x21 : "f", 0x22 : "g", 0x23 : "h", 0x24 : "j", 0x25 : "k", 0x26 : "l", 0x27 : ";", 0x28 : "0", 0x29 : "`", 0x2a : "left shift", 0x2b : "\", 0x2c : "z", 0x2d : "x", 0x2e : "c", 0x2f : "v", 0x30 : "b", 0x31 : "n", 0x32 : "m", 0x33 : ",", 0x34 : ".", 0x35 : "/", 0x35 : "/(keypad)", 0x36 : "right shift", 0x37 : "*(keypad)", 0x37 : "print scrn", 0x38 : "left alt", 0x38 : "right alt", 0x39 : "space", 0x3a : "caps lock", 0x3b : "f1", 0x3c : "f2", 0x3d : "f3", 0x3e : "f4", 0x3f : "f5", 0x40 : "f6", 0x41 : "f7", 0x42 : "f8", 0x43 : "f9", 0x44 : "f10", 0x45 : "num lock", 0x46 : "scroll lock", 0x47 : "7(keypad)", 0x47 : "home", 0x48 : "8(keypad)", 0x48 : "up arrow", 0x49 : "9(keypad)", 0x49 : "pg up", 0x4b : "4(keypad)", 0x4b : "left arrow", 0x4c : "5(keypad)", 0x4d : "6(keypad)", 0x4d : "right arrow", 0x4f : "1(keypad)", 0x4f : "end", 0x50 : "2(keypad)", 0x50 : "down arrow", 0x51 : "3(keypad)", 0x51 : "pg down", 0x52 : "0(keypad)", 0x52 : "insert", 0x53 : ".(keypad)", 0x53 : "delete", 0x54 : "?", 0x55 : "?", 0x56 : "?", 0x57 : "f11", 0x58 : "f12", 0x59 : "?", 0x5a : "?", 0x5b : "left win", 0x5c : "right win", 0x5d : "menu key", 0x1d : "pause break", 0x45 : "" }