ExistOS-Team / ExistOS-For-HP39GII

GNU General Public License v3.0
202 stars 40 forks source link

Some keycodes have changed in KhiCAS #113

Closed parisseb closed 1 year ago

parisseb commented 1 year ago

For compatibility reasons with other calculators, some keycodes have recently changed. This explains why some keys do not work in KhiCAS. The header file Libs/src/khicas/keyboard.h should be synchronized with k_defs.h, or better include it. https://www-fourier.univ-grenoble-alpes.fr/~parisse/hp39gii/k_defs.h

yuuki410 commented 1 year ago

Could you tell us what functionality is affected by these changes?

I didn't find any different expect the arrow key is work unexpected, it sends two key event per one push.

yuuki410 commented 1 year ago

because of the unexpected behavior of arrow key, I reversed the change of up down right left

See https://github.com/ExistOS-Team/ExistOS-For-HP39GII/commit/18a0952bea776f81550a15db839d7b1582477779

parisseb commented 1 year ago

Arrow keys will return keycodes 0 to 3. khicas_stub.cpp must also be synchronized, because GetKey is supposed to store -1 instead of 0 in *key for shift/alpha and unhandled keycodes. Otherwise you will have a wrong left keycode added. I also recommend to upgrade to the complete KhiCAS port available here https://www-fourier.univ-grenoble-alpes.fr/~parisse/hp39gii/giac39.tgz It adds some CAS commands and applications like interactive geometry (2d should be working, 3d needs porting), spreadsheet, periodic table, finance, ... And one big advantage is that it is based on the main giac repository, it means there will not be any problems with big/little endianness, and you will have access to improvements and bugfixes from geogebra repository https://github.com/geogebra/giac/commits/master