Page 7 of 16

Posted: Wed Sep 13, 2017 12:38 pm
by vickyg2003
The mouse commands have been fixed and are working in version #2. Three mistakes there, 2 typing errors, and reversing the left and right click, because I don't know left from right.

The Keyboard still has some trouble, mostly with some values that I did by hand
A,C,G,

I will have a look at these next.

Posted: Wed Sep 13, 2017 12:45 pm
by The Robman
vickyg2003 wrote:The Keyboard still has some trouble, mostly with some values that I did by hand: A,C,G
I thought we had a good decode for "G": 00100000-11111000000000000101000000000

I never saw working signals for "A" and "C", if you can re-capture them I'll decode them for you.

Posted: Wed Sep 13, 2017 4:18 pm
by vickyg2003
It seems i packed up the wrong version of the protocol so none of the of the shifted keys are working. I was about to post it when i ran out of time. Most of the keys are working once the right protocol is included.

On a bare windows 10 machine how would you test ESC, shift and function keys?

Posted: Wed Sep 13, 2017 4:32 pm
by mdavej
vickyg2003 wrote:On a bare windows 10 machine how would you test shift and function keys?
This might work:
http://aalapshah.in/qipress/

Posted: Thu Sep 14, 2017 7:41 am
by vickyg2003
Thanks Dave, that reminded me that there is the OSK built into windows. The window 10 OSK is kind of lame, but somewhere in my teaching stuff I copied off the OSK from my old XP del that has Function keys. I haven't found it yet, but I know I have it on a thumbdrive somewhere.

This morning I updated the link with the latest and greatest.
Tested all keys except F2-F12, will test those once I find my old OSK.exe.

Issue: Comma is not sending a comma, its sending a <. That is direct from harmony, so we can't do anything about that unless someone comes up with a new version.

Esc, Alt, Shift, Capslocks, Windows/Start CNTL were all verified.
1234567890 were all verified
abcdefghijklmnopqrstuvwxyz
!@#$%^&*()_+ were all verified
[]{}\|<>?/ were all verified
F1 was verified.

https://www.hifi-remote.com/forums/dload ... e_id=14676

Posted: Thu Sep 14, 2017 8:07 am
by mdavej
I think that's ok since comma and < are the same keycode. I wouldn't worry about it as long as you're sending hex OBC 36.

I actually use the OSK in Win 10 a lot. Here's a couple of ways to launch it.
https://www.isunshare.com/windows-10/6- ... ws-10.html

I guess the next step is to name this (these) protocol(s) and get it in protocols.ini for the various processors. I have no idea how protocols get named, but "MCE Keyboard" seems as good as any.

Posted: Thu Sep 14, 2017 9:30 am
by vickyg2003
mdavej wrote:I think that's ok since comma and < are the same keycode. I wouldn't worry about it as long as you're sending hex OBC 36.

................

I guess the next step is to name this (these) protocol(s) and get it in protocols.ini for the various processors. I have no idea how protocols get named, but "MCE Keyboard" seems as good as any.
No the next step is to figure out how the checksum is calculated.

We have a ton of binary timing sets, which should help. The last 8 bits is some sort of shift flag. When you send !@#$%^&*() you see that the value is always "000000010" for these keys. The next to the last is the keycode which is very straight forward, we have all of those. When the byte before that is always "00000000" again. And the 5 bits before before that is some kind of verfication code. We need some mathy type to figure out how that verifcation code is calculated. We do know that the comma has a weird bit set. I'm just not sure what keycombo would yield that code, but we do have that as another example of how the last byte affects that verification code.

What my part was is to take that checksum and the OBC and incorporate the shift bit and squish it into two bytes of hex to pass as a parameter into the protocol executor.

I squished it, by adding 128 to the OBC and then used the first 3 bits of the verification code to tell me what power of 2 it needs to be.
vvvvv = verifification code
obcobcob = OBC byte for keycode
sssssssss = shiftbyte (1 bit set)

00100,000, vvvvv, 00000000, 0,obcobco, ssssssss

My current scheme doesn't work for the following codes, but really how much do you really want to type with a remote? Although Caps Lock, CTRL, Shift and Alt were all captured. Perhaps the reason that the , is sending out < with a different ssssssss value, is that the other shift key was used when sending it.

Code: Select all

80 - Keyboard Volume Up
81 - Keyboard Volume Dn
82 - Caps Lock
83 - Num Lock
84 - Scroll Lock
85 - Keypad , Brazilian Keypad .
86 - Keyboard Equal Sign
87 - Keyboard Int'l 1
88 - Keyboard Int'l 2
89 - Keyboard Int'l 2
8A - Keyboard Int'l 4
8B - Keyboard Int'l 5
8C - Keyboard Int'l 6
8D - Keyboard Int'l 7
8E - Keyboard Int'l 8
8F - Keyboard Int'l 9
90 - Keyboard Lang 1
91 - Keyboard Lang 2
92 - Keyboard Lang 3
93 - Keyboard Lang 4
94 - Keyboard Lang 5
95 - Keyboard Lang 6
96 - Keyboard Lang 7
97 - Keyboard Lang 8
98 - Keyboard Alternate
99 - Erase
9A - SysReq/Attention
9B - Keyboard Cancel
9C - Keyboard Clear
9D - Keyboard Prior
9E - Keyboard Return
9F - Keyboard Separator
A0 - Keyboard Out
A1 - Keyboard Oper
A2 - Keyboard Clear/Again
A3 - Keyboard CrSel/Props
A4 - Keyboard ExSel
E0 - Left Control
E1 - Left Shift
E2 - Left Alt
E3 - Left GUI
E4 - Right Control
E5 - Right Shift
E6 - Right Alt
E7 - Right GUI 

Posted: Thu Sep 14, 2017 9:36 am
by mdavej
Agree, no need to add those.

Posted: Thu Sep 14, 2017 11:43 am
by The Robman
Vicky, do you have a spreadsheet with all the binary that you know in it?

Posted: Thu Sep 14, 2017 3:20 pm
by vickyg2003
The Robman wrote:Vicky, do you have a spreadsheet with all the binary that you know in it?
No i have them in all sorts of formats. I have bunch of ict files that wouldn't give me all the signals inside even after padding the last leadout time.

i will put together one cohesive file tonight. Then you math/logic geniuses can have a run at the verification codes.

Posted: Thu Sep 14, 2017 7:17 pm
by vickyg2003
I relearned most of the keys and did the irscope-decode spreadsheet. I bundled it with the keyboard upgrade, so that anybody that wants to check on my work can find the data there.

The file is rawtimings.txt inside the zip file

https://www.hifi-remote.com/forums/dload ... e_id=14676

Posted: Thu Sep 14, 2017 9:51 pm
by The Robman
I have 4 of the 5 checksum bits cracked but have run out of time to get the last one.

https://www.hifi-remote.com/forums/dload ... e_id=14692

To see what I'm doing, the rec columns (P thru T) have formula to calculate the checksum and it turns red when the code is right. I'm adding bits together then using the MOD(?,2) function to replicate doing an XOR.

Posted: Fri Sep 15, 2017 7:12 am
by vickyg2003
This certainly points out why we want a complete set of learns before we try to crack an IR code.

They didn't make this easy. You need a computer to crack it, :lol:

Nice job. It certainly is above my math/logic/eyesight skills.

Posted: Fri Sep 15, 2017 10:17 am
by The Robman
OK, added the final bit. They really went to town on this checksum. This final bit required me to add 2 to the OBC and then use a bit from THAT binary.

Posted: Fri Sep 15, 2017 10:24 am
by vickyg2003
So then can you calculate what the checksum should be for the comma when the final bit is all zeros?