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

Arrow and other command keys from QWERTY keyboard on a Braille display driver do not work #6985

Closed
tibabit opened this issue Mar 16, 2017 · 5 comments

Comments

@tibabit
Copy link
Contributor

tibabit commented Mar 16, 2017

Hi,
I am working a new braille display device and I am trying to use QWERTY keyboard with my braille display to access PC running NVDA. for this I use injectRawKeyboardInput from keyboardHandler class, however I am facing some issues getting it to work-

What works: alphabets, numbers, symbols, space, backspace delete, enter, tab, ctrl, shift, alt, function

What doesn't work: Arrow keys, PgUp, PgDown, Home, End, etc.

I am running Linux on my braille display device. To send keys to NVDA I read scan codes from keyboard using Linux input_event structure and send the scan code to NVDA and on the NVDA side I call injectRawKeyboardInput in my braille display driver, to pass these scan codes to OS.

Please help me get these keys to work.
Please let me know if this issues needs more explanation/clarification.

Reference: #4576
@josephsl @jcsteh

@tibabit tibabit changed the title Arrow and other command keys from QWERT keyboard on a Braille display driver do not work Arrow and other command keys from QWERTY keyboard on a Braille display driver do not work Mar 16, 2017
@josephsl
Copy link
Collaborator

josephsl commented Mar 16, 2017 via email

@tibabit
Copy link
Contributor Author

tibabit commented Mar 16, 2017

I am working on the display being developed by the company I work in, so it is not available in the market yet.

@josephsl
Copy link
Collaborator

josephsl commented Mar 16, 2017 via email

@jcsteh
Copy link
Contributor

jcsteh commented Mar 17, 2017

This works as expected for me. Tested as follows:

  1. Open the NVDA Python console with NVDA+control+z.
  2. Enter the following: wx.CallLater(1000, lambda: keyboardHandler.injectRawKeyboardInput(True, 0x48, True))
    • Note: 0x48 is the PC set 1 scan code for up arrow.

After 1 second, the cursor moves to the previous line and NVDA reads the line, just as if up arrow had been pressed.

At a guess, I'd say the scan codes you're getting in Linux are from a different set. Windows expects scan codes from PC set 1.

@tibabit
Copy link
Contributor Author

tibabit commented Mar 17, 2017

Thanks @jcsteh, I will check the scan codes.

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

No branches or pull requests

3 participants