|-- Building and Programming a PC Remote
-- Page: 1 2
Setting Up WinLIRC
Once you have your remote ready and connected to your PC, unarchive your WinLIRC file to a folder that you plan on running it from from then on. It is dependent on only those files that it has in the folder you install it into, which is nice. The first thing you should see when you open up winlirc.exe should look something like this:
This, as the title states, is the configuration stage of WinLIRC. Typically the default settings you will see listed on the window will be fine for your remote. If not, you'll find out during the installation process. Make sure that you select the correct COM port that your remote is plugged into. If it's not correct, you won't be able to read codes in. If that's the case, no big deal. Just come back to this screen and try a different COM port, it will usually be COM1 or COM2.
From this screen, click on the "Learn" button. You'll come up with a screen asking for the name of your remote. Make any name up, but don't use spaces or special characters. My creativity led me to create the name "rcalife" because my remote has that written on it. The next step will explain about a margin of error. Use the default value. Like the explanation says, alter it later if your configuration fails. The last non-remote piece of information that WinLIRC will ask you for is the gap and length of your remote code. Ignore this; the program is usually fine at detecting it on its own anyway.
Now that you've gotten that out of the way, continue on with WinLIRC's walkthrough. Simply press a button ten times to help determine what type of signal, and what variation WinLIRC will be looking for. Don't fret if you don't get it to go through the very first time. Under different light conditions, different error margins, and different remotes the results will vary. It may take you as many as five to ten tries just to get past this step. Once you're past it, however, the fun starts.
This is where you bind a name to each button on the remote. This is important, because this is how Girder tells you what button you're using to control each operation later, so think up easy, concise names for the buttons. I wound up using the names directly off of the remote itself, improvising "ffd, play, pause, stop, ffd_end, etc" for those without names. Depending on the way the remote is being read by the receiver you may experience different styles of button verification. One may require you to hold down the button for a few seconds, the other may require you press it repeatedly. In any case, just follow the simple directions and you'll be set.
Important note: The way that some remote controls work, some buttons will NOT be recognized in the same group as the rest of the buttons. For example, volume controls often will not be recognized if you're programming a universal remote into WinLIRC. Either choose another remote, or learn to deal with the fact that a few buttons on your remote won't work.
I was lucky enough to stumble on a proprietary remote where all of the buttons work fine in WinLIRC, but any old IR remote will work fine for you with the possibility of a few buttons not working.
When you're done programming your remote into WinLIRC's configuration, click the "analyze" button just to check to see if the file has any errors in it. Provided everything went smoothly in the configuration, it should complete successfully, and you can now click "ok" on the configuration panel to bring you to the main menu. Once that step is completed, hide the window and WinLIRC is good to go!
***Note: If you cannot seem to get your receiver to accept any codes from your remote, run the "raw codes" option on the configuration panel. After a button press on the remote, you should see numbers appear on the screen. If you see nothing, try changing COM ports and other options on the configuration window. If all fails, check your wiring on your receiver and make sure that everything appears to be ok.
Working With Girder
Girder is, without a doubt, one of my favorite pieces of software. It is extremely configurable and able to bind software tasks to various instances. Girder recently began charging for the software, but it still has a 30 day trial before you have to buy. The price after the thirty days is $20. When you first install Girder it is quite an intimidating looking program. There are several terms that you may or may not be familiar with, so I'll try to go over the basics of the program here. I am by no means an expert at using the program, so for specific or complicated questions I would suggest heading over to the
Girder Forums. Either search the database for the answer to your question or ask a new one if your instance is unique. In any case, the members there are knowledgable and willing to help.
Before we go into any details about Girder, please note that you'll need to install the
WinLIRC plugin to allow communication between your remote and Girder. Drop the plugin into install directory of girder then the /plugins/ folder (IE, by default: C:/Program files/Girder/Plugins/). Then once you've opened Girder, go to file...Settings...Plugins. Scroll down the list and select "WinLIRC". Now you're all set to start writing commands.
Click above for larger pic
First let us take a look at the appearance of the program. On the left you will notice a large, blank (for now) white area. This area houses your list of commands (more on this later) to be executed. To the right of it, there is a top portion including a comments field and a few other selection options. This area will allow you to bind a key on your remote to a command. Below this there is a tabbed area in which each new tab will reveal new parameters to set. This is the area that does the magic, it allows you to decide exactly what your selected command will do.
The left portion of the Girder display is where you will organize your commands into a hierarchy. The command is simply the task that you want to accomplish, such as opening a program or adjusting the volume of your mixer panel. To keep things simple, lets say that you want to open a program. First, lets add a folder to your list of commands to help keep future commands organized, and in that folder add a command. You can do this by clicking "Edit..Add Group" and then "Edit...Add Command", or pressing Ctrl+G for the group and Ctrl+A for the command. You should now have a folder with a little remote icon inside of it titled "New". You may right click and rename it now, or later, or never. It's really up to you. The next step after naming my command I usually use is choosing what I want this command to do. I could bind a remote button to it now if I were so inclined, but let's just do things one step at a time. The next paragraph will explain setting a task to this command.
Ok, so we've got this new command. Lets try to keep this one simple, so lets just have it turn the monitor off. Nicely enough, Girder has a command built in that will allow us to do just that. The first thing we must do is look at the lower right portion of the Girder window. There are several tabs to choose from; in this case we want the O.S. tab. There should be a drop down list to choose a list of commands from. We want to select the "Monitor Off" option. Once it's selected, click the "Apply" button directly to the right of it.
We've created the command we want to do, now we need to bind a remote button to it. If you look in the upper right corner of the Girder window, you will notice a "Learn Event" button. This button will capture some keypress from your remote (or other source if you use a different plugin) and bind it to your command. Once we click the button, it will change titles to "Cancel Learn", and a new icon will appear in the command hierarchy called "EventString". Right now Girder is waiting for you to press a button on the remote, so choose your button and press it. Once you do, you will notice that the name you gave to that button in the WinLIRC
setup will appear in the red/yellow grid in Girder. So now what happens? Well,
press your button again and find out . . .
Still there? I figured I'd wait another 15 seconds or so to let you wake your monitor up after turning it off. Congratulations, you just created your first Girder command. Right now you're probably thinking "Wow, that was a lot to read for such a simple task." Keep in mind I tend to over explain things fairly often so if an issue arises one can simply re-read something I wrote. Anyway, now you should have a slight feel for how to add a command, choose what it will do, and bind it to your remote. I'll now break the guide up into a few sub-categories to shed light on a few Girder basics.
If you have an Eventstring selected in the command list, you'll notice that some options on the right side of the Girder will be disabled, while some new options will appear. The Command options will grey themselves out, but two new options will become able to edit: Anti-Repeat and Invert. The Invert command won't really serve a purpose for using your remote, so ignore that.
Let's say that we want to have a button that will open the next file in a folder in Zoom Player. Sounds like a good idea, right? Of course it is, this is a very simple yet useful task to accomplish. When you press a button on a remote, however, it doesn't send signals once per press. Otherwise, you wouldn't be able to hold in a button when you raise the volume on your stereo. So, signals are sent in various pulses while you're holding a remote button down. For cases such as adjusting volume and fast forwarding through a DVD this is very useful, but not if you want to move one item at a time. What if you press the button for too long and suddenly you're two files ahead of where you intended to be?
This is where Anti-Repeat comes in. The value inside the text box is the amount of time that Girder will ignore a button press after the original press, measured in milliseconds. I usually set this value to something between 500-1000ms (.5 - 1 second) to allow for me to press the button and release it, but hold it in if I feel it is necessary (IE, I knowingly want to skip 2 tracks ahead, so I just hold the button in for longer than the Anti-Repeat). I have found that 500ms is the best Anti-Repeat time for most commands, but you may find your opinion to be different. Play around with this value and see how it fits you best.