Why glfw give me release event key when I press another key even I still press the old one

I want to do the following:
increase the speed in a certain direction while I am holding the SHIFT key and press the arrow key at the same time.
the problem is I get release event of shift key when I press the arrow key.
even I try mods == shift , still when I press the arrow, the mods change so I cannot increase the speed.
please any help

Hi @note8g2018,

welcome to the GLFW forum.

If I run the GLFW test events.c and press and hold GLFW_KEY_LEFT_SHIFT followed by GLFW_KEY_UP then GLFW_KEY_DOWN then releasing GLFW_KEY_LEFT_SHIFT I get:

000002d9 to 1 at 18.068: Key 0x0154 Scancode 0x002a (LEFT SHIFT) (with shift) was pressed
000002da to 1 at 18.315: Key 0x0109 Scancode 0x0148 (UP) (with shift) was pressed
000002db to 1 at 18.404: Key 0x0109 Scancode 0x0148 (UP) (with shift) was released
000002dc to 1 at 18.801: Key 0x0108 Scancode 0x0150 (DOWN) (with shift) was pressed
000002dd to 1 at 18.907: Key 0x0108 Scancode 0x0150 (DOWN) (with shift) was released
000002de to 1 at 20.263: Key 0x0154 Scancode 0x002a (LEFT SHIFT) (with no mods) was released

Are you able to run the test and see what you get?

@dougbinks
hi, Sir,
I discover that the problem only with KP keys like for example:
GLFW_KEY_KP_7
with other keys, it is fine but could you please fix it.
and thank you anyway.
really thank from my heart for good job you do for people.

Best Regards,

Dir Sir,
@dougbinks
I just discover now that I must press (num lk) KEY before I use KP KEY with GLFW,
so everything now is fine.
thank you so much.

Best Regrads.