Author Topic: [Release] LH_Cursor (v1.00)  (Read 28994 times)

Triscopic

  • Moderator
  • Hero Member
  • *****
  • Posts: 729
  • ˙ǝıl ɐ sı ǝʞɐɔ ǝɥʇ
[Release] LH_Cursor (v1.00)
« on: 2010-11-19 23:53:07 »
(You must be logged in to view these screen shots and download the plugin)
LH_Cursor
Latest Version: 1.00

LH_Cursor is a set of tools that allow you to have a “cursor” effect on your layout. This has a number of uses, but the most common ones are to create layouts with tabs or pages, and to create menu layouts.

The best way to create a layout with multiple pages is to use the "cursor page" object. Drop a few page controls in the layout with a cursor controller, set the coordinates of each page (e.g. page one might be 1,1 & page 2 at 2,1 - that's x,y coordinates), bind some keys to the cursor controller's left & right keys and you're good to go. Using the keys you can now move between the two (or more) pages you've now added. Simply add other objects as children of these two pages and when the page is active it's children are visible. When you move the cursor off that page it will hide along with all it;s children. You can tell what pages are visible by the colour of the page's name in the instances tree - black items are visibile, silver are hidden.

Note that older versions of the page control (pre 1.00) were forced to use some horrible hacks to create the page-hiding effect. Layouts built using these versions of the cursor plugin will no longer work until they are updated. Usually this simply requires moving all items that should be on the page inside it, and may require moving & resizing the page. 


Menu Layout:

   
Box Layout:

Tab-based Layout:
   Button-based Layout:
(pressing no button defaults to the “home” screen)

Below you will find a link to a set of demo layouts - it is strongly recommended that you download these as they will show you how to go about creating menu layouts and layouts that use pages.

Additionally it is important to note that loading a layout will not prompt you to save changes (this is a good thing 99.9% of the time). Before you use this, if you are designing a layout make sure you save before you test the layout loading stuff!!

A full user guide can be found below.

Download the Demo Layouts
« Last Edit: 2011-07-11 21:07:52 by Triscopic »

Triscopic

  • Moderator
  • Hero Member
  • *****
  • Posts: 729
  • ˙ǝıl ɐ sı ǝʞɐɔ ǝɥʇ
Re: [Release] LH_Cursor
« Reply #1 on: 2010-11-19 23:58:55 »
Guide

Using the current demo layouts:
The current layouts use the G19’s LCD cursor keys for movement, the Ok button to select an item and the “back” button to activate the cursor (if required). In the non-menu layout, the “Menu” button will open the menu layout, whilst in the menu layout itself the pressing the “Menu” button will reselect the last layout you were in, allowing you to jump back to it. One of the layouts has no keys (tabs) an instead provides an example of creating an auto-cycling layout.

Tabbed or Page Layouts

To create a typical page layout, the plugin needs several keys: up to four cursor directions are always required, and two other buttons – one which "activates" the plugin enabling you to move the cursor and highlight boxes and one to "select" a box which then sends a page-change command – are optional depending on the desired behaviour.

Creating a page layout takes a few steps:

  • Begin by adding a cursor controller
    • Change the controller's boundries to 1,1,2,2 - this will create a square, 2 cells wide by 2 cells long.
    • Define keys for up/down/left/right - I strongly suggest the g19's lcd cursor keys
    • Now define keys for Select & Enable commands - I would suggest the g19's "Ok" and "cancel" keys respectively.
  • Now add four Cursor Rectangles, one in each corner of the screen. Make sure they're large enough to see easily but leave a reasonable amount of space free in the center - we'll need that in a moment. Set the top right box's Coordinate value to 2,1 then the bottom left to 1,2 and the bottom right to 2,2
  • Now test the cursor movement - you should be able to move between the four boxes and select them at will. Make sure you put the cursor back to the top left corner before you continue.
  • Now add a cursor page; position it in the center, taking up as much of the space as is free. It's coordinate should already be at 1,1.
  • Repeat this 3 more times - position each page first, exactly the same as the first page, and then set the coordinates to 1,2 then 2,1 and finally 2,2. Each page will disappear after you change the coordinates.
  • Now add an object or two to the first page. Make sure they're listed as children of the page in the "Instances" tree to the right of the editing window.
  • You can now select a different box (e.g. 2,1) and the objects you added will disappear. Notice the change in instances tree: the first page is now listed in silver showing that the page is now invisible, and whichever page you selected is now black, showing that it is now visible instead. Select 1,1 again and this will revert back, revealing the objects you added to the first page again.
  • By selected each page in turn you can add additional objects to each page - consider selecting a theme for each page and try to create one to show the weather, one to show the date & time, one to show an rss feed and one some cpu graphs.

 Congratulations: you now have a layout with multiple pages!

Menu Layouts

Menu layouts are very simple to create:

  • As above, you will need to add a cursor controller and some rectangles and configure the boundries and coordinates.
  • You will probably want to set the Cursor Mode to “Move & Select / Deselect Only” for a menu. More advanced things can be done with the other cursor types, but this is by far the most simple method to understand when creating your first menu layout.
  • Now, to make the menu work you need only select a rectangle, tick the “Layout Trigger” field and specify the desired layout file to load.
  • Make sure you save your layout before you test it, then select a rectangle with the cursor and press select

You have a working menu!

But Wait! What’s that you say? The menu’s great but you can’t get back to it from your other layout? Ok, that’s very easy to fix:

  • In each “child” layout, that is each layout that will be opened by the menu, add a Quick Action object
  • Bind a key to the quick action object (e.g. the “Menu” key from  the G19’s lcd keys) and select the menu layout file
  • Save your layout

Now pressing that key will load the menu, giving you complete navigation between your layouts.

You can also enable the “Persistent Selection” option (you’ll have to specify a text file to save the cursor’s location to; do not enable the auto-reselect option). After saving the menu layout again move to a child layout and back again and you’ll see the cursor begins at your last choice instead of at the “1,1” coordinate making the menu seamless.
« Last Edit: 2011-07-11 21:25:13 by Triscopic »

SirReal

  • Administrator
  • Hero Member
  • *****
  • Posts: 735
    • linkdata.se
Re: [Release] LH_Cursor
« Reply #2 on: 2010-11-20 00:25:44 »
You make me feel ashamed I haven't completed more of LCDHost yet... :'(
Unfortunately, I do have to put food on the table (for the kids, if not for myself), and neither LCDSirReal nor LCDHost will do that for me for a looong time yet, so I'm currently on 'make money' work. I'll take suggestions from you what you'd like to see next in LCDHost. What's most needed?

Triscopic

  • Moderator
  • Hero Member
  • *****
  • Posts: 729
  • ˙ǝıl ɐ sı ǝʞɐɔ ǝɥʇ
Re: [Release] LH_Cursor
« Reply #3 on: 2010-11-20 10:13:44 »
Aaah! That was the last thing I intended!  :o

I think we're all in agreement on how excellent LCDHost is already, even in it's current state. Honestly, you don't need to offer explanations. I'm the same, it's just that right now the client I'm working for needs me to work in VB6 (*yech*) which means at 5:30pm I'm done, downing tools and gagging to work on something more interesting.

Personally I think LCDHost needs two things to make it completely blow everything out of the water. At a top level these are a tab control that's as easy to use as all the other plugins (so it should just be a case of just adding items to pages) and an XML manipulator plugin (so you could easily create a layout for any game or application able to export data). I'm quite keen to take a stab at these and for that I think I would need a plugin to control its visiblity including children and the inter-plugin-communication you've already discussed.

BUT family should always come first, and LCDHost is already excellent so please, just take your time! LCDHost is (for now anyway) just your hobby after all!

On a side note, it amazes me that LCDHost isn't more popular. It's so much better than other G19 applications.

SirReal

  • Administrator
  • Hero Member
  • *****
  • Posts: 735
    • linkdata.se
Re: [Release] LH_Cursor
« Reply #4 on: 2010-11-20 13:11:16 »
Well, excellence != popularity. History shows us this time and again. Remember VHS? VHS won out over both Betamax and Video 2000 tapes, and it inferior to both. In this case, it's mostly about being a rather limited target audience (basically Logitech G-series customers). Of course, if Logitech started to bundle or link to my stuff, that'd make all the difference, but unfortunately, it's not in their interest to do so. No money in it for them, and many users would turn to them when they had problems with LCDSirReal/LCDHost, so it would generate more work for them.

Triscopic

  • Moderator
  • Hero Member
  • *****
  • Posts: 729
  • ˙ǝıl ɐ sı ǝʞɐɔ ǝɥʇ
Re: [Release] LH_Cursor
« Reply #5 on: 2010-11-20 17:58:39 »
True. So much for "build it and they will come" eh?

By the way, what happened to LCDHost's analogue clock widget? I couldn't find it the yesterday. Has it been removed or am I going blind?

SirReal

  • Administrator
  • Hero Member
  • *****
  • Posts: 735
    • linkdata.se
Re: [Release] LH_Cursor
« Reply #6 on: 2010-11-20 18:45:29 »
It was basically a QScript (JavaScript) demo running on QScript. I removed it when I removed QScript.
It should be trivial to reimplement using WebKit, or it could be rewritten with lua/cairo. Or even as a full plugin.

Triscopic

  • Moderator
  • Hero Member
  • *****
  • Posts: 729
  • ˙ǝıl ɐ sı ǝʞɐɔ ǝɥʇ
Re: [Release] LH_Cursor (v0.11ß)
« Reply #7 on: 2010-12-19 16:43:58 »
Release Notes:

Updated to 0.11:
  • Added sensible description text
  • Minor changes to LH_Text inheritance
  • Signed

(No download for this version as it is bundled with the LCDHost installer)

Ender91

  • Sr. Member
  • ****
  • Posts: 336
  • Alpha & Omega
Re: [Release] LH_Cursor (v0.11ß)
« Reply #8 on: 2011-01-02 10:29:05 »
Okaaaaaay, got how it works...... :)
Trying to make a layout.....

Triscopic

  • Moderator
  • Hero Member
  • *****
  • Posts: 729
  • ˙ǝıl ɐ sı ǝʞɐɔ ǝɥʇ
Re: [Release] LH_Cursor (v0.2ß)
« Reply #9 on: 2011-02-16 23:10:39 »
Release Notes:

Updated to 0.2ß:
  • Added layout loading option to Cursor Rectangles
  • Added "Quick Action" object
  • Added "color map" to rectangles
  • Added "Cursor Image" object
  • Added edge looping option
  • Added no-jumping "invalid point" option (i.e. "walls")
  • Fixed typo in "Invalid Points"

This update allows you to create menu layouts. I suggest you download the demo layouts to understand how, but they're really easy. Also, you could easily use this to create a "page-like" layout, with each page as a seperate layout.

Triscopic

  • Moderator
  • Hero Member
  • *****
  • Posts: 729
  • ˙ǝıl ɐ sı ǝʞɐɔ ǝɥʇ
Re: [Release] LH_Cursor (v0.2ß)
« Reply #10 on: 2011-02-16 23:11:34 »
Also updated the guide.

novax1

  • Global Moderator
  • Sr. Member
  • ****
  • Posts: 371
Re: [Release] LH_Cursor (v0.2ß) - Build Menus!
« Reply #11 on: 2011-02-28 16:18:58 »
hello
 help in creating the cursor pluying following the instructions but the question is how
◦Now define keys for Select & Enable commands - I would suggest unused G-Keys

Triscopic

  • Moderator
  • Hero Member
  • *****
  • Posts: 729
  • ˙ǝıl ɐ sı ǝʞɐɔ ǝɥʇ
Re: [Release] LH_Cursor (v0.2ß) - Build Menus!
« Reply #12 on: 2011-03-01 10:40:12 »
Select the cursor controller and assign keys to the boxes labelled left / right / up / down / select & enable in the settings panel.

That said, it is important to point out that not all of these will always appear:
E.g.:
  • If you don't have multiple columns for example (e.g. if you set the boundaries as 1,1,1,4 you create a region with one column and four rows) you won't get left & right keys as there's no need for them. Obviously the same thing applies to the up & down keys if you only have one row.
  • If you choose a mode that doesn't support enabling & disabling you won't get an enable key
  • If you choose a mode which selects when the cursor is moved you won't get a select key.

The rule is that keys appear in the settings box when they needed. If they're not there, they're not required by the current configuration.

novax1

  • Global Moderator
  • Sr. Member
  • ****
  • Posts: 371
Re: [Release] LH_Cursor (v0.2ß) - Build Menus!
« Reply #13 on: 2011-03-01 13:32:04 »
Thanks to this solution

novax1

  • Global Moderator
  • Sr. Member
  • ****
  • Posts: 371
Re: [Release] LH_Cursor (v0.2ß) - Build Menus!
« Reply #14 on: 2011-03-01 16:36:08 »
Hello and this have created such thanks.
 If you think about it multilenguge com Migo to have the translation in Spanish.
 Greetings  :-[

 

anything