JP1 Remotes Forum Index JP1 Remotes


FAQFAQ SearchSearch 7 days of topics7 Days MemberlistMemberlist UsergroupsUsergroups RegisterRegister
ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in

Microsoft MCE Keyboard Remote
Goto page Previous  1, 2, 3 ... 9, 10, 11 ... 14, 15, 16  Next
 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Keyboards
View previous topic :: View next topic  
Author Message
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Thu Sep 21, 2017 12:47 pm    Post subject: Reply with quote

I have a working version of Rob's Keyboard protocol for the HCS08

I have not started working on the mouse version because I'm trying to get this thing to travel farther.

I have shortened the leadout time to 3000, and it runs smoother, but it will still travel, just so far and then quit. I have observed that the left down motion will travel much farther than the right up. Even though the arrow stops moving, the IR is continuing to fire.
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Fri Sep 22, 2017 7:38 pm    Post subject: Reply with quote

Rob i've been playing with the checksum on the mouse signals. The first thing I noticed was there was a correlation with the y sign 0x04 of the first 7 bytes of data. Your keyboard checksum works for that. The left and right mouse buttons have an impact on the third and 4th check bit. But i'm not getting anywhere with the other bits. All i have to show for my time is tired eyes. How did you ever do those keyboard checksums!!

I suspect that one of those bits is actually a bit that needs to be toggled toggled every second to keep the mouse moving. Right now the mouse will stop after 1 second even if the button is still pressed.
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21197
Location: Chicago, IL

                    
PostPosted: Sat Sep 23, 2017 12:27 am    Post subject: Reply with quote

Well, with the keyboard we had lots of learns, so I sorted them by OBC and looked for patterns. The tricky one was the one with the OBC+2 bit included. I could see that the patterns were four 1s in a row then 4 zeroes, but they were shifted down 2 rows from where the OBC did that, which was the clue.

What I really wish I could do was write a program that tries every possible combination of bits to find the answer.

If you can show me how my keyboard code works for the mouse, I can probably do the rest.
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21197
Location: Chicago, IL

                    
PostPosted: Sat Sep 23, 2017 9:33 am    Post subject: Reply with quote

Ok, I've started trying to crack the checksum for the mice, and I've got it close but it's not there yet. Posting to see if anyone can take it to the finish line...

http://www.hifi-remote.com/forums/dload.php?action=file&file_id=14692
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Sat Sep 23, 2017 10:33 am    Post subject: Reply with quote

I've got houseguests through Tuesday so i'm not able to devote much time to this right now. I see that the linux driver for the Mce mouse processing looks at 21 bits they call the scancode. I'm not sure which 21 bits that they take.
They get the xdata and ydata
U8 xdata s
u8 xdata = (scancode >> 7) & 0x7f;
u8 ydata = (scancode >> 14) & 0x7f;
int x, y;
/* mouse buttons */
bool right = scancode & 0x40;
bool left = scancode & 0x20;

Code:
   
u8 xdata = (scancode >> 7) & 0x7f;
   u8 ydata = (scancode >> 14) & 0x7f;
   int x, y;
   /* mouse buttons */
   bool right = scancode & 0x40;
   bool left  = scancode & 0x20;

   if (xdata & 0x40)
      x = -((~xdata & 0x7f) + 1);
   else
      x = xdata;

   if (ydata & 0x40)
      y = -((~ydata & 0x7f) + 1);
   else
      y = ydata;


And i'm not sure if this is something the driver is sending to programs or if it has something to do with the mouse receiving. Like i said i can't reas C.

Code:


   /* Mouse bits */
   set_bit(EV_REL, idev->evbit);
   set_bit(REL_X, idev->relbit);
   set_bit(REL_Y, idev->relbit);
   set_bit(BTN_LEFT, idev->keybit);
   set_bit(BTN_RIGHT, idev->keybit);

_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
Barf
Expert


Joined: 24 Oct 2008
Posts: 1402
Location: Munich, Germany

                    
PostPosted: Sun Sep 24, 2017 6:57 am    Post subject: Reply with quote

I looked at the Linux code. Disappointingly, it neither generates nor checks any checksum -- just (by encoding) assumes that the user has already supplied it correctly in the "scandata" (payload data), and ignores it while receiving (at least I think so).

The first code segments lets x be formed from bit 6-13, interpreted as the 7-bit 2 complement. Analogously, y is formed from bits 14-20. left and right are bit 5 and 6 respectively.

Vicky's second except binds the driver into the system as an input device, so that the system will interpret relevant IR signals as input elements like KEY_*.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Sun Sep 24, 2017 10:28 pm    Post subject: Reply with quote

Thanks for looking at the code Barf, I've been googling this up and down and can't find much one way or another. I supose this isn't in a class method, but rather in the CircClass.sys driver......


Rob, I've found a little time to work on this and have the second column worked out. I also expanded the first column to be similar to the keyboard set.

Column 1 checksum
=IF($F104="","",MOD(MID($G104,1,1)+MID($G104,2,1)+MID($G104,3,1)+MID($G104,4,1)+MID($G104,5,1),2))

Column 2 checksum

=MOD(MID($F104,1,1)+MID($G104,5,1)+MID($G104,6,1)+MID($G104,7,1)+MID($G104,8,1)+MID($H104,1,1) +MID($H104,2,1)+MID($H104,3,1)+MID($H104,4,1),2)

Column 3 checksum
=MOD(MID($G104,6,1)+MID($G104,7,1)+MID($G104,8,1)+MID($H104,1,1)+MID($H104,2,1)+MID($H104,3,1) +MID($H104,5,1)+MID($H104,6,1)+MID($H104,7,1),2)

Checksum Column 4
=MOD(MID($G104,6,1)+MID($G104,7,1)+MID($H104,5,1)+MID($H104,6,1)+MID($H104,8,1),2)
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
Barf
Expert


Joined: 24 Oct 2008
Posts: 1402
Location: Munich, Germany

                    
PostPosted: Mon Sep 25, 2017 5:05 am    Post subject: Reply with quote

Ignoring the checksums for the moment, I wrote two IRP protocols from the information above:

Code:

MCIR-2-kbd:
{300,msb}<-1,1|1,-1>(9,32:8,C:5,0:8,F:8,M:4,WinKey:1,Alt:1,Shift:1,Ctrl:1,-74m)*
[C:0..31,F:0..255,M:0..16,WinKey:0..1,Alt:0..1,Shift:0..1,Ctrl:0..1]

MCR-2-mouse:
{300,msb}<-1,1|1,-1>(9,8:8,C:5,y:7,x:7,R:1,L:1,F:5,-10.7m)*
[C:0..31,L:0..1,R:0..1,x:0..127,y:0..127,F:0..31]


These have been incorporated in the latest snapshot of IrpTransmogrifier. So, it can now be used to decode these signals. This can be called from the command line. Alternatively, the following bat file decodes the files of Vicky's zip bundle, published a few weeks ago:

Code:

@echo off
REM Adjust the path name to irptransmogrifier in the line below

set DECODE=call "E:\irptransmogrifier\irptransmogrifier" --absolute 150 decode --repeat --namedinput

%DECODE% "1tozero.ict"
%DECODE% "A to Z .ict"
%DECODE% "Alt_CTRL.ict"
%DECODE% "C_Lessthan.ict"
%DECODE% "F1toF7.ict"
%DECODE% "MouseCommands.ict"
%DECODE% "Percentage_Plus.ict"
%DECODE% "f8-f12.ict"

pause



The following output is then produced:

Code:

one      MCIR-2-kbd: {Shift=0,C=2,WinKey=0,F=30,Alt=0,Ctrl=0,M=0}
two      MCIR-2-kbd: {Shift=0,C=15,WinKey=0,F=31,Alt=0,Ctrl=0,M=0}
three    MCIR-2-kbd: {Shift=0,C=19,WinKey=0,F=32,Alt=0,Ctrl=0,M=0}
four     MCIR-2-kbd: {Shift=0,C=30,WinKey=0,F=33,Alt=0,Ctrl=0,M=0}
five     MCIR-2-kbd: {Shift=0,C=29,WinKey=0,F=34,Alt=0,Ctrl=0,M=0}
six      MCIR-2-kbd: {Shift=0,C=16,WinKey=0,F=35,Alt=0,Ctrl=0,M=0}
seven    MCIR-2-kbd: {Shift=0,C=28,WinKey=0,F=36,Alt=0,Ctrl=0,M=0}
eight    MCIR-2-kbd: {Shift=0,C=17,WinKey=0,F=37,Alt=0,Ctrl=0,M=0}
nine     MCIR-2-kbd: {Shift=0,C=18,WinKey=0,F=38,Alt=0,Ctrl=0,M=0}
zero     MCIR-2-kbd: {Shift=0,C=31,WinKey=0,F=39,Alt=0,Ctrl=0,M=0}
A Down 
A up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
B Down     MCIR-2-kbd: {Shift=0,C=2,WinKey=0,F=5,Alt=0,Ctrl=0,M=0}
B Up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
C Down 
C Up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
D Down     MCIR-2-kbd: {Shift=0,C=12,WinKey=0,F=7,Alt=0,Ctrl=0,M=0}
D Up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
E down     MCIR-2-kbd: {Shift=0,C=17,WinKey=0,F=8,Alt=0,Ctrl=0,M=0}
E Up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
F down     MCIR-2-kbd: {Shift=0,C=28,WinKey=0,F=9,Alt=0,Ctrl=0,M=0}
F Up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
G Down     MCIR-2-kbd: {Shift=0,C=31,WinKey=0,F=10,Alt=0,Ctrl=0,M=0}
G up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
H Down     MCIR-2-kbd: {Shift=0,C=18,WinKey=0,F=11,Alt=0,Ctrl=0,M=0}
H Up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
K Down     MCIR-2-kbd: {Shift=0,C=30,WinKey=0,F=12,Alt=0,Ctrl=0,M=0}
K up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
L Down     MCIR-2-kbd: {Shift=0,C=29,WinKey=0,F=15,Alt=0,Ctrl=0,M=0}
L Up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
M Down     MCIR-2-kbd: {Shift=0,C=18,WinKey=0,F=16,Alt=0,Ctrl=0,M=0}
M up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
N Down     MCIR-2-kbd: {Shift=0,C=31,WinKey=0,F=17,Alt=0,Ctrl=0,M=0}
N Up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
O down     MCIR-2-kbd: {Shift=0,C=28,WinKey=0,F=18,Alt=0,Ctrl=0,M=0}
O up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
P Down     MCIR-2-kbd: {Shift=0,C=17,WinKey=0,F=19,Alt=0,Ctrl=0,M=0}
P up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
Q Down     MCIR-2-kbd: {Shift=0,C=29,WinKey=0,F=20,Alt=0,Ctrl=0,M=0}
Q up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
R down     MCIR-2-kbd: {Shift=0,C=16,WinKey=0,F=21,Alt=0,Ctrl=0,M=0}
R up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
S Down     MCIR-2-kbd: {Shift=0,C=19,WinKey=0,F=22,Alt=0,Ctrl=0,M=0}
S up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
T Down     MCIR-2-kbd: {Shift=0,C=30,WinKey=0,F=23,Alt=0,Ctrl=0,M=0}
T up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
U Down     MCIR-2-kbd: {Shift=0,C=3,WinKey=0,F=24,Alt=0,Ctrl=0,M=0}
U up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
V Down     MCIR-2-kbd: {Shift=0,C=14,WinKey=0,F=25,Alt=0,Ctrl=0,M=0}
V Up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
W Down     MCIR-2-kbd: {Shift=0,C=14,WinKey=0,F=25,Alt=0,Ctrl=0,M=0}
W Up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
X Down     MCIR-2-kbd: {Shift=0,C=13,WinKey=0,F=26,Alt=0,Ctrl=0,M=0}
X Up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
Y Down     MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=27,Alt=0,Ctrl=0,M=0}
Y Up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
Z Down     MCIR-2-kbd: {Shift=0,C=12,WinKey=0,F=28,Alt=0,Ctrl=0,M=0}
Zup        MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
Z down2    MCIR-2-kbd: {Shift=0,C=1,WinKey=0,F=29,Alt=0,Ctrl=0,M=0}
Z up       MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
F8 Down       MCIR-2-kbd: {Shift=0,C=25,WinKey=0,F=65,Alt=0,Ctrl=0,M=0}
f9 Down       MCIR-2-kbd: {Shift=0,C=26,WinKey=0,F=66,Alt=0,Ctrl=0,M=0}
f10 down      MCIR-2-kbd: {Shift=0,C=23,WinKey=0,F=67,Alt=0,Ctrl=0,M=0}
f11 Down      MCIR-2-kbd: {Shift=0,C=27,WinKey=0,F=68,Alt=0,Ctrl=0,M=0}
f12 Down      MCIR-2-kbd: {Shift=0,C=22,WinKey=0,F=69,Alt=0,Ctrl=0,M=0}
Alt           MCIR-2-kbd: {Shift=0,C=6,WinKey=0,F=0,Alt=1,Ctrl=0,M=0}
Ampersand     MCIR-2-kbd: {Shift=1,C=25,WinKey=0,F=36,Alt=0,Ctrl=0,M=0}
AT            MCIR-2-kbd: {Shift=1,C=10,WinKey=0,F=31,Alt=0,Ctrl=0,M=0}
Backquote     MCIR-2-kbd: {Shift=0,C=3,WinKey=0,F=53,Alt=0,Ctrl=0,M=0}
Backslash     MCIR-2-kbd: {Shift=0,C=12,WinKey=0,F=49,Alt=0,Ctrl=0,M=0}
Back Space    MCIR-2-kbd: {Shift=0,C=12,WinKey=0,F=42,Alt=0,Ctrl=0,M=0}
CapsLock      MCIR-2-kbd: {Shift=0,C=29,WinKey=0,F=57,Alt=0,Ctrl=0,M=0}
Caret         MCIR-2-kbd: {Shift=1,C=21,WinKey=0,F=35,Alt=0,Ctrl=0,M=0}
Colon         MCIR-2-kbd: {Shift=0,C=8,WinKey=0,F=51,Alt=0,Ctrl=0,M=2}
Colon 2       MCIR-2-kbd: {Shift=0,C=8,WinKey=0,F=51,Alt=0,Ctrl=0,M=2}
Comma         MCIR-2-kbd: {Shift=0,C=10,WinKey=0,F=54,Alt=0,Ctrl=0,M=2}
CTRl          MCIR-2-kbd: {Shift=0,C=3,WinKey=0,F=0,Alt=0,Ctrl=1,M=0}
CTRL2         MCIR-2-kbd: {Shift=0,C=3,WinKey=0,F=0,Alt=0,Ctrl=1,M=0}
Delete            MCIR-2-kbd: {Shift=0,C=10,WinKey=0,F=76,Alt=0,Ctrl=0,M=0}
DollarSign        MCIR-2-kbd: {Shift=1,C=27,WinKey=0,F=33,Alt=0,Ctrl=0,M=0}
DoubleQuote       MCIR-2-kbd: {Shift=0,C=4,WinKey=0,F=52,Alt=0,Ctrl=0,M=2}
End               MCIR-2-kbd: {Shift=0,C=7,WinKey=0,F=77,Alt=0,Ctrl=0,M=0}
Enter             MCIR-2-kbd: {Shift=0,C=2,WinKey=0,F=40,Alt=0,Ctrl=0,M=0}
Esc               MCIR-2-kbd: {Shift=0,C=15,WinKey=0,F=41,Alt=0,Ctrl=0,M=0}
Forwared Slash    MCIR-2-kbd: {Shift=0,C=16,WinKey=0,F=56,Alt=0,Ctrl=0,M=0}
GreaterThan       MCIR-2-kbd: {Shift=1,C=8,WinKey=0,F=55,Alt=0,Ctrl=0,M=0}
Home              MCIR-2-kbd: {Shift=0,C=11,WinKey=0,F=74,Alt=0,Ctrl=0,M=0}
Insert            MCIR-2-kbd: {Shift=0,C=8,WinKey=0,F=73,Alt=0,Ctrl=0,M=0}
LeftBrace         MCIR-2-kbd: {Shift=0,C=4,WinKey=0,F=47,Alt=0,Ctrl=0,M=2}
Left Bracket      MCIR-2-kbd: {Shift=0,C=1,WinKey=0,F=48,Alt=0,Ctrl=0,M=0}
LeftBracket 2     MCIR-2-kbd: {Shift=0,C=1,WinKey=0,F=48,Alt=0,Ctrl=0,M=0}
Left Click        MCIR-2-mouse: {x=0,y=0,R=0,C=3,L=1,F=28}
LeftClick2        MCIR-2-kbd: {Shift=1,C=23,WinKey=0,F=38,Alt=0,Ctrl=0,M=0}
LessThan          MCIR-2-kbd: {Shift=1,C=5,WinKey=0,F=54,Alt=0,Ctrl=0,M=0}
F1 Down    MCIR-2-kbd: {Shift=0,C=30,WinKey=0,F=58,Alt=0,Ctrl=0,M=0}
F2 Down    MCIR-2-kbd: {Shift=0,C=19,WinKey=0,F=59,Alt=0,Ctrl=0,M=0}
F3 Down    MCIR-2-kbd: {Shift=0,C=31,WinKey=0,F=60,Alt=0,Ctrl=0,M=0}
F4 down    MCIR-2-kbd: {Shift=0,C=18,WinKey=0,F=61,Alt=0,Ctrl=0,M=0}
f5 down    MCIR-2-kbd: {Shift=0,C=17,WinKey=0,F=62,Alt=0,Ctrl=0,M=0}
f6 Down    MCIR-2-kbd: {Shift=0,C=28,WinKey=0,F=63,Alt=0,Ctrl=0,M=0}
f7 Down    MCIR-2-kbd: {Shift=0,C=20,WinKey=0,F=64,Alt=0,Ctrl=0,M=0}
Mouse Down   
Mouse Up        MCIR-2-mouse: {x=0,y=122,R=0,C=15,L=0,F=16}
Mouse Left      MCIR-2-mouse: {x=123,y=0,R=0,C=1,L=0,F=30}
Mouse L Down    MCIR-2-mouse: {x=120,y=7,R=0,C=16,L=0,F=15}
Mouse L Up      MCIR-2-mouse: {x=122,y=122,R=0,C=8,L=0,F=23}
Mouse R Down    MCIR-2-mouse: {x=5,y=5,R=0,C=16,L=0,F=15}
Mouse R Up      MCIR-2-mouse: {x=5,y=123,R=0,C=14,L=0,F=17}
Mouse Right     MCIR-2-mouse: {x=5,y=0,R=0,C=15,L=0,F=16}
Perscentage      MCIR-2-kbd: {Shift=1,C=24,WinKey=0,F=34,Alt=0,Ctrl=0,M=0}
QuestionMark     MCIR-2-kbd: {Shift=0,C=26,WinKey=0,F=56,Alt=0,Ctrl=0,M=2}
Right Brace      MCIR-2-kbd: {Shift=0,C=11,WinKey=0,F=48,Alt=0,Ctrl=0,M=2}
Right Bracket    MCIR-2-kbd: {Shift=0,C=14,WinKey=0,F=47,Alt=0,Ctrl=0,M=0}
RightClick       MCIR-2-mouse: {x=0,y=0,R=1,C=5,L=0,F=26}
RightClick2      MCIR-2-kbd: {Shift=1,C=26,WinKey=0,F=39,Alt=0,Ctrl=0,M=0}
SemiColon        MCIR-2-kbd: {Shift=1,C=5,WinKey=0,F=0,Alt=0,Ctrl=0,M=0}
Shift            MCIR-2-kbd: {Shift=0,C=14,WinKey=0,F=52,Alt=0,Ctrl=0,M=0}
SingleQuote      MCIR-2-kbd: {Shift=0,C=14,WinKey=0,F=52,Alt=0,Ctrl=0,M=0}
Space            MCIR-2-kbd: {Shift=0,C=13,WinKey=0,F=44,Alt=0,Ctrl=0,M=0}
Start            MCIR-2-kbd: {Shift=0,C=7,WinKey=1,F=0,Alt=0,Ctrl=0,M=0}
Tab              MCIR-2-kbd: {Shift=0,C=1,WinKey=0,F=43,Alt=0,Ctrl=0,M=0}
Tilde            MCIR-2-kbd: {Shift=1,C=6,WinKey=0,F=53,Alt=0,Ctrl=0,M=0}
UnderScore       MCIR-2-kbd: {Shift=1,C=5,WinKey=0,F=45,Alt=0,Ctrl=0,M=0}
Vertical bar     MCIR-2-kbd: {Shift=0,C=6,WinKey=0,F=49,Alt=0,Ctrl=0,M=2}
Period           MCIR-2-kbd: {Shift=0,C=13,WinKey=0,F=55,Alt=0,Ctrl=0,M=0}
Add Dash         MCIR-2-kbd: {Shift=0,C=0,WinKey=0,F=45,Alt=0,Ctrl=0,M=0}
Hash             MCIR-2-kbd: {Shift=1,C=22,WinKey=0,F=32,Alt=0,Ctrl=0,M=0}
Star             MCIR-2-kbd: {Shift=1,C=20,WinKey=0,F=37,Alt=0,Ctrl=0,M=0}
Plus             MCIR-2-kbd: {Shift=1,C=6,WinKey=0,F=46,Alt=0,Ctrl=0,M=0}
F8 Down     MCIR-2-kbd: {Shift=0,C=25,WinKey=0,F=65,Alt=0,Ctrl=0,M=0}
f9 Down     MCIR-2-kbd: {Shift=0,C=26,WinKey=0,F=66,Alt=0,Ctrl=0,M=0}
f10 down    MCIR-2-kbd: {Shift=0,C=23,WinKey=0,F=67,Alt=0,Ctrl=0,M=0}
f11 Down    MCIR-2-kbd: {Shift=0,C=27,WinKey=0,F=68,Alt=0,Ctrl=0,M=0}
f12 Down    MCIR-2-kbd: {Shift=0,C=22,WinKey=0,F=69,Alt=0,Ctrl=0,M=0}
Back to top
View user's profile Send private message Send e-mail Visit poster's website
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21197
Location: Chicago, IL

                    
PostPosted: Mon Sep 25, 2017 8:18 am    Post subject: Reply with quote

vickyg2003 wrote:
Column 2 checksum

=MOD(MID($F104,1,1)+MID($G104,5,1)+MID($G104,6,1)+MID($G104,7,1)+MID($G104,8,1)+MID($H104,1,1) +MID($H104,2,1)+MID($H104,3,1)+MID($H104,4,1),2)

You can't include a bit from the checksum in the checksum calculation. If you remove that bit and the next bit, it's still correct:

=MOD(MID($G104,6,1)+MID($G104,7,1)+MID($G104,8,1)+MID($H104,1,1)+MID($H104,2,1)+MID($H104,3,1)+MID($H104,4,1),2)
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!


Last edited by The Robman on Wed Feb 19, 2020 4:40 pm; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Mon Sep 25, 2017 11:50 am    Post subject: Reply with quote

Okay, so far so good.

I did a couple of tests with the final bit. I was hoping that was going to be some sort of toggle that didn't matter. So I flipped it just to see if it would still recognize. It didn't.

I also flipped the left and right mouse button, while moving up. Both required the final bit to be flipped in order to be recognized.

Again the mouse only moved so far and then it stopped, pressing the key again, caused different unexpected actions. If you highlight an icon the next drag moved and dropped the icon, if text was highlighted it didn't do anything Since you couldn't get more than a 1 second drag, this isn't very useful....

We really need some more data to figure out how to keep this thing rolling.....
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21197
Location: Chicago, IL

                    
PostPosted: Mon Sep 25, 2017 1:11 pm    Post subject: Reply with quote

Is there such a thing as an original MCE remote? I think that's what we really need to (a) ensure that the mouse buttons work properly on it and (b) to capture them to see exactly what they send, especially when held down and when repeatedly pressed.
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Mon Sep 25, 2017 5:58 pm    Post subject: Reply with quote

I "think" this might be an original MCE remote
infrared media center keyboard

That was the cheapest one I could find.

I don't think pressing the the right button 17 times to get from one side of the screen to the other is a showstopper, but it certainly isn't ideal. I have tried flipping the last bit in the checksum and I've tried flipping all the checksum bits looking for some sort of toggle. I don't see anything else that would be an obvious way to keep the ball rolling.

What really boggles my mind is that I can't find tech specs on this out on the web.
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21197
Location: Chicago, IL

                    
PostPosted: Mon Sep 25, 2017 7:49 pm    Post subject: Reply with quote

If there was a toggle bit in there, it would probably be one of the data bits and would cause the 2 checksums to change also.

I have incorporated your updated checksum code into my spreadsheet and have the last column almost right, it's correct for every button except one.
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21197
Location: Chicago, IL

                    
PostPosted: Tue Sep 26, 2017 5:08 pm    Post subject: Reply with quote

I just wrote a program to crack the checksum, in old fashioned mainframe COBOL no less, and have updated the spreadsheet.

I am now using the same formula for all buttons, main keyboard and mouse.

http://www.hifi-remote.com/forums/dload.php?action=file&file_id=14692
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Wed Sep 27, 2017 8:07 am    Post subject: Reply with quote

I'm interested in the logic (plain english) as to what you did in your program to crack this. I don't expect to ever be able to do this on my own. I never would have thought to reuse bits....

Anyway I tried these values for UP with the calculated checksum
1111000 0000000 00
1111010 0000000 00
1111011 0000000 00
1111001 0000000 00

They have been arranged in order of how far they will travel in that 1 second interval


If this were you, what would you do next?
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.


Last edited by vickyg2003 on Wed Sep 27, 2017 9:30 am; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic       JP1 Remotes Forum Index -> JP1 - Keyboards All times are GMT - 5 Hours
Goto page Previous  1, 2, 3 ... 9, 10, 11 ... 14, 15, 16  Next
Page 10 of 16

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


 

Powered by phpBB © 2001, 2005 phpBB Group
Top 7 Advantages of Playing Online Slots The Evolution of Remote Control