forum-msg-id-135119-edit

Original date:2020-10-16 23:11:30 Edited by: achury Subject: Re: TAB KEY

SDPringle said...

Since the value of TAB as a character is indistinguishable from CNTRL+I, I believe the intention was to give get_key() the ability to distinguish CNTRL+I with TAB keystrokes. Whereas this might be useful in games it is supposed to be a high-level system where you don't have details like numeric keys in the number locked keypad versus number keys that are all in one row. So why should we be able to distinguish CNTRL+I from the TAB key? The community has spoken. Let's change things back.

Such things were common on DOS. The programs used to read directly ports to check when a key is pressed or released on real time. I don't know on Windows on deep, but by sure the OS have an API for such information. A game or any program that requires low level machine information must to use such functions. But as I understand, get_key() is a text orient function. I allways assumed that is like BASIC's INKEY$. Simply gives you the next text character on the keyboard buffer, even if such key was pressed and released several minutes ago.

Several times I have used english and french keyboards on computer wuth spanish locale. Such thing must be transparent to user (and programs). OS manage the keyboard's hardware, filter the information depending on the user's locale and provide to the user text characters. If Eu interpreter calls high level OS functions to get the characters, why not pass them directly to my program? The OS maintainers are responsable to keep updated the locale profiles for any present or future language and keyboard, left them to make their job.

People programming games requires different functions, not text oriented. May be is needed on standar library or a separated package with such low level keyboard control functions, things like turn off NumCaps and get on real time pressed and released keys.

Regards

Marco Achury

Not Categorized, Please Help

Search



Quick Links

User menu

Not signed in.

Misc Menu