Peter Bieringer wrote: > Klaus Schmidinger wrote: > >>>Looks like all function keys are no longer working, I have assigned the >>>color keys to F1 to F4, non of them working in 1.3.38. >> >> >>Well, at least F1..F4 do work for me. >> >>Please add some debug printf's to cKbdRemote::ReadKeySequence() >>and try to find out what goes wrong. > > > It's caused by the 64 bit shift limit, pressing F12 causes 5 ReadKey > calls, resulting in 80 bit, but only lower 64 bit are returned: Are you sure about that? 64 bit are 8 byte, and 5 ReadKey() calls should only result in 5 * 8 = 40 bit. Klaus > cKbdRemote::ReadKeySequence: r=1 k=1b key1=0 > cKbdRemote::ReadKeySequence: r=2 k=1b5b key1=0 > cKbdRemote::ReadKeySequence: r=3 k=1b5b32 key1=0 > cKbdRemote::ReadKeySequence: r=4 k=1b5b3232 key1=0 > cKbdRemote::ReadKeySequence: r=5 k=5b323234 key1=1b > cKbdRemote::ReadKeySequence: r=5 k=5b323234 > > I've added > > r++; > fprintf(stderr, "cKbdRemote::ReadKeySequence: r=%d k=%lx key1=%x\n", r, > k, key1); > > after each "k |= > > and > > if (k != 0) { > fprintf(stderr, "cKbdRemote::ReadKeySequence: r=%d k=%lx\n", r, k); > } > > before "return k" > > BTW: it' strange that key1 is set to 0 after > k |=... > > Peter