I request testers for an update of the Command Helper addon


Javi Domínguez
 

Hello.

Some users reported time ago that the feature of browsing categories by pressing the initial letter did not work in non-Latin alphabets.

https://nvda-addons.groups.io/g/nvda-addons/message/14556


I think I've fixed this but I need some user with a non-Latin keyboard to try it and tell me if it really works.

Another issue is languages with writing from right to left. In this case it may take the last letter instead of the initial. I could fix it if I knew when to apply this fix. Do you know if there is any variable or function, maybe in the locale module, with which to know if the language is written from left to right or from right to left?

Download addon here

Greetings


Javi Dominguez


Javi Domínguez
 

Hello.


I don't know if this worked because I haven't received feedback but I don't think so.

I'm trying something else: now I use scanCode instead of vkCode. This refers to the physical position of the key regardless of layout or alphabet. Maybe that works fine.


Also, I have intercepted the windows and alt keys so that they cannot be pressed while the virtual menu is active to prevent inadvertent focus movements.


Download here


Greetings


Javi Dominguez


El 22/07/2022 a las 21:32, Javi Domínguez via groups.io escribió:

Hello.

Some users reported time ago that the feature of browsing categories by pressing the initial letter did not work in non-Latin alphabets.

https://nvda-addons.groups.io/g/nvda-addons/message/14556


I think I've fixed this but I need some user with a non-Latin keyboard to try it and tell me if it really works.

Another issue is languages with writing from right to left. In this case it may take the last letter instead of the initial. I could fix it if I knew when to apply this fix. Do you know if there is any variable or function, maybe in the locale module, with which to know if the language is written from left to right or from right to left?

Download addon here

Greetings


Javi Dominguez


Alberto Buffolino
 

Il 24/07/2022 17.11, Javi Domínguez ha scritto:
I'm trying something else: now I use scanCode instead of vkCode. This refers to the physical position of the key regardless of layout or alphabet. Maybe that works fine.
Alberto:
Hi Javi,
sorry, I missed something here, but I'm interested to quoted part. So you are saying that I can discover programmatically what's the key at the right of 0, in current keyboard layout?
It could be a small, good improvement in ColumnsReview.
About virtual menus and filter of pressed keys, if you're interested, I remember to had written a bit of related code in getScript method of toolbarsExplorer.
Alberto


Javi Domínguez
 

Hello.


Yes, the scanCode corresponding to that key is 12 and this is the code to instantiate the gesture:


gesture = keyboardHandler.KeyboardInputGesture({}, 0, 12, False)


The code for the following is 13 and the 14 corresponds to the backspace key. The key to the left of the 1 in top row is 41. Etc.


to add modifier keys you have to indicate them in the first parameter which is a set.


modifiers = {(18, False), (17, False), (16, False)}
gesture = keyboardHandler.KeyboardInputGesture(modifiers, 0, 12, False)


Greetimgs


Javi

El 24/07/2022 a las 17:21, Alberto Buffolino escribió:
Il 24/07/2022 17.11, Javi Domínguez ha scritto:
I'm trying something else: now I use scanCode instead of vkCode. This refers to the physical position of the key regardless of layout or alphabet. Maybe that works fine.
Alberto:
Hi Javi,
sorry, I missed something here, but I'm interested to quoted part. So you are saying that I can discover programmatically what's the key at the right of 0, in current keyboard layout?
It could be a small, good improvement in ColumnsReview.
About virtual menus and filter of pressed keys, if you're interested, I remember to had written a bit of related code in getScript method of toolbarsExplorer.
Alberto




Abdel
 

Hi Javi and all,

First of all, a big thanks for this very useful add-on!

Sorry for not having answered your first request, I did not have time to do so.

So here is my feedback for the 2 versions you sent.:

I am using a French "AZERTY" keyboard layout.

When ej switch to an arabic keyboard with Alt+shift, NVDA+H works fine to show categories, but pressing the initials refers to the "QWERTY" keyboard, so I have to hit the comma to get the M, and so on.

If you are familiar with the "QWERTY" keyboard layout, there is no problem, but I would have preferred it to refer to the "AZERTY" one, which is my default keyboard layout.

For your question about text orientation detection, the unicodedata.bidirectional function should do the job.

It requires a single parameter, which is the character which orientation we want to know.

It returns "AL" or "R" for texts written from right to left, and "L" for texts written from left to right.

The "unicodedata" module is included by default in the Python distribution.

Thanks.

Kind regards,
Abdel.

Le 24/07/2022 à 18:11, Javi Domínguez a écrit :
Hello.


Yes, the scanCode corresponding to that key is 12 and this is the code to instantiate the gesture:


gesture = keyboardHandler.KeyboardInputGesture({}, 0, 12, False)


The code for the following is 13 and the 14 corresponds to the backspace key. The key to the left of the 1 in top row is 41. Etc.


to add modifier keys you have to indicate them in the first parameter which is a set.


modifiers = {(18, False), (17, False), (16, False)}
gesture = keyboardHandler.KeyboardInputGesture(modifiers, 0, 12, False)


Greetimgs


Javi



El 24/07/2022 a las 17:21, Alberto Buffolino escribió:
Il 24/07/2022 17.11, Javi Domínguez ha scritto:
I'm trying something else: now I use scanCode instead of vkCode. This refers to the physical position of the key regardless of layout or alphabet. Maybe that works fine.
Alberto:
Hi Javi,
sorry, I missed something here, but I'm interested to quoted part. So you are saying that I can discover programmatically what's the key at the right of 0, in current keyboard layout?
It could be a small, good improvement in ColumnsReview.
About virtual menus and filter of pressed keys, if you're interested, I remember to had written a bit of related code in getScript method of toolbarsExplorer.
Alberto







Javi Domínguez
 

Hello.


Thanks for the feedback. Please try this previous version and tell me if it works well for you with AZERTY keyboard.


https://github.com/javidominguez/commandHelper/releases/download/dev20220402/commandHelper-dev20220402.nvda-addon


Greetings


Javi

El 24/07/2022 a las 19:13, Abdel escribió:
Hi Javi and all,

First of all, a big thanks for this very useful add-on!

Sorry for not having answered your first request, I did not have time to do so.

So here is my feedback for the 2 versions you sent.:

I am using a French "AZERTY" keyboard layout.

When ej switch to an arabic keyboard with Alt+shift, NVDA+H works fine to show categories, but pressing the initials refers to the "QWERTY" keyboard, so I have to hit the comma to get the M, and so on.

If you are familiar with the "QWERTY" keyboard layout, there is no problem, but I would have preferred it to refer to the "AZERTY" one, which is my default keyboard layout.

For your question about text orientation detection, the unicodedata.bidirectional function should do the job.

It requires a single parameter, which is the character which orientation we want to know.

It returns "AL" or "R" for texts written from right to left, and "L" for texts written from left to right.

The "unicodedata" module is included by default in the Python distribution.

Thanks.

Kind regards,
Abdel.

Le 24/07/2022 à 18:11, Javi Domínguez a écrit :
Hello.


Yes, the scanCode corresponding to that key is 12 and this is the code to instantiate the gesture:


gesture = keyboardHandler.KeyboardInputGesture({}, 0, 12, False)


The code for the following is 13 and the 14 corresponds to the backspace key. The key to the left of the 1 in top row is 41. Etc.


to add modifier keys you have to indicate them in the first parameter which is a set.


modifiers = {(18, False), (17, False), (16, False)}
gesture = keyboardHandler.KeyboardInputGesture(modifiers, 0, 12, False)


Greetimgs


Javi



El 24/07/2022 a las 17:21, Alberto Buffolino escribió:
Il 24/07/2022 17.11, Javi Domínguez ha scritto:
I'm trying something else: now I use scanCode instead of vkCode. This refers to the physical position of the key regardless of layout or alphabet. Maybe that works fine.
Alberto:
Hi Javi,
sorry, I missed something here, but I'm interested to quoted part. So you are saying that I can discover programmatically what's the key at the right of 0, in current keyboard layout?
It could be a small, good improvement in ColumnsReview.
About virtual menus and filter of pressed keys, if you're interested, I remember to had written a bit of related code in getScript method of toolbarsExplorer.
Alberto










Abdel
 

Hi Javi,

Thanks for this quick update.

Here, the keyboard remained on the "QWERTY", which is not my default keyboard.

In fact, it would be preferable if the add-on could recognize the keyboard defined by default for each user.

So every user could automatically end up with their default keyboard layout after switching to a non-Latin keyboard with Alt+Shift.

Thanks.

Kind regards,
Abdel.

Le 24/07/2022 à 20:14, Javi Domínguez a écrit :
Hello.


Thanks for the feedback. Please try this previous version and tell me if it works well for you with AZERTY keyboard.


https://github.com/javidominguez/commandHelper/releases/download/dev20220402/commandHelper-dev20220402.nvda-addon


Greetings


Javi



El 24/07/2022 a las 19:13, Abdel escribió:
Hi Javi and all,

First of all, a big thanks for this very useful add-on!

Sorry for not having answered your first request, I did not have time to do so.

So here is my feedback for the 2 versions you sent.:

I am using a French "AZERTY" keyboard layout.

When ej switch to an arabic keyboard with Alt+shift, NVDA+H works fine to show categories, but pressing the initials refers to the "QWERTY" keyboard, so I have to hit the comma to get the M, and so on.

If you are familiar with the "QWERTY" keyboard layout, there is no problem, but I would have preferred it to refer to the "AZERTY" one, which is my default keyboard layout.

For your question about text orientation detection, the unicodedata.bidirectional function should do the job.

It requires a single parameter, which is the character which orientation we want to know.

It returns "AL" or "R" for texts written from right to left, and "L" for texts written from left to right.

The "unicodedata" module is included by default in the Python distribution.

Thanks.

Kind regards,
Abdel.

Le 24/07/2022 à 18:11, Javi Domínguez a écrit :
Hello.


Yes, the scanCode corresponding to that key is 12 and this is the code to instantiate the gesture:


gesture = keyboardHandler.KeyboardInputGesture({}, 0, 12, False)


The code for the following is 13 and the 14 corresponds to the backspace key. The key to the left of the 1 in top row is 41. Etc.


to add modifier keys you have to indicate them in the first parameter which is a set.


modifiers = {(18, False), (17, False), (16, False)}
gesture = keyboardHandler.KeyboardInputGesture(modifiers, 0, 12, False)


Greetimgs


Javi



El 24/07/2022 a las 17:21, Alberto Buffolino escribió:
Il 24/07/2022 17.11, Javi Domínguez ha scritto:
I'm trying something else: now I use scanCode instead of vkCode. This refers to the physical position of the key regardless of layout or alphabet. Maybe that works fine.
Alberto:
Hi Javi,
sorry, I missed something here, but I'm interested to quoted part. So you are saying that I can discover programmatically what's the key at the right of 0, in current keyboard layout?
It could be a small, good improvement in ColumnsReview.
About virtual menus and filter of pressed keys, if you're interested, I remember to had written a bit of related code in getScript method of toolbarsExplorer.
Alberto













Abdel
 

Hi again Javi,

If the default keyboard is non-Latin, the choice of "QWERTY" might be more appropriate.

Kind regards,
Abdel.

Le 24/07/2022 à 21:01, Abdel a écrit :
Hi Javi,

Thanks for this quick update.

Here, the keyboard remained on the "QWERTY", which is not my default keyboard.

In fact, it would be preferable if the add-on could recognize the keyboard defined by default for each user.

So every user could automatically end up with their default keyboard layout after switching to a non-Latin keyboard with Alt+Shift.

Thanks.

Kind regards,
Abdel.

Le 24/07/2022 à 20:14, Javi Domínguez a écrit :
Hello.


Thanks for the feedback. Please try this previous version and tell me if it works well for you with AZERTY keyboard.


https://github.com/javidominguez/commandHelper/releases/download/dev20220402/commandHelper-dev20220402.nvda-addon


Greetings


Javi



El 24/07/2022 a las 19:13, Abdel escribió:
Hi Javi and all,

First of all, a big thanks for this very useful add-on!

Sorry for not having answered your first request, I did not have time to do so.

So here is my feedback for the 2 versions you sent.:

I am using a French "AZERTY" keyboard layout.

When ej switch to an arabic keyboard with Alt+shift, NVDA+H works fine to show categories, but pressing the initials refers to the "QWERTY" keyboard, so I have to hit the comma to get the M, and so on.

If you are familiar with the "QWERTY" keyboard layout, there is no problem, but I would have preferred it to refer to the "AZERTY" one, which is my default keyboard layout.

For your question about text orientation detection, the unicodedata.bidirectional function should do the job.

It requires a single parameter, which is the character which orientation we want to know.

It returns "AL" or "R" for texts written from right to left, and "L" for texts written from left to right.

The "unicodedata" module is included by default in the Python distribution.

Thanks.

Kind regards,
Abdel.

Le 24/07/2022 à 18:11, Javi Domínguez a écrit :
Hello.


Yes, the scanCode corresponding to that key is 12 and this is the code to instantiate the gesture:


gesture = keyboardHandler.KeyboardInputGesture({}, 0, 12, False)


The code for the following is 13 and the 14 corresponds to the backspace key. The key to the left of the 1 in top row is 41. Etc.


to add modifier keys you have to indicate them in the first parameter which is a set.


modifiers = {(18, False), (17, False), (16, False)}
gesture = keyboardHandler.KeyboardInputGesture(modifiers, 0, 12, False)


Greetimgs


Javi



El 24/07/2022 a las 17:21, Alberto Buffolino escribió:
Il 24/07/2022 17.11, Javi Domínguez ha scritto:
I'm trying something else: now I use scanCode instead of vkCode. This refers to the physical position of the key regardless of layout or alphabet. Maybe that works fine.
Alberto:
Hi Javi,
sorry, I missed something here, but I'm interested to quoted part. So you are saying that I can discover programmatically what's the key at the right of 0, in current keyboard layout?
It could be a small, good improvement in ColumnsReview.
About virtual menus and filter of pressed keys, if you're interested, I remember to had written a bit of related code in getScript method of toolbarsExplorer.
Alberto
















Abdel
 

Hi again Javi,

Finally, I think we can keep your latest version, users of the "QWERTY" keyboard are much more prevalent and your last 3 versions allow to use this keyboard layout very well.

Here is the layout used in my Arabic keyboard.

https://kbdlayout.info/kbda3/scancodes

Thanks.

Kind regards,
Abdel.

Le 24/07/2022 à 21:08, Abdel a écrit :
Hi again Javi,

If the default keyboard is non-Latin, the choice of "QWERTY" might be more appropriate.

Kind regards,
Abdel.

Le 24/07/2022 à 21:01, Abdel a écrit :
Hi Javi,

Thanks for this quick update.

Here, the keyboard remained on the "QWERTY", which is not my default keyboard.

In fact, it would be preferable if the add-on could recognize the keyboard defined by default for each user.

So every user could automatically end up with their default keyboard layout after switching to a non-Latin keyboard with Alt+Shift.

Thanks.

Kind regards,
Abdel.

Le 24/07/2022 à 20:14, Javi Domínguez a écrit :
Hello.


Thanks for the feedback. Please try this previous version and tell me if it works well for you with AZERTY keyboard.


https://github.com/javidominguez/commandHelper/releases/download/dev20220402/commandHelper-dev20220402.nvda-addon


Greetings


Javi



El 24/07/2022 a las 19:13, Abdel escribió:
Hi Javi and all,

First of all, a big thanks for this very useful add-on!

Sorry for not having answered your first request, I did not have time to do so.

So here is my feedback for the 2 versions you sent.:

I am using a French "AZERTY" keyboard layout.

When ej switch to an arabic keyboard with Alt+shift, NVDA+H works fine to show categories, but pressing the initials refers to the "QWERTY" keyboard, so I have to hit the comma to get the M, and so on.

If you are familiar with the "QWERTY" keyboard layout, there is no problem, but I would have preferred it to refer to the "AZERTY" one, which is my default keyboard layout.

For your question about text orientation detection, the unicodedata.bidirectional function should do the job.

It requires a single parameter, which is the character which orientation we want to know.

It returns "AL" or "R" for texts written from right to left, and "L" for texts written from left to right.

The "unicodedata" module is included by default in the Python distribution.

Thanks.

Kind regards,
Abdel.

Le 24/07/2022 à 18:11, Javi Domínguez a écrit :
Hello.


Yes, the scanCode corresponding to that key is 12 and this is the code to instantiate the gesture:


gesture = keyboardHandler.KeyboardInputGesture({}, 0, 12, False)


The code for the following is 13 and the 14 corresponds to the backspace key. The key to the left of the 1 in top row is 41. Etc.


to add modifier keys you have to indicate them in the first parameter which is a set.


modifiers = {(18, False), (17, False), (16, False)}
gesture = keyboardHandler.KeyboardInputGesture(modifiers, 0, 12, False)


Greetimgs


Javi



El 24/07/2022 a las 17:21, Alberto Buffolino escribió:
Il 24/07/2022 17.11, Javi Domínguez ha scritto:
I'm trying something else: now I use scanCode instead of vkCode. This refers to the physical position of the key regardless of layout or alphabet. Maybe that works fine.
Alberto:
Hi Javi,
sorry, I missed something here, but I'm interested to quoted part. So you are saying that I can discover programmatically what's the key at the right of 0, in current keyboard layout?
It could be a small, good improvement in ColumnsReview.
About virtual menus and filter of pressed keys, if you're interested, I remember to had written a bit of related code in getScript method of toolbarsExplorer.
Alberto