Author Topic: More Keyboard Outlets  (Read 6320 times)

unconame

  • MaKey MaKer
  • Posts: 1
    • View Profile
More Keyboard Outlets
« on: May 24, 2013, 09:32:12 AM »
I have a few ideas for projects, but would need up to 40 keys.   The other would need a way for the circuit to be trigger only by a certain item.

sparks

  • Administrator
  • MaKey MaKer
  • Posts: 212
    • View Profile
Re: More Keyboard Outlets
« Reply #1 on: May 27, 2013, 11:37:35 AM »
For 40 keys you could use 3 MaKey MaKeys? Otherwise you could look into key combos where each "key" completes a circuit across different combinations of inputs. With the arrow keys, for example, you already have a ton of codes!

a = up
b = down
c = left
d = right
e = up down
f = up left
g= up right
h = down left
i = down right
j = left right

So four keys there have given us 9 input keys. Since the MaKey MaKey supports way more inputs than just the arrow keys, 40 combinations are totally possible!

Decafdrinker

  • MaKey MaKer
  • Posts: 16
    • View Profile
Re: More Keyboard Outlets
« Reply #2 on: July 06, 2013, 09:53:32 AM »
Right.  The MM has 18 total inputs. 

So you could do 18 keys by using each input as 1 key.

But you could "multiplex" the inputs and write some basic code under arduino mode...
If each key press activated 2 inputs, you old have up to 81 keys, I think.
Imagine a 9 x 9 grid, which is 18 inputs altogether.  But it's also 81 intersections, so potentially 81 different presses.  Now, remember the MM wants the input grounded, so technically, when you press one of the 81 keys, it somehow connects ground to the two intersecting inputs at that point.

The MM will read the inputs, determine which key was pressed, and send the key to the computer.

So, say, for a standard 26 letters, you'd really only need 11 of the inputs arranged in a 4 x 7 grid.  That would give you 26 letters, plus a return and a ?

James B

  • Global Moderator
  • MaKey MaKer
  • *****
  • Posts: 373
  • "best played LANs of gamer dens, gang aft MaKey!"
    • View Profile
    • Knox Makers
Re: More Keyboard Outlets
« Reply #3 on: July 06, 2013, 10:16:09 AM »
With 18 different buttons using two-button combinations, that should be 153 combinations possible. I'm not sure if left-click (on the face, for alligator clips) and left-click2 (on back, with other mouse functions in female terminal) are the same or different, so there is potential for a low-end of 17 unique connections which should still yield 136 possible two-button combinations.

18 unique buttons:

Combinations without repetition (n=18, r=2)

List has 153 entries.
{a,s} {a,d} {a,f} {a,g} {a,w} {a,up} {a,down} {a,left} {a,right} {a,space} {a,leftclick} {a,mouseup} {a,mousedown} {a,mouseleft} {a,mouseright} {a,rightclick} {a,leftclick2} {s,d} {s,f} {s,g} {s,w} {s,up} {s,down} {s,left} {s,right} {s,space} {s,leftclick} {s,mouseup} {s,mousedown} {s,mouseleft} {s,mouseright} {s,rightclick} {s,leftclick2} {d,f} {d,g} {d,w} {d,up} {d,down} {d,left} {d,right} {d,space} {d,leftclick} {d,mouseup} {d,mousedown} {d,mouseleft} {d,mouseright} {d,rightclick} {d,leftclick2} {f,g} {f,w} {f,up} {f,down} {f,left} {f,right} {f,space} {f,leftclick} {f,mouseup} {f,mousedown} {f,mouseleft} {f,mouseright} {f,rightclick} {f,leftclick2} {g,w} {g,up} {g,down} {g,left} {g,right} {g,space} {g,leftclick} {g,mouseup} {g,mousedown} {g,mouseleft} {g,mouseright} {g,rightclick} {g,leftclick2} {w,up} {w,down} {w,left} {w,right} {w,space} {w,leftclick} {w,mouseup} {w,mousedown} {w,mouseleft} {w,mouseright} {w,rightclick} {w,leftclick2} {up,down} {up,left} {up,right} {up,space} {up,leftclick} {up,mouseup} {up,mousedown} {up,mouseleft} {up,mouseright} {up,rightclick} {up,leftclick2} {down,left} {down,right} {down,space} {down,leftclick} {down,mouseup} {down,mousedown} {down,mouseleft} {down,mouseright} {down,rightclick} {down,leftclick2} {left,right} {left,space} {left,leftclick} {left,mouseup} {left,mousedown} {left,mouseleft} {left,mouseright} {left,rightclick} {left,leftclick2} {right,space} {right,leftclick} {right,mouseup} {right,mousedown} {right,mouseleft} {right,mouseright} {right,rightclick} {right,leftclick2} {space,leftclick} {space,mouseup} {space,mousedown} {space,mouseleft} {space,mouseright} {space,rightclick} {space,leftclick2} {leftclick,mouseup} {leftclick,mousedown} {leftclick,mouseleft} {leftclick,mouseright} {leftclick,rightclick} {leftclick,leftclick2} {mouseup,mousedown} {mouseup,mouseleft} {mouseup,mouseright} {mouseup,rightclick} {mouseup,leftclick2} {mousedown,mouseleft} {mousedown,mouseright} {mousedown,rightclick} {mousedown,leftclick2} {mouseleft,mouseright} {mouseleft,rightclick} {mouseleft,leftclick2} {mouseright,rightclick} {mouseright,leftclick2} {rightclick,leftclick2}

17 unique buttons:

Combinations without repetition (n=17, r=2)
Using the first 17 items: {a,s,d,f,g,w,up,down,left,right,space,leftclick,mouseup,mousedown,mouseleft,mouseright,rightclick}

List has 136 entries.
{a,s} {a,d} {a,f} {a,g} {a,w} {a,up} {a,down} {a,left} {a,right} {a,space} {a,leftclick} {a,mouseup} {a,mousedown} {a,mouseleft} {a,mouseright} {a,rightclick} {s,d} {s,f} {s,g} {s,w} {s,up} {s,down} {s,left} {s,right} {s,space} {s,leftclick} {s,mouseup} {s,mousedown} {s,mouseleft} {s,mouseright} {s,rightclick} {d,f} {d,g} {d,w} {d,up} {d,down} {d,left} {d,right} {d,space} {d,leftclick} {d,mouseup} {d,mousedown} {d,mouseleft} {d,mouseright} {d,rightclick} {f,g} {f,w} {f,up} {f,down} {f,left} {f,right} {f,space} {f,leftclick} {f,mouseup} {f,mousedown} {f,mouseleft} {f,mouseright} {f,rightclick} {g,w} {g,up} {g,down} {g,left} {g,right} {g,space} {g,leftclick} {g,mouseup} {g,mousedown} {g,mouseleft} {g,mouseright} {g,rightclick} {w,up} {w,down} {w,left} {w,right} {w,space} {w,leftclick} {w,mouseup} {w,mousedown} {w,mouseleft} {w,mouseright} {w,rightclick} {up,down} {up,left} {up,right} {up,space} {up,leftclick} {up,mouseup} {up,mousedown} {up,mouseleft} {up,mouseright} {up,rightclick} {down,left} {down,right} {down,space} {down,leftclick} {down,mouseup} {down,mousedown} {down,mouseleft} {down,mouseright} {down,rightclick} {left,right} {left,space} {left,leftclick} {left,mouseup} {left,mousedown} {left,mouseleft} {left,mouseright} {left,rightclick} {right,space} {right,leftclick} {right,mouseup} {right,mousedown} {right,mouseleft} {right,mouseright} {right,rightclick} {space,leftclick} {space,mouseup} {space,mousedown} {space,mouseleft} {space,mouseright} {space,rightclick} {leftclick,mouseup} {leftclick,mousedown} {leftclick,mouseleft} {leftclick,mouseright} {leftclick,rightclick} {mouseup,mousedown} {mouseup,mouseleft} {mouseup,mouseright} {mouseup,rightclick} {mousedown,mouseleft} {mousedown,mouseright} {mousedown,rightclick} {mouseleft,mouseright} {mouseleft,rightclick} {mouseright,rightclick}

See http://www.mathsisfun.com/combinatorics/combinations-permutations-calculator.html for more information about permutations and combinations

A 4 X 7 "grid" where buttons from the 4 column are only combined with buttons from the 7 row will indeed yield 28 combinations possible, but if any button can be combined with any other button then you can achieve the same thing using only 8 buttons.

8! over (8-2)!(2!) = 28, same as 7 * 4. With 11 buttons to choose from for two-button combos, that should actually leave room for 55 combinations possible (assuming any one button can potentially be combined with any other of the 11 buttons)
« Last Edit: July 06, 2013, 10:31:42 AM by James B »
-=-=-
"All life is an experiment, the more experiments you MaKey MaKey the better." - Ralph Waldo Emerson
-=-=-

James B

  • Global Moderator
  • MaKey MaKer
  • *****
  • Posts: 373
  • "best played LANs of gamer dens, gang aft MaKey!"
    • View Profile
    • Knox Makers
Re: More Keyboard Outlets
« Reply #4 on: July 06, 2013, 10:40:23 AM »
Something I have run into when experimenting with multiple button combinations..

Let's say that somewhere you have programmed something (the sketch file, something in Scratch, etc) to behave as if a keyboard has typed the letter "z" when "a" and "s" are actuated on the MK. Let's say you also have programmed something to behave as though the letter "y" has been typed when "a" and "d" are actuated on the MK, and finally you have programmed something to behave as though the letter "x" has been typed when "s" and "d" are actuated on the MK.

So what happens when you actuate "a," "s," and "d" all at the same time on the MK?
-=-=-
"All life is an experiment, the more experiments you MaKey MaKey the better." - Ralph Waldo Emerson
-=-=-

Decafdrinker

  • MaKey MaKer
  • Posts: 16
    • View Profile
Re: More Keyboard Outlets
« Reply #5 on: July 06, 2013, 02:48:17 PM »
Right! On the !  I was imagining how to wire up a breadboard of some kind to make the intersections for the key presses.  Combining ANY two inputs would yield many more combinations, but doing a grid would be easiest to wire up, I think.  :-)

I guess the MM could be programmed to ignore some double key presses using IFF statements, but that would add more code.  I think it would be one key at a time.