When expecting to done console custom font support for QNX RtP ?
P.S. How I can get valid shift keys status in console (e.g. Shift, Alt,
Ctrl: right and left keys) ?
When expecting to done console custom font support for QNX RtP ?
P.S. How I can get valid shift keys status in console (e.g. Shift, Alt,
Ctrl: right and left keys) ?
Can you give us more information?
How are you trying to get these keys now?
Is this with a POSIX API, curses, a TTY widget in Photon?
“Mike Gorchak” <mike@malva.com.ua> wrote in message
news:9v7vbh$e6$1@inn.qnx.com…
When expecting to done console custom font support for QNX RtP ?
P.S. How I can get valid shift keys status in console (e.g. Shift, Alt,
Ctrl: right and left keys) ?
Can you give us more information?
How are you trying to get these keys now?
Is this with a POSIX API, curses, a TTY widget in Photon?
No, I’m using ioctl API to get this info … below some sources
When expecting to done console custom font support for QNX RtP ?
And what’s about fonts ? (It would be nice if I can get cfont (like in QNX4)
utility)
P.S. How I can get valid shift keys status in console (e.g. Shift, Alt,
Ctrl: right and left keys) ?
I try to read Shift + cursor keys combination (Shift+Left, Shift+Home, Shift
+Right, etc.) I wrote this small test program, when I press Shift+Enter,
Shift bit is set and stdin has key Enter, but when I press Shift+Left, Left
cursor key in stdin, but shift bit isn’t set, help me please !
I use defined constants in sys/dcmd_chr.h.
// _LINESTATUS_CON_SCROLL
// _LINESTATUS_CON_NUM
// _LINESTATUS_CON_CAPS
// _LINESTATUS_CON_SHIFT
// _LINESTATUS_CON_CTRL
// _LINESTATUS_CON_ALT
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/dcmd_chr.h>
char BiBuffer[0x80];
char* BinaryValue(int Key)
{
int TempKey=Key;
strcpy(BiBuffer, “”);
for(int It=0; It<32; It++)
{
if (TempKey&0x80000000L)
{
strcat(BiBuffer, “1”);
}
else
{
strcat(BiBuffer, “0”);
}
TempKey<<=1;
}
return BiBuffer;
}
void main()
{
int Status;
int KeyStatus;
int KeyStatusOld=0x0000;
int RetStatus;
printf("\n");
do {
RetStatus=devctl(fileno(stdin), DCMD_CHR_LINESTATUS, &KeyStatus,
sizeof(int), &Status);
if (KeyStatus!=KeyStatusOld)
printf("%08X %s\n", KeyStatus, BinaryValue(KeyStatus));
KeyStatusOld=KeyStatus;
} while(1);
}