Support for a 'back' button? #172
Replies: 14 comments 40 replies
-
Up down L and R would also work well. DOWN to open. Up to back out. L&R to scroll. Wheel to enter value hold encoder button and L/R to skip op/TG But I spend a lot of time programming on an MPC so that's my default navigation. |
Beta Was this translation helpful? Give feedback.
-
Maybe we can trigger equivalents of the click and double-click events when certain MIDI messages are receievd, so you could use any buttons on MIDI controllers for this purpose. |
Beta Was this translation helpful? Give feedback.
-
I was looking a 4x4 membrane keypad...it connects direct to the GPIO ports and it looks very 80s. Do you guys think it can be configured as 4 navigation arrows, back button and the rest assigned to other basic functions? My idea would be the membrane keypad at the left side of the LCD and the rotary encoder at the right, so you could easily navigate through. |
Beta Was this translation helpful? Give feedback.
-
I am a big fan of creating a touch UI for a external HDMI screen (#62). If you don't need a programming interface (e.g. on stage) you don't need to add a screen, but in your studio you have the full access to all parameters. Circle supports LVGL and there are free editors for creating a LVGL UI available (also commercial like squareline which looks very promissing, but maybe supports not enough widgets in the free version). Regards, Holger |
Beta Was this translation helpful? Give feedback.
-
An editor I built for the Futur3Soundz XFM2 synth. I'm sure with a little work it can be used to edit the minidexed |
Beta Was this translation helpful? Give feedback.
-
I too would like a separate button to replace double clicking. In fact the fiddliness of having to double click the encoder is the only thing making me not want to build one of these! I'm not very experienced with embedded programming on this scale - this is a fair bit more complicated than things I've worked on. Looking at the code though, it seems like there's a very simple event system that could be used. In userinterface.cpp there is this:
Would it be possible to monitor / poll one of the other GPIO pins and call this event handler whenever the button is pressed? Ideally I think I would use a non-clickable encoder, and wire up 2 buttons. One of them would be wired as the encoder click, and the second would be set to trigger the double click event. I'm more than happy to help out if someone can nudge me in the right direction! |
Beta Was this translation helpful? Give feedback.
-
just wanted you guys to keep updated how the things are going on the teensy front. |
Beta Was this translation helpful? Give feedback.
-
The interesting part of this as a solution is there are display modules
that actually come with four arrow buttons on them
…On Tue, May 24, 2022, 6:58 PM Stephen Brown ***@***.***> wrote:
I would personally just like a "select" and "back" button
Agree. We already have the "select" button (the button built into the
rotary encoder - could also wire up some other button using that same pin
instead). So what we'd really need to do is add support for a secondary
button, which would take the role of the "back" button. (In case the user
opts into a two-button system.)
This is exactly what I had in mind! This way we can add the back button
with only a single GPIO pin.
The other thing I was thinking is that we can add support for 4 way arrow
keys by allowing the other 2 buttons to just use the encoder pins. Then
there can be a setting in the ini file which tells it to use those pins as
buttons instead of encoder inputs.
This way we can support the current scheme, or an encoder with an
additional back button, or 4 buttons, all with just one extra pin.
—
Reply to this email directly, view it on GitHub
<#172 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABNBVNGGM3GWTJVMJ4NFLATVLVNITANCNFSM5UJIKZVQ>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I still have some membrane keypads with GPIO conectivity to giveaway
. My original idea was to assign the pads to arrows and menu buttons.
El mié., 25 may. 2022 8:45, Kevin ***@***.***> escribió:
… The other thing I was thinking is that we can add support for 4 way arrow
keys by allowing the other 2 buttons to just use the encoder pins. Then
there can be a setting in the ini file which tells it to use those pins as
buttons instead of encoder inputs.
Almost like we'd need an up/down/left/right/select type interface.... oh
wait ;)
This way we can support the current scheme, or an encoder with an
additional back button, or 4 buttons, all with just one extra pin.
That is the whole point. At the end of the day it is just buttons on pins
tied to actions (no matter what we call them), all configured in the ini
file...? This was just a "minimum viable option" after spending several
evenings hacking about with an unfamiliar codebase to get the raw structure
in place for a "button user interface" to try out some ideas...
Things to think about, if this seems useful (but happy to be told not, so
I don't waste my time):
- Fix the physical button logic (it's the wrong way round I realised
this morning).
- Add support for the Circle GPIO manager which is the way to make it
interrupt driven (I'm not convinced it is needed, polling seems ok on
limited testing).
- Try some actual hardware measurements to see how sophisticated the
code debouncing needs to be (again, it is the most basic that might work
for now).
- Add a "two button" option - that is just the naming of items in the
config file really, now the core glue code is in place.
- I might also be nice to tie these same events to MIDI...
I also have one of those shields mentioned elsewhere on order - I had that
in mind from the start (I agree it would be nice to plug in a cheap, off
the shelf shield and have a crude user interface straight away).
Which means there is also a future option to consider other button IO
schemes. So far I've seen the following:
- Direct GPIO (which is what I'm using here) - many cheap add-ons do
this.
- I2C IO expansion (might not be worth the effort if I'm honest) - an
Adafruit add-on uses this.
- Analog "voltage divider" buttons - I've seen at least one add-on
that just uses A0 and resistors to "decode" 5 buttons. I don't know if this
would be worth it tbh...
Anyway, back to the original question - is there value in this or is
someone else already thinking about it?
—
Reply to this email directly, view it on GitHub
<#172 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AYYVQS37FYFT3EHO2AUBGDTVLXEBVANCNFSM5UJIKZVQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Just google Arduino 4x4 membrane keypad. If you are based in Germany or EU
I can send you one because I have 4 extra
.
El mié., 25 may. 2022 14:17, Kevin ***@***.***> escribió:
… I still have some membrane keypads with GPIO conectivity to giveaway . My
original idea was to assign the pads to arrows and menu buttons.
If they have a common GND and then just four or five IO pins (one per
button), then they should just work with this... Do you have a link to them
so I can have a look?
—
Reply to this email directly, view it on GitHub
<#172 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AYYVQS3JY66WYG4UEGEH4ELVLYK67ANCNFSM5UJIKZVQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Yes that was the idea. Assigning each number to OSC, LFO, EG, etc plus
arrow buttons to navigate and access menu. Maybe an Arduino nano would work
but Im not a programmer.
El mié., 25 may. 2022 14:47, Kevin ***@***.***> escribió:
… Arduino 4x4 membrane keypad
Ah sorry I misunderstood, you mean those common 16 button matrix type
things like a phone keypad? No this isn't supported at it requires
"scanning" as rows and columns and there isn't anything in the code to do
that. It could be added of course if someone was really interested in
having it.
In principle you could just use one column of course, having a single
common GND pin and then four pins for each button. What were you thinking
of using it for? Could you wire it up to an Arduino and use it as a MIDI
controller for example (e.g. as a numeric keypad to select patches or
something like that)?
—
Reply to this email directly, view it on GitHub
<#172 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AYYVQS7ENB3W7GXI2LUX243VLYONRANCNFSM5UJIKZVQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Why not adding a lvgl and touch based GUI via HDMI? Only an additional touch screen is needed (and some programming skills for creating the UI), see #62 |
Beta Was this translation helpful? Give feedback.
-
A UI compatible with the mt-32pi hats like ClumsyMIDI would be nice. Same hardware for both systems. |
Beta Was this translation helpful? Give feedback.
-
kind of out of topic, but don't know where else to post. |
Beta Was this translation helpful? Give feedback.
-
Hi everyone
I've been playing with this for a few days and love it (even if my handy AKAI MPK Play can't control it properly - I think it confuses things by not being a proper MIDI device when it gets powered on by USB, but that's something for another day).
I know the idea is to keep the circuitry required as simple as possible, and I've seen some discussions/issues about clicking/double-clicking confusion and tweaks. My idea is to add support for an optional 'back' button that could be enabled in the minidexed.ini, so you could do single clicks with the rotary encoder switch to select settings in the user interface and use a different button to go back up a level. I started trying to work out how to code this but sadly I just don't have the time at the moment to learn enough about Circle to try and tackle it myself.
What do you think?
Beta Was this translation helpful? Give feedback.
All reactions