Touch-friendly ML menu

Started by a1ex, January 06, 2017, 07:02:44 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

a1ex

Some experiments I did last summer on a 700D (which I no longer have).

I remember it worked to some extent, but had some quirks. Don't remember the exact details, but I hope it could be useful (or at least fun to tinker with).

http://bitbucket.org/hudson/magic-lantern/commits/branch/touch-menu

dfort

Compiles fine on the 700D but not on the EOSM:

[ CC       ]   menu.o
../../src/menu.c: In function 'handle_ml_menu_touch':
../../src/menu.c:598:14: error: 'BGMT_DRAG_1_FINGER' undeclared (first use in this function)
         case BGMT_DRAG_1_FINGER:
              ^
../../src/menu.c:598:14: note: each undeclared identifier is reported only once for each function it appears in
../../src/menu.c: In function 'handle_ml_menu_keys':
../../src/menu.c:4901:10: error: 'BGMT_DRAG_1_FINGER' undeclared (first use in this function)
     case BGMT_DRAG_1_FINGER:
          ^
make: *** [menu.o] Error 1

dfort

Note to self: Look at the code before compiling.

In any case, gave EOSM the finger and it works now. Pull request in progress.

DeafEyeJedi

Quote from: dfort on January 06, 2017, 11:52:49 PM
...gave EOSM the finger and it works now. Pull request in progress.

That's great news actually, Dan!
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

garry23

Dan/All

As we 'fix' various things on the EOSM, would it be possible to put all fixes in one experimental EOSM build, that we can all access at the same time, ie in the experimental download area?

Just a thought ;)

Cheers

Garry

Licaon_Kter


dfort

Quote from: garry23 on January 07, 2017, 04:45:24 PM
As we 'fix' various things on the EOSM, would it be possible to put all fixes in one experimental EOSM build, that we can all access at the same time, ie in the experimental download area?

You mean like roll in all the latest stuff like crop_rec, 10bit/12bit, manual_lens_info, dm_spy, touch-menu, serialflash, compressed_raw and EOSM.203 into one mega merge and put it on the experiments page? Those builds are done automatically on a Jenkins system. I'm not sure if it can merge branches automatically but my experience is that many of these experimental branches require resolving merging conflicts.

My suggestion is to learn the basics of compiling, there are several tutorials in the General Development Discussion section.

You are already doing some advanced lua coding. Setting up a development environment should be relatively simple for you.

I'll still make special builds on request if I have the time and interest to do it.

garry23


Licaon_Kter

Would this help for Autoexpo ( http://www.magiclantern.fm/forum/index.php?topic=7208.250 ) ?
Right now on EOS M we don't have enough hardware buttons to actually use it.

dfort

I was playing around with this on the EOSM and got into a problem getting into submenus because we don't have a Q button. Is it remapped to another button? The "normal" one finger tap just toggles the menu item on/off and doesn't go into the submenu.

DeafEyeJedi

This has been the norm (quite not cumbersome tho) for years and yet I thought if you once disable the "back focus button" set-up within Canon's custom menu for those that enjoy this type of photo work (at least I do) and the other work around for me was to go into the last page of ML menu (on far right) and basically scroll through the options from each selected module(s) or thought so?

Don't have the M with me at the moment but I am throwing all of this from the top of my head.
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

garry23

@DeafEyeJedi/@dfort

Which is why I added a dedicated [Q] simulation to my Toggler script  ;) https://gist.github.com/pigeonhill/156ea0e55cd0a029bc447f8bf5593224

Also, here is 'just' the [Q] sim: https://gist.github.com/pigeonhill/488d28d40da266a5b634bb35b23339a0 - once again thanks to A1ex for educating me  :)

Also, although the EOSM has the touch UI, if you are wearing gloves or simply don't/can't use the touch, having remapped button functionality that dynamically changes according to your camera's state, eg Toggler, could be a boon. As you can see from my Toggler script's ML states, I can change the EOSM ML states very quickly and reliably, with on-screen feedback  :)

a1ex

Quote from: dfort on January 12, 2017, 03:57:14 AM
I was playing around with this on the EOSM and got into a problem getting into submenus because we don't have a Q button.

Ideas:

- long press (see TOUCH_ENTRY_LONG_CLICK in the code, not yet functional)
- register a touch zone at the right side of a menu entry

garry23

An additional idea (most probably beyond the time available to develop): build into the touch-Lua, the ability to create 'several' touch-zones, say, 4 on the left and 4 on the right, eg zone_L1, zone_L2, zone_R1 etc.

These zones to be able to sense long press would be great as well.

These zones to be configurable in Lua, eg like the current menu get/set arrangement.

Such zones would have some UI control, eg colour and text.

Such an enhancement of the touch UI would, I believe, really add to the touch cameras interactivity, especially the button poor EOSM.

Just some thinking.

Cheers

Garry

dfort

Quote from: a1ex on January 12, 2017, 11:45:27 AM
Ideas:

- long press (see TOUCH_ENTRY_LONG_CLICK in the code, not yet functional)
- register a touch zone at the right side of a menu entry

The Q is always on the right side of the menu so that seems to be the most intuitive.

DeafEyeJedi

Quote from: dfort on January 13, 2017, 01:47:04 AM
The Q is always on the right side of the menu so that seems to be the most intuitive.

+1
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109