Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: allow sending raw keys #129

Closed
Iey4iej3 opened this issue Jan 23, 2023 · 8 comments
Closed

Feature: allow sending raw keys #129

Iey4iej3 opened this issue Jan 23, 2023 · 8 comments

Comments

@Iey4iej3
Copy link

Iey4iej3 commented Jan 23, 2023

Sometimes, one has to send raw keys. See TigerVNC/tigervnc#962

This is particularly used under Termux. See termux/termux-packages#14491 (comment)

@gujjwal00
Copy link
Owner

Which type of keyboard are you using?

@Iey4iej3
Copy link
Author

Bluetooth keyboard.

@gujjwal00
Copy link
Owner

Please go to Settings => Tools =>Key test in AVNC. Tap on gray area to focus it. Now type a bunch of letters, press few keys like F1, Tab, arrow keys. Copy logs and paste here.

@Iey4iej3
Copy link
Author

Key test

KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_A, scanCode=30, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205662787, downTime=205662787, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_A, scanCode=30, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205662965, downTime=205662787, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_B, scanCode=48, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205663125, downTime=205663125, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_B, scanCode=48, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205663281, downTime=205663125, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_C, scanCode=46, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205663461, downTime=205663461, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_C, scanCode=46, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205663550, downTime=205663461, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_D, scanCode=32, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205663845, downTime=205663845, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_D, scanCode=32, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205663933, downTime=205663845, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_E, scanCode=18, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205664160, downTime=205664160, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_E, scanCode=18, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205664225, downTime=205664160, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_F, scanCode=33, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205664407, downTime=205664407, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_F, scanCode=33, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205664541, downTime=205664407, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_G, scanCode=34, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205664743, downTime=205664743, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_G, scanCode=34, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205664900, downTime=205664743, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_H, scanCode=35, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205665171, downTime=205665171, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_H, scanCode=35, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205665283, downTime=205665171, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_I, scanCode=23, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205665577, downTime=205665577, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_I, scanCode=23, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205665688, downTime=205665577, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_J, scanCode=36, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205665891, downTime=205665891, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_J, scanCode=36, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205666003, downTime=205665891, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_K, scanCode=37, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205666183, downTime=205666183, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_K, scanCode=37, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205666296, downTime=205666183, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_L, scanCode=38, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205666455, downTime=205666455, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_L, scanCode=38, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205666566, downTime=205666455, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_M, scanCode=50, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205666971, downTime=205666971, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_M, scanCode=50, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205667105, downTime=205666971, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_N, scanCode=49, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205667242, downTime=205667242, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_N, scanCode=49, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205667308, downTime=205667242, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_O, scanCode=24, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205667714, downTime=205667714, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_O, scanCode=24, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205667826, downTime=205667714, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_P, scanCode=25, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205667962, downTime=205667962, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_P, scanCode=25, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205668028, downTime=205667962, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_Q, scanCode=16, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205668390, downTime=205668390, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_Q, scanCode=16, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205668546, downTime=205668390, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_R, scanCode=19, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205668705, downTime=205668705, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_R, scanCode=19, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205668793, downTime=205668705, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_S, scanCode=31, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205669042, downTime=205669042, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_S, scanCode=31, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205669153, downTime=205669042, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_T, scanCode=20, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205669245, downTime=205669245, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_T, scanCode=20, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205669333, downTime=205669245, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_U, scanCode=22, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205669605, downTime=205669605, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_U, scanCode=22, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205669716, downTime=205669605, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_V, scanCode=47, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205669828, downTime=205669828, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_V, scanCode=47, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205669940, downTime=205669828, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_W, scanCode=17, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205670077, downTime=205670077, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_W, scanCode=17, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205670188, downTime=205670077, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_X, scanCode=45, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205670413, downTime=205670413, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_X, scanCode=45, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205670593, downTime=205670413, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_Y, scanCode=21, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205670683, downTime=205670683, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_Y, scanCode=21, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205670773, downTime=205670683, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_Z, scanCode=44, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205670886, downTime=205670886, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_Z, scanCode=44, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205671043, downTime=205670886, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ENTER, scanCode=28, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205678041, downTime=205678041, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ENTER, scanCode=28, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205678198, downTime=205678041, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_TAB, scanCode=15, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205684545, downTime=205684545, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_DPAD_LEFT, scanCode=105, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205693702, downTime=205693702, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_DPAD_LEFT, scanCode=105, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205693880, downTime=205693702, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_DPAD_RIGHT, scanCode=106, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205694040, downTime=205694040, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_DPAD_RIGHT, scanCode=106, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205694196, downTime=205694040, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_DPAD_LEFT, scanCode=105, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205694308, downTime=205694308, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_DPAD_LEFT, scanCode=105, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205694466, downTime=205694308, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_DPAD_RIGHT, scanCode=106, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205694578, downTime=205694578, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_DPAD_RIGHT, scanCode=106, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205694758, downTime=205694578, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_DPAD_LEFT, scanCode=105, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205694780, downTime=205694780, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_DPAD_LEFT, scanCode=105, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205694961, downTime=205694780, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_DPAD_RIGHT, scanCode=106, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205695095, downTime=205695095, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_DPAD_LEFT, scanCode=105, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205695253, downTime=205695253, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_DPAD_RIGHT, scanCode=106, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205695254, downTime=205695253, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_DPAD_LEFT, scanCode=105, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205695435, downTime=205695253, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_DPAD_RIGHT, scanCode=106, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205695592, downTime=205695592, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_DPAD_RIGHT, scanCode=106, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205695770, downTime=205695592, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_DPAD_LEFT, scanCode=105, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205696132, downTime=205696132, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_DPAD_LEFT, scanCode=105, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205696266, downTime=205696132, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_DPAD_RIGHT, scanCode=106, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205696380, downTime=205696380, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_DPAD_RIGHT, scanCode=106, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205696513, downTime=205696380, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_RIGHT, scanCode=100, metaState=META_ALT_ON|META_ALT_RIGHT_ON|META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205699777, downTime=205699777, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_RIGHT, scanCode=100, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205699933, downTime=205699777, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_RIGHT, scanCode=100, metaState=META_ALT_ON|META_ALT_RIGHT_ON|META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205700091, downTime=205700091, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_RIGHT, scanCode=100, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205700203, downTime=205700091, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_RIGHT, scanCode=100, metaState=META_ALT_ON|META_ALT_RIGHT_ON|META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205700340, downTime=205700340, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_RIGHT, scanCode=100, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205700473, downTime=205700340, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_RIGHT, scanCode=100, metaState=META_ALT_ON|META_ALT_RIGHT_ON|META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205700632, downTime=205700632, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_RIGHT, scanCode=100, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205700765, downTime=205700632, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_RIGHT, scanCode=100, metaState=META_ALT_ON|META_ALT_RIGHT_ON|META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205701711, downTime=205701711, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_RIGHT, scanCode=100, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205701801, downTime=205701711, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_RIGHT, scanCode=100, metaState=META_ALT_ON|META_ALT_RIGHT_ON|META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205701935, downTime=205701935, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_RIGHT, scanCode=100, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205702003, downTime=205701935, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_RIGHT, scanCode=100, metaState=META_ALT_ON|META_ALT_RIGHT_ON|META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205702161, downTime=205702161, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_RIGHT, scanCode=100, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205702228, downTime=205702161, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_ALT_ON|META_ALT_LEFT_ON|META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205702881, downTime=205702881, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205702948, downTime=205702881, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_ALT_ON|META_ALT_LEFT_ON|META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205703106, downTime=205703106, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205703195, downTime=205703106, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_ALT_ON|META_ALT_LEFT_ON|META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205703308, downTime=205703308, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205703398, downTime=205703308, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_ALT_ON|META_ALT_LEFT_ON|META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205703512, downTime=205703512, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205703623, downTime=205703512, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_ALT_ON|META_ALT_LEFT_ON|META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205703736, downTime=205703736, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205703825, downTime=205703736, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_ALT_ON|META_ALT_LEFT_ON|META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205703961, downTime=205703961, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205704005, downTime=205703961, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_ALT_ON|META_ALT_LEFT_ON|META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205704118, downTime=205704118, deviceId=56, source=0x101, displayId=-1 }
KeyEvent { action=ACTION_UP, keyCode=KEYCODE_ALT_LEFT, scanCode=56, metaState=META_NUM_LOCK_ON, flags=0x8, repeatCount=0, eventTime=205704231, downTime=205704118, deviceId=56, source=0x101, displayId=-1 }


Preview text: abcdefghijklmnopqrstuvwxyz

@gujjwal00
Copy link
Owner

Thanks.
Please note that supporting this will probably take a while.

@Iey4iej3 Iey4iej3 changed the title Feature: allow sending raw keyboard Feature: allow sending raw keys Jan 24, 2023
@gujjwal00
Copy link
Owner

@Iey4iej3 please test the following APK: app-debug.zip
It will send raw scan codes along with key symbols (remember to turn ON server support).

@Iey4iej3
Copy link
Author

Iey4iej3 commented Mar 6, 2023

The APK in #149 (comment) works. The "Win"-key does not seem to be captured, but this seems to be expected to be filtered out by Android.

gujjwal00 added a commit that referenced this issue Mar 10, 2023
- If available, AVNC will send raw XT scancodes to servers.
- Servers support for extended key event is required for this to work.

Re: #129 & #149
@gujjwal00
Copy link
Owner

v2.2.0 is now available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants