Page 1 of 2 12 LastLast
Results 1 to 10 of 18

Thread: MultiShift in two different flavors

  1. #1
    Join Date
    Dec 2002
    Location
    Germany
    Posts
    73

    Default MultiShift in two different flavors

    As Girder is a very powerful app there's always a lack of buttons on the remote. Mark created a setup for using one button as a shift. I personally like the way the shifting is done because it's absolutely stable.
    However, someone asked for a way to increase the number of shifting levels. As I didn't want to change Mark's code and some people might be scared by the required (re-)'learn event' process, I made a new setup that is able to support multiple shift-levels and doesn't require a special learn event process.

    The big disadvantage of this solution is that the commands of the shifted buttons have to be nested in special groups.

    As mentioned in the subject there are actually two different 'flavors'.

    Version 1 - Single-Key:
    Pressing the shift button once will make Girder enter shift level 1, pressing it again will make Girder enter shift level 2 and so on. So the shift button cycles through the shift levels.

    Version 2 - Direct-Shift:
    This one has one shift button for each shift level. It's similar to the way the pocket calculaters from Texas Instruments work (2nd key, 3rd key). Note that this version uses reg23 to store the shift-level.

    Both versions have the ability to assign buttons as one-shot.
    Example:
    Button 1:
    shift-level 0 (no shift/default): Next Track
    shift-level 1: Volume Up
    shift-level 2: Fast Forward
    Button 2:
    shift-level 0 (no shift/default): Start Winamp
    shift-level 1: Close Winamp
    shift-level 2: Shutdown Windows
    You can set it up to keep the shift-level after pressing button 1 (good for increasing the volume by more than just one step by holding down the button). But you can assign button 2 to be a one-shot (going back to shift-level 0 after closing Winamp without having to press shift again).

    The example files support 3 commands per button but can be modified to increase the number of shift-levels. One one-shot button is predefined for testcommands. You'll find further information in the 'comments' after loading the file in Girder.

    Comments on the files are appreciated.

  2. #2
    Join Date
    Mar 2003
    Posts
    1

    Default

    sibix,

    This looks like to perfect solution to the problem I've bee working on. Currenlty I'm using a Creative IR receiver and Pronto to run zoomplayer and because of the small number of keys available I quickly ran out of buttons for commands. I'd like to use this multishift to split the ZP funtions and switch between them using a shift key. Being fairly new to girder I'm a little lost as to how to setup the multishift .gml and how to incorporate my own .gml files.

    I have so far assigned a shift key and imported ZP and winamp .gml's. I've moved these commands into the three differnt groups of the multishift .GML so that winamp is listed under the shift0-cmd group, ZP special commands under shift1-cmd group and ZP functions lies under shift2-cmd group. The OSD commands are a great idea BTW

    However pressing the shift key only serves to enable the shift0 group and disable all the others. Further presses of the shift key do the same thing. Am I missing the point here?

    Eventually I'd like to expand this to include a number of other groups and use multiple 'shift' keys to enable the different groups rather than a single key. For now though, with only three groups, one shift key will suffice.

    Hope you can help as this appears to be a terrific solution.

    Thanks in advance
    ajm

  3. #3
    Join Date
    Jun 2003
    Posts
    2

    Default

    Where can i get these sample files?

  4. #4
    Join Date
    Jun 2003
    Location
    Saint Louis
    Posts
    12

    Default

    I could be wrong, but i belive that

    http://www.girder.nl/filesbb/multishift.zip

    You can browse around there for other stuff too:

    http://www.girder.nl/filesbb/

    I'm also quite new to this whole girder thing and i've reciently descovered the single shift script. I have yet to try the multi shift yet.

  5. #5
    Join Date
    Oct 2003
    Posts
    62

    Default

    hi!

    i know this is an old thread but i really like the idea of this multishift and i find it very usefull. the only problem is that im really at loss about how to set it up...ive tried first the original shift file by Mark F and that was even more confusing so i switched to the multi shift which seems more simple. yet even with this i am a bit at loss since i cant seem to figure out the basics especially how to cycle through the various shift stages..id really appriciate any help i can get to try to explain to me the simple basics in a non "computer-genius" language

    thx alot

    Zeltak

  6. #6
    Join Date
    Aug 2002
    Location
    Cairns, Australia
    Posts
    67

    Default

    im really spun out on this idea

    im guessing the shift button just disables other commands on each level, or soemthing

    could someone write a quite tute on how to use this :P
    Lord of the Undead Legion

  7. #7
    Join Date
    Feb 2004
    Posts
    35

    Default

    I'm a newb here, but I've tried to get multishift working, it seems pretty simple, I haven't tried the direct version only the single key.

    I think you just have to set the SHIFT multigroup to your shift button. Also seems to have testcommands I'd guess you'd set your shift button to as well, only to show an osd to let you know which shift level you're in. There's also a key for testcommand in the backshift group. I guess this should be set to shift as well, not sure about that. maybe it should be set to a shift that you want to auto revert to shift level 0.

    The only script increments reg23 which contains the shift value. 1, 2, or 3. The problem seems to come in from attempting to perform arithmetic on a global variable.

    Hmmm, that's weird, just went back to the script window, which is where i originally saw this error message, and it's gone, and now the shift seems to work. I didn't do anything to it. Weird.

    Also, it seems the links are broken, You need to go through the shift commands and make sure that group enable and disable commands actually point somewhere.

    Also, the BACKSHIFT multigroup has a girderopen event, I think that to activate that, you need to either have the gml autoload with girder or disable then enable your input device (F9 twice).

    Weird about that global variable thing. At least I'm startin to get the hang of this thing.

  8. #8
    Join Date
    Feb 2004
    Posts
    35

    Default

    Oh, one more thing. The links are broken in the shift multigroup as well. You need to link them to the their multigroups. I.E. shift -> 0 to the shift -> 0 multigroup. If you don't know how to do that. Hit browse on the top name and browse to the proper multigroup. The top name executes on true, and the bottom name executes on false.

  9. #9
    Join Date
    Aug 2002
    Location
    Cairns, Australia
    Posts
    67

    Default

    so can anyone post a mini guide on how to do this :P

    im guessing that u can set the time it takes till the shift button changes

    so if u hit shift once, u enter the 2nd tier of shifting,
    so just hitting 1 by itself would give u 1 command, hitting shift and then 1 u get onto a new tier, hit shift again and u go onto another tier, which resets after 1 or 2 seconds if u dont hit anything?
    Lord of the Undead Legion

  10. #10
    Join Date
    Feb 2004
    Posts
    35

    Default

    I'm not sure about implementing the auto reset, but to fix the broken links is quite simple.

    This applies to the single key variant, I haven't tried the other.

    There are 4 commands in the SHIFT Multigroup:

    set shift-state (this contains the script, if reg23==2 then reg23=0 else reg32=reg23+1 end. So this checks reg23 for a value between 0 and 2, when it reaches the end of the loop, it resets zero, otherwise it increments it. To add more shift levels you would change reg23==2 to however many shift levels you want, 0 counts as a level.)

    shift -> 0 (This contains Check Reg23==0. So if no shift then it goes to the shift ->0 multigroup. When I installed this gml, this pointed nowhere, as did the other shift's in this multigroup. So to make it point somewhere, click the browse button next to the name immediately below the Icon/Device box. Select the shift -> 0 multigroup from the tree that pops up. Press apply. Most of the time when things don't work as I intended, I forgot to press apply and lost the settings.)

    shift -> 1 (check reg23==1) Point to shift ->1 multigroup.

    shift -> 2 (check reg23==2) Point to shift -> 2 multigroup.

    These are all pretty basic, to add more shift levels you would need to add shift -> 3 etc...

    You also need to set up an event trigger for the SHIFT multigroup. Highlight shift, press learn event, press desired shift button.

    Next, we go to the shift -> Multigroups

    shift->0. Contains 2 commands, the first points to disable all multigroup, to ensure that no unwanted groups are open. The link is broken and must be set. I think the goto command is set already, all you have to do is select the browse next to the name directly beneath the icon/device box. Point to the disable all multigroup.

    enable shift-0-cmds. This enables the shift-0-cmds group. Link is broken. Point to appropiate group.

    I also put a display shiftstate command in here, which uses xp osd to display current shiftstate.

    The shift->1 and shift->2 multigroups are the same, point them at their appropriate groups.

    Next, the disable all Multigroup. Three commands, group disable, links broken, fix.

    Now, everything should be working, except, I haven't mentioned the BACKSHIFT group. Two commands, Two event triggers.

    reset state. (sets reg23 to 0)

    shift->0 (points to shift->0 multigroup, can't remember if this link was broken, probably, so point it where it needs to go.)

    initialize on startup. This is set to girderopen, so to enable it enable then disable all input devices, or F9 twice. This is to ensure that reg23 contains zero and shift0-cmds group is enabled at start. You don't need to disable/enable device if you have the gml autoload with girder.

    key for testcommand. This one i'm unsure about, it has no event associated with it. I suppose it might be a reset button.

    That's basically it, you put your various commands in the various cmd groups, when the group is enabled, so is the command, when disabled, they are too.

    I hope that this is the how-to you were talking about. I am new to girder, so don't know enough about it yet to set an auto-reset. I also use a sms-style keyboard gml that contains a script with an autotimer, maybe you could use that, or the nokia style gml has a non-script timer. It calls the alarm timer plugin, but I haven't customized it, so unsure how to use it.

    Good luck.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •