Microsoft MCE Keyboard Remote

As keyboards are such a pain to get replicate using a remote, they get their own forum. Hopefully having all the posts in one place will make it easier to find the solution.

Moderator: Moderators

mdavej
Expert
Posts: 4635
Joined: Wed Oct 08, 2003 7:08 am

Post by mdavej »

Yes, they're fine. All the blanks and None is because the protocol is unknown to us. That's the part we're trying to work out. Thanks, this is good stuff.
jriker1
Posts: 38
Joined: Sun Jun 18, 2017 6:09 pm

Post by jriker1 »

Cool, look forward to it. Strange that a key like "B" and "M" shows all the details, but the rest don't. You would think they would all work the same at least for the same type of key.
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

I've been unexpectedly busy and just now finally got a chance to sit down at the computer and look at this a bit.
Barf wrote:
I imported Dave's ict file in IrScrutinizer, deleted the MCE signals, exported as a text file, and fed it into IrpTransmogrifier. It produced

Code: Select all

A:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m){A=0x20,B=0x0,C=0x0,D=0x0,E=0x0}
weight = 20
B:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m){A=0x20,B=0x10,C=0x0,D=0x28,E=0x0}
weight = 20
C:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m){A=0x20,B=0x8,C=0x0,D=0x30,E=0x0}
weight = 20
D:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-269m){A=0x20,B=0x0,C=0x0,D=0x0,E=0x0}
weight = 20
Home:   {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-269m){A=0x20,B=0x0,C=0x0,D=0x0,E=0x0}
weight = 20
-:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-169m){A=0x20,B=0x0,C=0x0,D=0x0,E=0x0}
weight = 20
#:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m)7{A=0x20,B=0xb0,C=0x1,D=0x0,E=0x2}
weight = 21
*:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m)7{A=0x20,B=0xa0,C=0x1,D=0x28,E=0x2}
weight = 21
.:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m)7{A=0x20,B=0x68,C=0x1,D=0xb8,E=0x0}
weight = 21
+:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m)7{A=0x20,B=0x30,C=0x1,D=0x70,E=0x2}
weight = 21
alt:    {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m)7{A=0x20,B=0x30,C=0x0,D=0x0,E=0x4}
weight = 21
&:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m)7{A=0x20,B=0xc8,C=0x1,D=0x20,E=0x2}
weight = 21
@:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m)7{A=0x20,B=0x50,C=0x0,D=0xf8,E=0x2}
weight = 21
`:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m){A=0x20,B=0x18,C=0x1,D=0xa8,E=0x0}
weight = 20
/:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-169m){A=0x20,B=0x0,C=0x0,D=0x0,E=0x0}
weight = 20
Caps Lock:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m){A=0x20,B=0x0,C=0x0,D=0x0,E=0x0}
weight = 20
^:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m)7{A=0x20,B=0xe8,C=0x1,D=0xc8,E=0x0}
weight = 21
::      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m)7{A=0x20,B=0xa8,C=0x1,D=0x18,E=0x2}
weight = 21
,:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m){A=0x20,B=0x40,C=0x1,D=0x99,E=0x0}
weight = 20
ctrl:   {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m){A=0x20,B=0x50,C=0x1,D=0xb1,E=0x0}
weight = 20
$:      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m){A=0x20,B=0x18,C=0x0,D=0x0,E=0x1}
weight = 20
":      {306,msb}<-1,1|1,-1>(9,A:8,B:8,C:8,D:8,E:5,-74m)7{A=0x20,B=0xd8,C=0x1,D=0x8,E=0x2}
weight = 21

(Command line was

Code: Select all

irptransmogrifier  analyze  --repeat  --name ~/jp1/mce_keyboard/newkeys.txt --decoder biphase --maxparameterwidth 8
)
(Please ignore "weight = ...."). (The split of the payload parameter is arbitrary.) Remarkable is that several different keys apper to send the same signal (A, D, Home,...)
Barf, as usual your scary technical lagnuage was over my head. I googled Mogrifier, and then TranMogrifier to try and understand the technical jargon you were using. Imagine my surprise when you were borrowing a term from Calvin and Hobbes. :lol: Not so frightening now.
Other than some of the codes not being picked up correctly this will be a great help at creating my list.
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.
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

The reason that the A D and Home sent the same thing, is that typical of keyboard protocols there is a button down frame and a button up frame. Dave cleaned up some of the signal, so the unknown parts that typically indicate a bad frame, were actually the first frame.
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.
Barf
Expert
Posts: 1522
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Post by Barf »

vicky2003 wrote:Barf, as usual your scary technical lagnuage was over my head. I googled Mogrifier, and then TranMogrifier to try and understand the technical jargon you were using. Imagine my surprise when you were borrowing a term from Calvin and Hobbes. Laughing Not so frightening now.
8-) 8-). Actually, coming up with a good name for a program is hard. It should also be Google-friendly: try to google for "IrpMaster" or "teaser", and you see what I mean. IrpTransmogrifier has its name because it transforms ("transmogrifies") different "things" to and from IRPs.
Other than some of the codes not being picked up correctly...
Can you be more specific?

The reason that the A D and Home sent the same thing, is that typical of keyboard protocols there is a button down frame and a button up frame.
Can it possibly be that I used too large tolerance (was 100 microseconds) when analyzing?
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

Barf wrote:
Other than some of the codes not being picked up correctly...
Can you be more specific?

The reason that the A D and Home sent the same thing, is that typical of keyboard protocols there is a button down frame and a button up frame.
Can it possibly be that I used too large tolerance (was 100 microseconds) when analyzing?
It wasn't you, it was the ICT was bad.

On starting this, I have recaptured A to Z
https://www.hifi-remote.com/forums/dload ... e_id=14667

I imported it into IRScrutinizer,
Or at least I think I did. I loaded the file, do I have to do more than that
and then on the EXPORT I got stuck. I went to that screen and I can't do anything.

There are SO MANY options, I'm lost. What do I click on from there?
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.
Barf
Expert
Posts: 1522
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Post by Barf »

Or at least I think I did. I loaded the file, do I have to do more than that
and then on the EXPORT I got stuck. I went to that screen and I can't do anything.
Short answer: You probably forgot "Import all/raw", to transfer the imported signals to the editor of raw signals. Then go to the "export" pane, Select Export format "text", and unselect all the checkboxes to the right, except "raw". The press "Export raw remote".

Longer answer: There is (at least not presently) no possibility to export directly from the import, so you must first transfer to either the parametric or raw remote editor (second pane, "scrutinize remote"). Possibly there should be one such possibility -- I am open to suggestions. But then there would be even more options... :wink: But in the remote editor you can edit the commands (like in remotemaster's "functions").

BTW, I assume that you are capturing with the IrWidget. With that, you can capture directly into IrScrutinizer, IMHO much more convenient than IrScope. It would be much feweer steps that way.
Barf
Expert
Posts: 1522
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Post by Barf »

I imported Vicky's file in IrScrutinizer and exported all the up codes to a file. Run this through IrpTransmogrifier and became that all the up-signals were the same, namely

Code: Select all

{301,msb}<-1,1|1,-1>(9,A:37,-497m){A=0x400000000}
Then I, in the same way, saved all the down-signals in another file. Turned out that the "A" and "C" keys were really "funny", with a lot ot very short durations. For now, I just excluded them from the scrutiny. Also "F" appeared to be the up-and down-signals together, so I junked that too (for now). IrpTransmogrifier (irptransmogrifier --absolutetolerance 100 analyze --repeat --maxparameterwidth 64 --name ~/jp1/mce_keyboard/downsNoACF.txt) now says

Code: Select all

B Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)3{A=0x402000500}
D Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)4{A=0x40c000700}
E down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)5{A=0x411000800}
G Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)4{A=0x41f000a00}
H Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)6{A=0x412000b00}
K Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)8{A=0x41e000c00}
L Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)6{A=0x41d000f00}
M Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)2{A=0x412001000}
N Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)5{A=0x41f001100}
O down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)5{A=0x41c001200}
P Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)2{A=0x411001300}
Q Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)4{A=0x41d001400}
R down: {301,msb}<-1,1|1,-1>(9,A:37,-74m){A=0x410001500}
S Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m){A=0x413001600}
T Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)5{A=0x41e001700}
U Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)4{A=0x403001800}
V Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)4{A=0x40e001900}
W Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)3{A=0x40e001900}
X Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)4{A=0x40d001a00}
Y Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)5{A=0x400001b00}
Z Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)5{A=0x40c001c00}
Z down2:        {301,msb}<-1,1|1,-1>(9,A:37,-74m)5{A=0x401001d00}
which looks really promising. Trying to isolate the bits that are varying and the bits that are not (--parameterwidth 8,5,11,5,8 for IrpTransmogrifier) gives

Code: Select all

B Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)3{A=0x20,B=0x2,C=0x0,D=0x5,E=0x0}
D Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)4{A=0x20,B=0xc,C=0x0,D=0x7,E=0x0}
E down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)5{A=0x20,B=0x11,C=0x0,D=0x8,E=0x0}
G Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)4{A=0x20,B=0x1f,C=0x0,D=0xa,E=0x0}
H Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)6{A=0x20,B=0x12,C=0x0,D=0xb,E=0x0}
K Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)8{A=0x20,B=0x1e,C=0x0,D=0xc,E=0x0}
L Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)6{A=0x20,B=0x1d,C=0x0,D=0xf,E=0x0}
M Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)2{A=0x20,B=0x12,C=0x0,D=0x10,E=0x0}
N Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)5{A=0x20,B=0x1f,C=0x0,D=0x11,E=0x0}
O down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)5{A=0x20,B=0x1c,C=0x0,D=0x12,E=0x0}
P Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)2{A=0x20,B=0x11,C=0x0,D=0x13,E=0x0}
Q Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)4{A=0x20,B=0x1d,C=0x0,D=0x14,E=0x0}
R down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m){A=0x20,B=0x10,C=0x0,D=0x15,E=0x0}
S Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m){A=0x20,B=0x13,C=0x0,D=0x16,E=0x0}
T Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)5{A=0x20,B=0x1e,C=0x0,D=0x17,E=0x0}
U Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)4{A=0x20,B=0x3,C=0x0,D=0x18,E=0x0}
V Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)4{A=0x20,B=0xe,C=0x0,D=0x19,E=0x0}
W Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)3{A=0x20,B=0xe,C=0x0,D=0x19,E=0x0}
X Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)4{A=0x20,B=0xd,C=0x0,D=0x1a,E=0x0}
Y Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)5{A=0x20,B=0x0,C=0x0,D=0x1b,E=0x0}
Z Down: {301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)5{A=0x20,B=0xc,C=0x0,D=0x1c,E=0x0}
Z down2:{301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)5{A=0x20,B=0x1,C=0x0,D=0x1d,E=0x0}

Summing up, we get for example

Code: Select all

{301,msb}<-1,1|1,-1>(9,A:8,B:5,C:11,D:5,E:8,-74m)*(9,Q:37,-497m){A=0x20,C=0x0,E=0x0,Q=0x400000000}[B:0..31,D:0..31]
with the "keycode" coded in B and D. (Possibly there is a toggle in there? (Sorry Vicky :wink:))
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

Barf, I spent hours trying to get the output you got. That was only a small sample of the 148 keys.

I really need to know "how to fish" here.

I really need to get to this point.

Code: Select all

B Down: {301,msb}<-1,1|1,-1>(9,A:37,-74m)3{A=0x402000500}
I made the stupid mistake of copying and pasting the letter learns into my NEVO, and so can't open that file in IR where I can round the signals. Working without rounding is just so much busy work.

I could export these ICT learns to UEI learns and then Rob has a spreadsheet that will create an IR file so that we can use IR.exe's facility to round.


I used the first command line you posted before, and it just kept scrolling the text in the command window.

So I tried this command line
irptransmogrifier --absolutetolerance 100 analyze --repeat --maxparameterwidth 64 --name ~/jp1/mce_keyboard/downsNoACF.txt

and my command window keeps saying the maximumparameterwidth needs to be <64.

Help, I really do need to streamline this process.
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.
Barf
Expert
Posts: 1522
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Post by Barf »

Hi Vicky, sorry for that.

1. I have uploaded the downsNoACF.txt file here

2
my command window keeps saying the maximumparameterwidth needs to be <64.
Get the development version here. (You can also change 64 to 63.)

3.
irptransmogrifier --absolutetolerance 100 analyze --repeat --maxparameterwidth 64 --name ~/jp1/mce_keyboard/downsNoACF.txt
The argument to --name needs to be the name of the file where the commands are; I doubt that ~/jp1/mce_keyboard/downsNoACF.txt make sense in your environment. Get the file above, save it to the working directory, and use

Code: Select all

irptransmogrifier --absolutetolerance 100 analyze --repeat --maxparameterwidth 64 --name downsNoACF.txt 
4.
Rob has a spreadsheet that will create an IR file so that we can use IR.exe's facility to round
IrpTransmogrifier is a bit smarter here, it builds a histogram of all durations, and computes the average in each "bin", and uses that. Put the "-s" (or "--statistics") option in the command line (for example immediately after "analyze"), and it will tell you the "rounded" durations it is using.
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

I captured F1-F7 and the very last set of aa batteries has lost its juice. I need to go out and get some. But with the information you gave me.

Start IRScrutinezer
Select Export Tab
Setup the Export dir.
Set Export Format to Text
Check Raw and Uncheck any other boxes
Select Import Tab
Select ICT tab
Locate the ICT
Click Load URL
Click Import all/ RAW
Click OK when asked to Jump to Panel
Select the buttons I want checking on the .ver
Click on the Export button
Note the filename in the window at the bottom of the screen

Open a CMD window
issue the command line
irptransmogrifier --absolutetolerance 100 analyze --repeat --maxparameterwidth 64 --name filename.txt
And get the information I'm looking for.

This is SO MUCH EASIER THAN what I was needed to do before, but I never would have figured this out on my own.

Anyway here are some more keys. They all had the same button up code as the letters.

F1 Down: {301,msb}<-1,1|1,-1>(9,A:37,-73m){A=0x41e003a00}
F2 Down: {301,msb}<-1,1|1,-1>(9,A:37,-73m)2{A=0x413003b00}
F3 Down: {301,msb}<-1,1|1,-1>(9,A:37,-73m){A=0x41f003c00}
F4 down: {301,msb}<-1,1|1,-1>(9,A:37,-73m){A=0x412003d00}
f5 down: {301,msb}<-1,1|1,-1>(9,A:37,-73m){A=0x411003e00}
f6 Down: {301,msb}<-1,1|1,-1>(9,A:37,-73m){A=0x41c003f00}
f7 Down: {301,msb}<-1,1|1,-1>(9,A:37,-73m){A=0x414004000}
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.
Barf
Expert
Posts: 1522
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Post by Barf »

I am really happy that you succeeded in "transmogrifying", Vicky! 8-)

Just let me make a few comments.
vickyg2003 wrote:Start IRScrutinezer
Select Export Tab
Setup the Export dir.
Set Export Format to Text
Check Raw and Uncheck any other boxes
Select Import Tab
As I said before, you can also capture IR signals directly in IrScrutinizer, using the widget, or other hardware.
Select ICT tab
Locate the ICT
Click Load URL
Click Import all/ RAW
Alternatively, select a subset with left click/shift click/control click, and import that subset using import select./raw.
Click OK when asked to Jump to Panel
Select the buttons I want checking on the .ver
No, that checkbox is ignored. However, you can edit the table just as in remotemaster (function), or like in Excel, deleting, renaming, etc.
Click on the Export button
Note the filename in the window at the bottom of the screen
Alternatively, if you unselect "Automatic file names" on the Export pane, you will have to supply the file name yourself. Use the method you like best (that is why it is selectable!).
Open a CMD window
issue the command line
irptransmogrifier --absolutetolerance 100 analyze --repeat --maxparameterwidth 64 --name filename.txt
And get the information I'm looking for.

This is SO MUCH EASIER THAN what I was needed to do before, but I never would have figured this out on my own.
:D :D
Anyway here are some more keys. They all had the same button up code as the letters.

F1 Down: {301,msb}<-1,1|1,-1>(9,A:37,-73m){A=0x41e003a00}
F2 Down: {301,msb}<-1,1|1,-1>(9,A:37,-73m)2{A=0x413003b00}
F3 Down: {301,msb}<-1,1|1,-1>(9,A:37,-73m){A=0x41f003c00}
F4 down: {301,msb}<-1,1|1,-1>(9,A:37,-73m){A=0x412003d00}
f5 down: {301,msb}<-1,1|1,-1>(9,A:37,-73m){A=0x411003e00}
f6 Down: {301,msb}<-1,1|1,-1>(9,A:37,-73m){A=0x41c003f00}
f7 Down: {301,msb}<-1,1|1,-1>(9,A:37,-73m){A=0x414004000}
You can use --parameterwidths to subdivide the data, as I did in a previous post. (You may have to "lock" the decode type with "--decode biphase" to keep the decode type, though.)

I plan to integrate most of IrpTransmogrifier into IrScrutinizer, but the details are not clear yet. Open to suggestions.
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

I spoke too soon. I found some working batteries, and did some more captures.

Now it looks like this,which is something I really don't understand.

Code: Select all

F1 Down:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaad52aaaab53,B=0x15555}
F2 Down:	{299,msb}<-1|1>(A:64,B:19,-73m)2{A=0xffacaacb4aaaab53,B=0x25555}
F3 Down:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaad54aaaab54,B=0x55555}
F4 down:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaacb2aaaab54,B=0x65555}
f5 down:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaacacaaaab55,B=0x15555}
f6 Down:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaad4aaaaab55,B=0x25555}
f7 Down:	{299,msb}<1,-1|2,-2>(9,-1,A:26,-0,1,-1,B:6,-73m){A=0x10c0080,B=0x0}
F8 Down:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaad2caaaacaa,B=0x65555}
f9 Down:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaad32aaaacab,B=0x15555}
f10 down:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaacd4aaaacab,B=0x25555}
f11 Down:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaad34aaaacac,B=0x55555}
f12 Down:	{299,msb}<-1|1>(A:64,B:19,-73m)4{A=0xffacaacd2aaaacac,B=0x65555}
Alt:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaaad2aaaaaaa,B=0x55565}
Ampersand:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaad2caaaab2c,B=0x55559}
AT:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaab32aaaaad5,B=0x25559}
Backquote:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaaab4aaaab4c,B=0x65555}
Backslash:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaab4aaaaab4a,B=0x65555}
Back Space:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaab4aaaaab33,B=0x15555}
CapsLock:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaad4caaaab52,B=0x65555}
Caret:	{299,msb}<1,-1|2,-2>(9,-1,A:21,2,-1,1,-2,B:7,-73m){A=0x87004,B=0x2}
Colon:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaab2aaaaab4b,B=0x25955}
Colon 2:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaab2aaaaab4b,B=0x25955}
Comma:	{299,msb}<-1|1>(A:64,B:19,-73m){A=0xffacaab32aaaab4d,B=0x15955}
CTRl:	{299,msb}<-1|1>(A:64,B:18,-73m){A=0xffacaaab4aaaaaaa,B=0x2aaab}
CTRL2:	{299,msb}<-1|1>(A:64,B:18,-73m){A=0xffacaaab4aaaaaaa,B=0x2aaab}
ICTs for all the non-MCE keys are found here
https://www.hifi-remote.com/forums/dload ... e_id=14667
The mouse commands follow a different protocol. They don't have the button up command at the end.
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.
Barf
Expert
Posts: 1522
Joined: Fri Oct 24, 2008 1:54 pm
Location: Munich, Germany
Contact:

Post by Barf »

The analyzer works like this: A number of decoders (presently 9) are tried. Often, more than one can "explain" the measured sequence. (The "serial" decoder ("<-1|1>") can explain almost all sequences.) ) Then a "weight" is computed for each decode, and the decoder that produced the lowest weight is selected. Sometimes, this leads to the selection of the decoder we "know" is wrong. (Similar goes for Graham's AnalyseIR.) (Try the --all option, you will see what I mean.) There is a possibility to force a particular decoder, here

irptransmogrifier --absolutetolerance 100 analyze --decode biphase --repeat --maxparameterwidth 64 --name filename.txt

will force the biphase decoder ("<-1,1|1,-1>")
vickyg2003
Site Admin
Posts: 7109
Joined: Sat Mar 20, 2004 12:19 pm
Location: Florida
Contact:

Post by vickyg2003 »

Barf, that gave me another format that I don't know how to read.

From the first decode you did for me and the one section of F1-F7 keys, I'd like to see it like this.

{301,msb}<-1,1|1,-1>(9,A:37,-73m){A=0x41e003a00}
Or
{300,msb}<-1,1|1,-1>(9,D:4,A:8,B:8,C:8,E:8,G:1,^73m)

If I'm going to code it, I need to be able to see the pattern.

Is there a way to force this, now that I know there are 37 timing pairs?
or
{,300,msb}<-1,1|1,-1>(9,D:4,A:8,B:8,C:8,E:8,G:1,^73m)
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.
Post Reply