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 ... , 11, 12, 13  Next
 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Keyboards
View previous topic :: View next topic  
Author Message
The Robman
Site Owner


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

PostPosted: Sat Sep 30, 2017 8:55 pm    Post subject: Reply with quote

Can you document exactly what all the bits do as I didn't understand your earlier explanation, with the sign, etc.

Do you want to add any of that extra stuff to the code, like the 3000 pause, etc? Feel free to edit my combo if you like. Ask questions if there's anything in there that doesn't make sense.
_________________
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: 6945
Location: Florida

PostPosted: Sun Oct 01, 2017 1:23 pm    Post subject: Reply with quote

After still more experimenting I found we've got the leadout time too short on both the keyboard and the mouse. When I held down a letter key, eventually it stopped working too, but on the keyboard its no big deal if you run out of repeat after a few hundred repeats. On the mouse however that was the kiss of death. I think that we are sending too many signals too close together, sending the IR processor into some kind of overflow situation causing the IR processor to freeze until the signals stopped coming.. That would account for the peculiar behavior I've been seeing. So I added all the times together on the keyboard and came up with 98000 overall frame length. I tried 98000 as the over all frame length. So I kept shorening it and when the leadout as total got down to 45056u, the mouse was still very lively and no logic needed to pad out the timing. So the timeout for a mouse should be


About the bits.
Mice used to be a mechanical. If you had an early mouse, it had 2 buttons and a rubber ball that moved two silver bars inside the housing. The mouse would transmit the number of rotations of the silver bars to indicate movement. One bar would represent the change in Y, one the change in X.

in our data we have
8 bitDevice, 5 bit checksum, 7 bit change in y, 7 bit change in X, 1 bit R and 1 bit L 5 bits ~checksum

The reason I think that there is something special about YYYYSYY. is that that is the bit the linux driver using to deterimine the y direction and XXXXSXX to determine the Y direction.

Jerod Wilson, the Linux Driver author seems to have found some information that I can't find.
Jerod Wilson's Comment wrote:
ir-mce_kbd-decoder.c - A decoder for the RC6-ish keyboard/mouse IR protocol
* used by the Microsoft Remote Keyboard for Windows Media Center Edition,
* referred to by Microsoft's Windows Media Center remote specification docs
* as "an internal protocol called MCIR-2".


I have googled that every which way I can and it abd can't find that document.

I played around a lot with the up

It appears to be a MSB comp number
1111 011 was as slow as it goes.
1111 010 was a little faster (this is what we captured) was still very slow
1111 001 is where I ended up,
1111 000 was easy to use and nicely fast but sometimes I couldn't select the line on a menu that I wanted.
1101 011 jumped 3 lines when used on a menu, so it was really too huge a change on the y axis to be useful
1011 000 jumped 5 or 6 lines. on the menu.

The version with My simple Mouse, Robs Keyboard with JP1 support can be found http://www.hifi-remote.com/forums/dload.php?action=file&file_id=14676
_________________
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: 18084
Location: Chicago, IL

PostPosted: Sun Oct 01, 2017 6:00 pm    Post subject: Reply with quote

Rather than me interpreting what you said and maybe making a mistake, could you edit my combo upgrade so that the timings and mouse codes are the best.

In the PB file, the default leadout time (ie, the 8E94h on row 27) is for the keyboard, and the #1518h (on line 48) is the mouse leadout time, so feel free to alter either of those.

Now for the individual mouse button codes, even though they are really in a 7-7-2 format, for KM I had to split them up as 8-8. As I mentioned before, the MSB (bit7) of the OBC (ie, the leftmost bit) decides whether to send the keyboard (0) or mouse (1) signal. So, if it's "1" we enter the mouse logic. Next, I check bit4 of the OBC (which is the rightmost of the first "1111/0000" string) and if it's zero, I will zero out the MSB. That still works for all the mouse data that you just posted, but you only posted UP times, did you also work out DOWN times? Does it still work for those?

EDIT: I see you edited your post while I was typing and have posted a file, so I will take a look at that.
_________________
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: 18084
Location: Chicago, IL

PostPosted: Sun Oct 01, 2017 10:11 pm    Post subject: Reply with quote

So, I checked your file and it doesn't appear that you changed my combo stuff, so I have updated the combo protocol to use your new mouse leadout time and the KM file to use your new mouse codes:
http://www.hifi-remote.com/forums/dload.php?action=file&file_id=14702

There's still one open question regarding the checksum formula. In each sample of data that we have, the 9th and 10th bits of the mouse code are the same, so they're always either "00" or "11", so my program to find the formula couldn't tell which bit should be used.

So to help figure this out, could you try some experiments where you change the one of the middle 2 bits in the "1111" string used by all the "left" functions.

So, try changing one of the red bits below (but not both), re-generate the checksum and see if it still works. If it does, I've picked the right bit, if it doesn't, I need to generate some more experimental data for you to try.

1111010 1111010 00 Left UP
0000000 1111001 00 Left
0000111 1111000 00 Left Down
0000000 1111011 01 drag left
1111010 1111010 01 Drag Left Up
0000111 1111000 01 Drag Left Down
_________________
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: 6945
Location: Florida

PostPosted: Mon Oct 02, 2017 5:47 am    Post subject: Reply with quote

I'm sorry, I misled you. I had my time set as "As Total", you need to shorten the leadout time by the length of the signal

Code:
LDW   RR1C,#2e66h   ;set Leadout off=23756 uS

The Robman wrote:


1111010 1111010 00 Left UP
0000000 1111001 00 Left
0000111 1111000 00 Left Down
0000000 1111011 01 drag left
1111010 1111010 01 Drag Left Up
0000111 1111000 01 Drag Left Down

I thought that as I changed each one of them should work, but neither did.

Left originally said:
Left  129 E4
So I tried
Left 128 64
Left 128 A4
and neither of them worked. I think those were the bits you asked for.
_________________
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: 18084
Location: Chicago, IL

PostPosted: Mon Oct 02, 2017 8:15 am    Post subject: Reply with quote

Ok, I fixed the combo to use OffAsTotal for the mouse, give it a try.

As for the checksum, going with "1101001" as the binary for the 2nd 7-bit word, I have generated all the possible checksum values and have added them to your 2-3 KM file here:
http://www.hifi-remote.com/forums/dload.php?action=file&file_id=14719

Could you try them all to see if any of them work please.
_________________
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: 6945
Location: Florida

PostPosted: Mon Oct 02, 2017 9:41 am    Post subject: Reply with quote

7 is the charm. Pressing number 7 zooms 3 inches to the left.
_________________
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: 18084
Location: Chicago, IL

PostPosted: Mon Oct 02, 2017 9:45 am    Post subject: Reply with quote

And here's a second file that uses "1011001" as the binary...
http://www.hifi-remote.com/forums/dload.php?action=file&file_id=14720
_________________
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: 6945
Location: Florida

PostPosted: Mon Oct 02, 2017 1:00 pm    Post subject: Reply with quote

Zero (0) shoots the mouse half way across the screen. It took me a while to get my head around why we were doing this, but then I remembered that the keyboard didn't use those bits because the left Windows and Alt keys were not on the 104 or so keycodes we were originally had.
Back to top
View user's profile Send private message Visit poster's website
The Robman
Site Owner


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

PostPosted: Mon Oct 02, 2017 1:17 pm    Post subject: Reply with quote

Right, so in every example so far, bits 9 and 10 were either both set or both blank, so my program couldn't tell which one was needed for each bit of the checksum. Now that I have your 2 new results, I will be able to determine the one true formula for the checksum.
_________________
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: 18084
Location: Chicago, IL

PostPosted: Mon Oct 02, 2017 2:29 pm    Post subject: Reply with quote

So, 3 out of the 5 bits changed as a result of those tests, the final formula for the checksum is (where the red bits are ones that changed):
1 , 1 2 3 4 5
2 , 6 7 8 9 10 11 12
3 , 1 2 6 7 8 9 13 14 15
4 , 3 4 6 7 10 11 13 14 16
5 , 1 3 5 6 8 10 12 13 15 16

I have updated the combo file to use these new patterns, and I have included the 2 left test codes in the KM file too, just to make sure they still work. So Vicky, please give it a whirl.

Oh, and btw, can you explain what some of the mouse commands actually do, like what is the difference between "left up", "right up" and "up"? Are the first 2 diagonal?
_________________
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 Tue Oct 03, 2017 6:15 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: 6945
Location: Florida

PostPosted: Mon Oct 02, 2017 3:35 pm    Post subject: Reply with quote

The Robman wrote:

Oh, and btw, can you explain what some of the mouse commands actually do, like what is the difference between "left up", "right up" and "up"? Are the first 2 diagonal?


OMG, Laughing Laughing Laughing You really have not understood my xy access explanations, have you. I thought you were just pulling my chain.

The picture below shows an old fashioned mechanical mouse, albeit a newer 3 button version.



When you moved the mouse, the ball would roll because of the friction with the desktop mousepad. The ball would rotate the x-axis and y-axis wheels inside the mouse, depending on what direction you moved the mouse. The rotation of the X-axis a Y-axis wheels are what is being transmitted by our signals. So yea Right Up and Left Up are diagonal movements as are Left Down and Right Down. Up means you pushed the mouse away from you, down means you pulled the mouse toward you. That's why I asked you to arrange the mouse buttons in the way that I said was the only way that made sense.

Code:

1 Left Up ------ 2 Up ----------- 3 Right Up

4 Left --------- 5 Click -------- 6 Right

7 Left Down ---- 8 Down --------- 9 Right Down

_________________
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: 18084
Location: Chicago, IL

PostPosted: Mon Oct 02, 2017 3:44 pm    Post subject: Reply with quote

Yeah, so I was right, they're diagonal, cool.

Will you have a chance to test my combo code later? I think this could be the final version.
_________________
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: 6945
Location: Florida

PostPosted: Mon Oct 02, 2017 3:52 pm    Post subject: Reply with quote

I went back up and found the link to the combo file, but the KM and PB files inside the zip are from September 27th. So I can't find them.
_________________
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: 18084
Location: Chicago, IL

PostPosted: Mon Oct 02, 2017 4:55 pm    Post subject: Reply with quote

I just re-downloaded the file to confirm that they show the 10/2 date, and they do, so you must have done something wrong.

http://www.hifi-remote.com/forums/dload.php?action=file&file_id=14702
_________________
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
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 ... , 11, 12, 13  Next
Page 12 of 13

 
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
Get Smart! the band's official homepage Rockabilly Central