CHDK - virtual keyboard - testers needed! - page 4 - General Discussion and Assistance - CHDK Forum  

CHDK - virtual keyboard - testers needed!

  • 150 Replies
  • 31437 Views
Re: CHDK - typing / virtual keyboard / editor-style typing
« Reply #30 on: 04 / January / 2012, 06:28:26 »
Advertisements
TobiMarg, outslider

Thanks for work.

Several notes to last post:
1. This version is for trunk. reyalp-flt 1522 require small reworks. changed version is in attachment
2. Current version is wrongly fill up on init string. Often strange symbols are exists.
3. tbox shouldn't be redrawed completely each tick. Because:
a) I suspect it consume more power for too often redraw
b) Much more important - symbols line is blinking. This cause eye tiring.
Redraw only if something changed (use flag just like in pattern). Cursor could be line as now, blinked line (but I found that it not always clean before position) or just specific symbol
4. Different groups in symbols line should be separated (by space for example). Because I do not understand what group is own required character
5. Slightly more space should be between lines. Now "editable area" visually merged with symbols line and prompt.
6. Usually in UI design prompt is aligned in same way as editbox content.

7. To interface - I see no reason to "btn" argument for callback. newstr=0 mean "cancel"
8. Parameters of tbox_init should contain initial content of edited string. This for example will simplify small rename of file.

9. I like proposed scheme. One improvement. IMO in "edit" mode (T) zoomer could work in same way as in edit.

2TobiMarg,
no problem if alternate keyboard/keyboard scheme/input method (like proposed by you line navigation) exists. Different people - different preferences. Prefered input module even could be selected in menu. Only one limitation - api should be equal.
« Last Edit: 04 / January / 2012, 06:34:51 by tsvstar »

Re: CHDK - typing / virtual keyboard / editor-style typing
« Reply #31 on: 04 / January / 2012, 08:21:31 »
1. This version is for trunk. reyalp-flt 1522 require small reworks. changed version is in attachment

I'm not sure if better is to use trunk or reyalp-flt? Is reyalp-flt going to replace trunk?

3. tbox shouldn't be redrawed completely each tick.
True!

4. Different groups in symbols line should be separated...
I hope we will change the design, but let first make it working:D

8. Parameters of tbox_init should contain initial content of edited string. This for example will simplify small rename of file.
True!

9. I like proposed scheme. One improvement. IMO in "edit" mode (T) zoomer could work in same way as in edit.
As I can see now zoom is used to move the cursor which is OK IMO, but interface itself can be easly changed.


Currently I have problems with loading my stand-alone module from other place than menu/others/modules. How should it be run from script? I mean what function(s) should I call from luascript.c to provide new lua command?

Is this ok to use simple_module style? Palette does not use it. I tried yesterday to use the same style as for Palette, but it requires changes in gui.c and gui.h. I have now some problems with it. However changes in core will be required even if we use standalone simple_module, so maybe using palette style is good way?

Now I'll take a look into your code;)
if (2*b || !2*b) {
    cout<<question
}

Compile error: poor Yorick

Re: CHDK - typing / virtual keyboard / editor-style typing
« Reply #32 on: 04 / January / 2012, 10:01:05 »
I'm not sure if better is to use trunk or reyalp-flt? Is reyalp-flt going to replace trunk?
reyalp-flt currently contain next iteration of modules improvement and it will be commited to trunk when ensure that it works ok and no more incompatible changes in near future required. I think this happens soon.

As I can see now zoom is used to move the cursor which is OK IMO, but interface itself can be easly changed.
Yes. Looks like it works in this way in 'K' mode (keyboard), but not in 'T' (navigate) mode.
And then I see no _insert space_ and _backspace_ "keys". Zoomer as insert/backspace is that I expected and unified with EDI.

Currently I have problems with loading my stand-alone module from other place than menu/others/modules. How should it be run from script? I mean what function(s) should I call from luascript.c to provide new lua command?

Is this ok to use simple_module style? Palette does not use it. I tried yesterday to use the same style as for Palette, but it requires changes in gui.c and gui.h. I have now some problems with it. However changes in core will be required even if we use standalone simple_module, so maybe using palette style is good way?
I think you should no worry about this. Once standalone module become stable with good enough API, I will easily integrate it everywhere - file browser, lua.
There are lot of small and big nuances required to reconcilation to common module philosophy and style. It surely should be implemented in its specific unique style, not with common simple_module. Simple module is good for standalone modules with zero communication.

UPD: One more improvement required. Currently I found no way to understand what mode is active. I think good way enough is: in K mode symbols line is displayed, in T mode something like ">move cursor now<" displayed, in B mode buttons are displayed instead of symbols line.
« Last Edit: 04 / January / 2012, 10:12:15 by tsvstar »

Re: CHDK - typing / virtual keyboard / editor-style typing
« Reply #33 on: 04 / January / 2012, 11:01:30 »
About typing code I guess that TobiMarg should say more, this code belongs to him. However, I think that we don't need separated MOVE and WRITE modes in this text box. It is very important in EDI, since we need to move cursor in four directions and one mode is not enough for this. But here we could use zoom for moving the cursor and arrows (up, down, left and right) and jogdial for typing. There's only a problem with space/backspace. One ERASE button is not enough.

Also - I'm not sure how many cameras have zoom buttons/levar which is required in the typing style I posed above.

I have at least two ideas for typing.

First (sinlge mode):
Code: [Select]
shoot_half - changes chars (ABC -> abc -> 123 -> symbols)
arrows     - typing
erase      - backspace
disp       - space
func       - breaks usage of one arrow (as in EDI)
menu       - opens menu with two options - OK and CANCEL
zoom       - move cursor

Second (two modes) is just like in EDI, but MENU is used to cancel and DISP is used as OK. In this mode we should have a kind of identifier of which mode is active (for WRITE keyboard is visible, for MOVE we should display for example arrows).

Morover - EDI code is a little bit complicated and sometimes even I don't understand how does ot work:D The idea is clear bot sometimes I just feel lost in implementation.
« Last Edit: 04 / January / 2012, 11:06:18 by outslider »
if (2*b || !2*b) {
    cout<<question
}

Compile error: poor Yorick


Re: CHDK - typing / virtual keyboard / editor-style typing
« Reply #34 on: 04 / January / 2012, 11:15:51 »
About typing code I guess that TobiMarg should say more, this code belongs to him. However, I think that we don't need separated MOVE and WRITE modes in this text box. It is very important in EDI, since we need to move cursor in four directions and one mode is not enough for this. But here we could use zoom for moving the cursor and arrows (up, down, left and right) and jogdial for typing. There's only a problem with space/backspace. One ERASE button is not enough.

#undef CAM_HAS_ZOOM_LEVER
Only 6 cameras have no zooms button:a410, a430, a450, a460, a470 (lowest-budget segment cameras). I think zoom could be used as one of base elements.

#undef CAM_HAS_ERASE_BUTTON
About 51 cameras from 83 have no dedicated erase button, including mine one. :)

I think use ERASE for any common function is bad idea. :)

BTW, reyalp-flt was merged to trunk today. New modules are incompatible with previous revision
« Last Edit: 04 / January / 2012, 11:20:37 by tsvstar »

*

Online msl

  • *****
  • 1276
  • A720 IS, SX220 HS 1.01a
    • CHDK-DE links
Re: CHDK - typing / virtual keyboard / editor-style typing
« Reply #35 on: 04 / January / 2012, 11:38:13 »
This is an important project!

About the buttons:

Buttons for all cameras: 4 directions, SET, MENU and shot_half. This Buttons should have the basic functions.

Buttons for most cameras: Zoom lever, DISP.  This Buttons should have additional functions.

All other buttons are camera dependent.

msl


 
CHDK-DE:  CHDK-DE links

Re: CHDK - typing / virtual keyboard / editor-style typing
« Reply #36 on: 04 / January / 2012, 11:47:26 »
Buttons for most cameras: Zoom lever, DISP.  This Buttons should have additional functions.

Could you please specify which one have no DISP button? I found no define which describe that

*

Online msl

  • *****
  • 1276
  • A720 IS, SX220 HS 1.01a
    • CHDK-DE links
Re: CHDK - typing / virtual keyboard / editor-style typing
« Reply #37 on: 04 / January / 2012, 11:54:22 »
There is no define for DISP.

Cameras without DISP. button: A4xx, Ixus300, Ixus1000 , (Ixus200, Ixus310 -> touch screen)

msl
CHDK-DE:  CHDK-DE links


*

Offline srsa_4c

  • ******
  • 4426
Re: CHDK - typing / virtual keyboard / editor-style typing
« Reply #38 on: 04 / January / 2012, 12:07:14 »
Cameras without DISP. button: A4xx
The A4xx models from A410 to A460 do have a DISP button.
But, there's no dedicated zoom button from A410 up to and including A470. The IXUS iZoom / SD30 model also doesn't have any.

Re: CHDK - typing / virtual keyboard / editor-style typing
« Reply #39 on: 04 / January / 2012, 12:22:58 »
This is an important project!

About the buttons:

Buttons for all cameras: 4 directions, SET, MENU and shot_half. This Buttons should have the basic functions.

Buttons for most cameras: Zoom lever, DISP.  This Buttons should have additional functions.

All other buttons are camera dependent.

msl

I guess also all cameras have shoot_full;p This should not be used in EDI, but why not in keyboard?

I think that two modes might be confusing for some users, but maybe we have no choice...

Ok, having this I suggest this style:

- two modes (unfortunately)
- MOVE mode is obvious (arrows and zooms moves cursor, SET leaves MOVE and goes to WRITE)
- in WRITE mode we could have:
* arrows for typing
* FUNC to use another letter from the same arrow / go to MOVE (as in EDI)
* MENU to cancel
* zooms for space/backspace
* shoot_full / DISP for OK
* shoot_half changes chars

Special characters should contain a space (for cameras without zoom).

And I have no idea how to implement backspace...

Also - shoot_full is a little bit risky, I don't know how significant is the difference in pressing shoot_half and shoot_full. However, I believe this keyboard will be not used to run nuclear rockets, so mistake in typing should not end man's life...
if (2*b || !2*b) {
    cout<<question
}

Compile error: poor Yorick

 

Related Topics