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

Solidtek ACK-571 IR keyboard on MAXQ remotes

 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Keyboards
View previous topic :: View next topic  
Author Message
mathdon
Expert


Joined: 22 Jul 2008
Posts: 2764
Location: Cambridge, UK

PostPosted: Wed Jan 13, 2016 2:25 pm    Post subject: Solidtek ACK-571 IR keyboard on MAXQ remotes Reply with quote

I have posted a device upgrade for MAXQ remotes that provides complete support for the keys (but not the mouse functions) of the Solidtek ACK-571 keyboard.

The protocol allows a single key of the remote to send the signal of either a single keyboard key or of two keyboard keys pressed together, such as Ctrl/X. It does this by using two OBCs. When OBC2=127 then it sends the signal corresponding to OBC1. The value 127 does not correspond to any physical key of the keyboard. When OBC1 and OBC2 are both OBCs of physical keys then it sends the signal of both keys pressed together. More specifically, it sends in order the make signal for key 1, the make for key 2, the break for key 2 then the break for key 1. If the combination is held then it is the make of key 2 that repeats. So for example if the signal with OBC1=32 (corresponding to key A) and OBC2=127 is sent to the Notepad application, it will input "a" and if held will generate the repetition "aaaa...". But if OBC1=14 (Left Shift key) and OBC2=32 then it will input "A" and if held will generate "AAAA...".

There is also a second special value for OBC2. When OBC2=126 then it sends a make signal or a break signal on its own, exactly once. If OBC1 < 128 then it is the make signal for the key concerned. If 128 is added to the OBC then it is the break signal. This facility allows the construction of macros that correspond to the simultaneous pressing of three, or even more, keys.

My thanks are due to Ed Heller (user edheller) for providing me with a real Solidtek ACK-571 keyboard to enable this protocol to be developed. The timings involved in the protocol have little tolerance and it proved impossble to get the protocol working reliably without access to a real keyboard for testing.
_________________
Graham
Back to top
View user's profile Send private message
The Robman
Site Owner


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

PostPosted: Wed Jan 13, 2016 6:06 pm    Post subject: Reply with quote

Would it be possible to combine this with the upgrade for the other processors, so we just have a single file available to the users without them needing to know which processor is in their remotes?

I see we have KM files already but I don't recall what's in them.
_________________
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
mathdon
Expert


Joined: 22 Jul 2008
Posts: 2764
Location: Cambridge, UK

PostPosted: Wed Jan 13, 2016 6:13 pm    Post subject: Reply with quote

The Robman wrote:
Would it be possible to combine this with the upgrade for the other processors, so we just have a single file available to the users without them needing to know which processor is in their remotes?

No. They use 1 command byte and can only send the signal of a single key. My protocol uses 2 command bytes to give it much greater versatility.
_________________
Graham
Back to top
View user's profile Send private message
The Robman
Site Owner


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

PostPosted: Thu Jan 14, 2016 2:19 pm    Post subject: Reply with quote

There appears to be a bug in RM if you use the backslash "\" symbol as a function name. Take a look at function.81 in your file.
_________________
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: 17913
Location: Chicago, IL

PostPosted: Thu Jan 14, 2016 4:12 pm    Post subject: Reply with quote

Here is pseudo code for the new executor, in case anyone wants to update the S3C8 and HCS08 versions.
Code:
Case
when OBC2=127
     send OBC1 "make" signal (repeat if held)
     send OBC1 "break" signal
when OBC2=126
     if OBC1<128
        send OBC1 "make" signal
     else
        send (OBC1 - 128) "break" signal
when other
     send OBC1 "make" signal
     send OBC2 "make" signal (repeat if held)
     send OBC2 "break" signal
     send OBC1 "break" signal
End case

_________________
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
mathdon
Expert


Joined: 22 Jul 2008
Posts: 2764
Location: Cambridge, UK

PostPosted: Sat Jan 16, 2016 10:20 am    Post subject: Reply with quote

The Robman wrote:
There appears to be a bug in RM if you use the backslash "\" symbol as a function name. Take a look at function.81 in your file.

Thanks, Rob, for pointing this out. In the format used for .rmir and .rmdu files and protocols.ini, backslash acts as a line continuation symbol to mark that a logical line of data continues on the next physical line. So when used as a function name it concatenated the two lines used to specify the function name and its hex value.

When the upgrade is first saved with backslash as function name, the file saved is OK. It gets corrupted on loading and so stays corrupted on editing and re-saving. Unfortunately I had edited the file, so the posted upgrade itself includes this corruption.

I have now re-posted the upgrade with the function name reset to "\". I have also re-posted build 13 of RM/RMIR with the bug fixed by making function names be an exception to the use of backslash for line continuation. It now shows correctly.

In the re-posting of the upgrade, I have also removed the apostrophe "'" that prefixed all the function names that are special characters, such as \, ?, [, ] etc. I don't know why these apostrophes were there. They were in the KM Solidtek upgrades so I kept them, but RM does not require them and I found them confusing. Perhaps KM needed them, since KM is an Excel spreadsheet and I think that uses the ' character for some special purpose.
_________________
Graham
Back to top
View user's profile Send private message
The Robman
Site Owner


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

PostPosted: Sat Jan 16, 2016 11:13 am    Post subject: Reply with quote

mathdon wrote:
In the re-posting of the upgrade, I have also removed the apostrophe "'" that prefixed all the function names that are special characters, such as \, ?, [, ] etc. I don't know why these apostrophes were there. They were in the KM Solidtek upgrades so I kept them, but RM does not require them and I found them confusing. Perhaps KM needed them, since KM is an Excel spreadsheet and I think that uses the ' character for some special purpose.

Yup, that's exactly why there were there, I had also deleted them from the RMDU copy that I saved. Thanks for fixing it Graham.
_________________
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
Page 1 of 1

 
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