|
JP1 Remotes
|
View previous topic :: View next topic |
Author |
Message |
sfhub
Joined: 12 Oct 2003 Posts: 287
|
Posted: Sun Oct 19, 2003 6:16 pm Post subject: Help with WebTV keyboard OBCs (for symbol entry in ReplayTV) |
|
|
I'm using the webtv keyboard device upgrade to augment my ability
to enter show titles in ReplayTV.
I can use the ReplayTV on screen keyboard for #s and alphabet, so I'm
mainly interested in the symbols from the WebTV keyboard device.
From my experience the particular symbols I care about for show titles
are:
1) . (period) OBC 52 18
2) , (comma) OBC ?
3) ' (single quote) OBC 56 58
4) - (dash) OBC 50 DA
5) : (colon) OBC ?
I couldn't find 2 & 5 in the WebTV device/protocol upgrade. Any pointers
on where to get the OBCs I should be using? I don't have a WebTV
keyboard to learn from. I guess I can always try trial and error, but
figure it is quicker to ask. |
|
Back to top |
|
|
jon_armstrong Expert
Joined: 03 Aug 2003 Posts: 1238 Location: R.I.P. 3/25/2005 |
Posted: Sun Oct 19, 2003 7:15 pm Post subject: |
|
|
It may be useful to cover how keyboards work. Each key has two commands down and up. There is probably a held command and an all clear that are the same for all keys, but I don't think they are important for what you want. There is only one "a" key. "A" is shift-"a" to do a shift anything; the command sequence is shift-down, a-down, a-up, and shift-up for a total of 4 keystrokes. ctrl-alt-delete would be ctrl-down, alt-down, del-down, del up, alt-up and ctrl-up. Since the device being controlled generally executes when del-down is sent, the rest of the commands are moot.
Comma Down= 52 3A and Up=F2 3A
Colon = shift-semi-colon
You will need to create a macro since these commands only execute a down or up. If you need up keys you will need to change the values from the remarks column. As is true anytime in KM Master use copy, paste-special-values.
Please add the comma to the device upgrade and feel free to document what works. I decoded it but sometimes once things work, I don't get any feedback. I don't have the hardware and I did it from decoding a ccf file. John Fine gets a lot of the credit when he realized these were really ASCII commands and they are inverted.
A zero is 775 uS on a One is 775 uS off. A start bit is always a Zero, then 8-bits, a parity bit, a parity check bit, and finally a stop bit that is always a One. There can be big gaps between these commands since they depend on human response time. Every keyboard seems to have some variation on this theme.
Then I converted all that into commands that Protocol builder could do so unless you lay out the binary and change byte barriers, it will be hard to reconcile to the commands that you learn. I do believe that DecodeIR.dll will decode some of these but it will decode them in their true values, not necessarily what you will enter in KM Master.
If you get to where that is needed I will send you my Excel spreadsheet that converted all this, but it is very poorly documented.
Just what you what you wanted, a simple answer _________________ -Jon |
|
Back to top |
|
|
The Robman Site Owner
Joined: 01 Aug 2003 Posts: 21238 Location: Chicago, IL |
Posted: Sun Oct 19, 2003 9:05 pm Post subject: |
|
|
You probably already know this, but just in case, all punctuation is ignored by the Replay, so "law & order" would yield the same results as "law order".
If you already know that, I'm guessing that you just want the punctuation to make the Replay Guide listings look better. That being the case, if you're using a learning remote and are not using an extender, you might want to just learn the few WebTV buttons that you need. _________________ 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 |
|
|
sfhub
Joined: 12 Oct 2003 Posts: 287
|
Posted: Mon Oct 20, 2003 1:31 am Post subject: |
|
|
> Each key has two commands down and up.
That explains alot. I was wondering why I couldn't enter the same letter
twice. Now I realize f(down) f(down) doesn't make much sense for a
keyboard. It seems for the ReplayTV virtual keyboard, a 2nd (different)
key down implicitly results in prev key up ie
g(down) h(down) g(down) h(down)
looks like it is interpreted as
g(down) [g(up)] h(down) [h(up)] g(down) [g(up)] h(down)
this behavior coupled with my circumstances (where I never need to enter
the same symbol twice in a row) is beneficial in that I can skip the
step of creating macros for each symbol for down/up (thus saving memory
and time, at the expense of probably deviating from expected sequences)
The part that confused me about Web_TV_Keyboard-KM.txt
was it seemed two symbols were missing from the Functions, ',' (comma)
and ';' (semi-colon). It turns out they were in the KM file all along, but
KM converts those characters to '_' when you save the file, so by the
time I loaded the KM file there were 3 '_', one was a duplicate line and
the other two corresponded to ',' and ';'
Code: | Changing the function names to spell out the symbol, versus using
the symbol as the name, would lessen confusion. On the Functions
page of Web_TV_Keyboard-KM.txt
row 39 _ -> comma
row 42 -> (remove, duplicate row)
row 43 _ -> semi-colon
row 48 -> equal
|
I'm not sure what the etiquette of updating files authored by someone
else is, so I'll just put the suggestions in this post.
> You probably already know this, but just in case, all punctuation is
> ignored by the Replay, so "law & order" would yield the same results
> as "law order".
Doh! Now you tell me At least you gave me an out so I can make my
Replay Theme names all pretty.
For the record, I'm using learning remote 15-2117, but I'm using
extender2, and I don't have a WebTV keyboard to learn from.
I spent some time (it seems more educational than useful) mapping out
the WebTV keyboard to ReplayTV mappings. In the process, I found there
seems to be two ways to enter any particular key (at least that's my
experience for entry into ReplayTV text entry area). For example OBC
(I don't know if OBC is proper terminology) for letter 'a' is 52 E2. 52 E0
can also be used for 'a'.
Basically the last digit for all the OBCs in the KM file are 0, 2, 8, A.
0 and 2 are interchangeable as are 8 and A. I couldn't detect any
pattern of why 0 was used instead of 2, same for 8 and A, so I figure
they can be used interchangeably.
In case anyone is curious here are the mappings from the WebTV
keyboard to ReplayTV functions (don't know if this was already
published somewhere):
Code: |
ALT
WebTV Key OBC OBC ReplayTV Key
ESC 54 50 54 52 EXIT
F1 50 C0 50 C2 MENU
F2 50 A0 50 A2 DISPLAY
F3 54 20 54 22 ZONES
F4 56 20 56 22 COMMERCIAL ADV
F5 56 40 56 42 no equivalent
F6 56 70 56 72 INSTANT REPLAY
F7 54 18 54 1A QUICK SKIP
FAVS 50 98 50 9A REPLAY GUIDE
HOME 50 F0 50 F2 CHANNEL GUIDE
UP? 56 48 56 4A UP
DOWN? 50 28 50 2A DOWN
LEFT? 50 48 50 4A LEFT
RIGHT? 50 68 50 6A RIGHT
EDIT 50 C8 58 CA no equivalent
INFO 52 28 52 2A no equivalent
SEND 52 48 52 4A no equivalent
MAIL 54 A8 54 AA no equivalent
GOTO 54 D0 54 D2 no equivalent
FIND 54 E8 54 EA no equivalent
SEARCH 54 F0 54 F2 no equivalent
SAVE 56 D0 56 D2 no equivalent
` (f-quote) 50 80 50 82 `
1 54 E0 54 E8 1
2 54 C0 54 C2 2
3 54 A0 54 A2 3
4 54 90 54 92 4
5 50 90 50 92 5
6 50 F8 50 FA 6
7 54 F8 54 FA 7
8 54 B8 54 BA 8
9 54 98 54 9A 9
0 54 D8 54 DA 0
- (dash) 50 D8 50 DA -
= (equal) 50 B8 50 BA =
DEL 54 70 54 72 BACKSPACE
TAB 54 60 54 62 TAB SYMBOL (rectangle)
q 56 E0 56 E2 q
w 56 C0 56 C2 w
e 56 A0 56 A2 e
r 56 90 56 92 r
t 54 10 54 12 t
y 54 78 54 7A y
u 56 F8 56 FA u
i 56 B8 56 BA i
o 56 98 56 9A o
p 56 D8 56 DA p
[ (l-bracket) 54 58 54 5A [
] (r-bracket) 54 38 54 3A ]
\ (b-slash) 52 F0 52 F2 \
CAPS 54 40 54 42 SHIFT LOCK
a 52 E0 52 E2 a
s 52 C0 52 C2 s
d 52 A0 52 A2 d
f 52 90 52 92 f
g 56 10 56 12 g
h 56 78 56 7A h
j 52 F8 52 FA j
k 52 B8 52 BA k
l 52 98 52 9A l
; (s-colon) 52 D8 52 DA ;
' (quote) 56 58 56 5A ' (display err? comma2)
RETURN 52 70 52 72 SELECT
SHIFT 52 30 52 32 no equivalent
z 52 60 52 62 z
x 52 40 52 42 x
c 52 20 52 22 c
v 52 10 52 12 v
b 50 10 50 12 b
n 50 78 50 7A n
m 52 78 52 7A m
, (comma) 52 38 52 3A ,
. (period) 52 18 52 1A .
/ (slash) 50 58 50 5A /
SPACE 50 70 50 72 SPACE
|
|
|
Back to top |
|
|
sfhub
Joined: 12 Oct 2003 Posts: 287
|
Posted: Mon Oct 20, 2003 3:56 am Post subject: |
|
|
Now I feel pretty silly.
First, KM already had all the mappings I needed, I just didn't realize it.
Second, Replay ignores punctuation in theme searches.
Third, someone on AVS had already done a nice writeup on the
WebTV to Replay mappings and the caveats.
http://www.avsforum.com/avs-vb/showthread.php?postid=2813922#post2813922 |
|
Back to top |
|
|
jon_armstrong Expert
Joined: 03 Aug 2003 Posts: 1238 Location: R.I.P. 3/25/2005 |
Posted: Mon Oct 20, 2003 7:28 pm Post subject: |
|
|
sfhub,
As far as modifying my file: have at it! Make it useful and add your comments and the link in a readme and zip it. Tell me and I'll delete my old one. I am quite happy to get some real feedback that it really works. BTW, most keyboards really do seem to work with only the key down commands as you experienced. I thought you might need compound keys so you got the full explanation.
BTW, you are definitely someone who got up to speed on a lot of things really quickly -- so I hope you stick around once you get everything working perfectly. _________________ -Jon |
|
Back to top |
|
|
sfhub
Joined: 12 Oct 2003 Posts: 287
|
Posted: Thu Oct 23, 2003 11:38 pm Post subject: |
|
|
Jon -
I cleaned up the KM file and got rid of symbols Excel didn't like (was
converting to underscores) and got rid of the duplicate entry. I also
included sample 15-2117 mapping for ReplayTV users. There's a readme
which details most of my experiences. I've included it below. The new
WebTV keyboard file is located at:
http://groups.yahoo.com/group/jp1/files/3.%20Device%20Codes/Keyboards/Web_TV_Keyboard.zip
-- readme.txt --
WebTV Keyboard is a device/protocol created by Jon Armstrong
with assistance from John Fine to allow your remote to send
the IR signals which a WebTV keyboard would normally generate.
It was partially based on a pronto ccf file.
In the process of adapting his work for text/symbol entry into
ReplayTV, I've taken his original work and slightly cleaned up
the KM file and added arrow key support.
I have tested every key which has a ReplayTV mapping but cannot
comment on the other unmapped keys as I do not have a device
which understands the full WebTV keyboard set.
There are 2 files:
Web_TV_Keyboard-KM.txt
Web_TV_Keyboard_for_Replay-KM.txt
The first is a cleaned up version of Jon's original work.
The second is a sample ReplayTV mapping for a 15-2117 remote.
To use, simply load the appropriate file into KM, cut/paste
the device *and* protocol into IR, define a device to use
cbl/1985, upload to your remote, and start experimenting.
Optionally, you can adjust the remote control model and
button mappings in KM.
CAVEATS:
1) ReplayTV ignores symbols in searches, so if you wanted to
create a Theme for:
CSI "CSI Crime" would find "CSI: Crime Scene Investigation"
MI5 "MI5" would find "MI-5"
Thus it is not necessary to enter symbols into the title of
a show (thus you might not want to go through the trouble of
using this device/protocol for ReplayTV other than for aesthetics)
2) To enter the shifted version of any key, use the CAPS key
(mapped to Enter in the 15-2117 sample KM file) This functions
as a shift-lock, so you need to press it again when you are
finished entering the shifted version of keys.
3) Some keys do not appear to display the proper character in
ReplayTV, in particular:
~ tilde (shift-grave) displays ` grave
) right-paren (shift-zero) displays 0 zero
" double-quote (shift-quote) displays , comma
' quote (quote) displays , comma
4) ReplayTV has it's own idea about how to capitalize letters.
The WebTV keyboard doesn't overide the builtin algorithm.
-
- sfhub (PM me at http://www.avsforum.com/)
-
----
If you are interested in the details, read on...
At this point it may be useful to discuss some keyboard basics
with a blurb from Jon Armstrong:
It may be useful to cover how keyboards work. Each key has two
commands down and up. There is probably a held command and an
all clear that are the same for all keys, but I don't think
they are important for what you want. There is only one "a" key.
"A" is shift-"a" to do a shift anything; the command sequence
is shift-down, a-down, a-up, and shift-up for a total of 4
keystrokes. ctrl-alt-delete would be ctrl-down, alt-down,
del-down, del up, alt-up and ctrl-up. Since the device being
controlled generally executes when del-down is sent, the rest
of the commands are moot.
On the "Functions" page of KM you'll notice the OBCs defined
are all for "key-down". The matching "key-up" OBCs are listed
in the Description/Notes column. To properly emulate a WebTV
keyboard you'll need to define a macro for each key with the
"key-down" followed by the "key-up"
However in my testing with *ReplayTV* I've found that in many
cases you really only need to use the OBC for "key-down" as
long as you don't press the same key twice.
For example when I try to enter "gg" what is being sent to
ReplayTV is g(down) g(down), which doesn't make much sense
as there should have been an g(up) sandwiched in between and
at the end of the sequence, if this had been a real keyboard.
There seems to be a feature of the ReplayTV keyboard processing
(possibly others) which will interpret two different "key-down"
presses as if there was a "key-up" in between.
For example:
g(down) h(down) g(down) h(down)
is interpreted as:
g(down) [g(up)] h(down) [h(up)] g(down) [g(up)] h(down)
You can take advantage of this fact to enter repeating characters.
In the above example of entering "gg", we could have entered the
following to accomplish what we wanted (using only key-down OBCs)
g(down) arrow-up(down) g(down)
Regarding the OBCs, in my ReplayTV testing I have found there are
two ways to define any particular key. The last nibble (4 bits)
of any particular OBC will either be 0, 2, 8, A. In particular
0 and 2 are paired as are 8 and A. They can be used interchangeably.
For example:
'a' OBC 52 E0 or OBC 52 E2
'h' OBC 56 78 or OBC 56 7A
Finally, I'm providing the mappings from the WebTV key to the ReplayTV
equivalent function. This would be useful in defining your own button
maps. |
|
Back to top |
|
|
jon_armstrong Expert
Joined: 03 Aug 2003 Posts: 1238 Location: R.I.P. 3/25/2005 |
Posted: Fri Oct 24, 2003 4:50 pm Post subject: |
|
|
This is a nice write up (and not just because you mentioned me ). It is great to have this sort of feedback for others who are trying to progam macros with keyboard commands. I deleted the original version. _________________ -Jon |
|
Back to top |
|
|
|
|
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
|