aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2004-03-21 21:06:10 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2004-03-21 21:06:10 +0000
commit76ca5bfc0d3b1ae7e55e198bfeedd59300578dd9 (patch)
tree4f6572ed104258efe66975a133457d7b7d5f1ac7
This commit was generated by cvs2svn to compensate for changes in r1463,svn2git-root
which included commits to RCS files with non-trunk default branches. svn path=/trunk/abstractions/keyboardkeys/; revision=1464
-rwxr-xr-xabs/allkeys_bangs.pd215
-rwxr-xr-xabs/allkeys_toggles.pd215
-rwxr-xr-xabs/keybang.pd47
-rwxr-xr-xabs/keytoggle.pd53
-rwxr-xr-xabs/keyupdown.pd113
-rwxr-xr-xkeyboard_main.pd240
-rwxr-xr-xkeys_help.pd49
7 files changed, 932 insertions, 0 deletions
diff --git a/abs/allkeys_bangs.pd b/abs/allkeys_bangs.pd
new file mode 100755
index 0000000..4deb4c1
--- /dev/null
+++ b/abs/allkeys_bangs.pd
@@ -0,0 +1,215 @@
+#N canvas 27 269 997 396 10;
+#X obj 141 37 r ldbng;
+#X obj 30 36 r ldbng;
+#X obj 143 103 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 31 103 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 30 57 q;
+#X msg 141 58 w;
+#X obj 248 37 r ldbng;
+#X obj 250 103 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 248 79 ../abs/keybang;
+#X msg 248 58 e;
+#X obj 466 36 r ldbng;
+#X obj 355 37 r ldbng;
+#X obj 468 102 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 356 104 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 573 35 r ldbng;
+#X obj 575 101 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 355 58 r;
+#X msg 466 57 t;
+#X msg 573 56 y;
+#X obj 678 34 r ldbng;
+#X obj 680 100 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 896 33 r ldbng;
+#X obj 785 34 r ldbng;
+#X obj 898 99 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 786 101 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 1003 32 r ldbng;
+#X obj 1005 98 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 678 55 u;
+#X msg 785 55 i;
+#X msg 896 54 o;
+#X msg 1003 53 p;
+#X obj 30 78 ../abs/keybang;
+#X obj 141 79 ../abs/keybang;
+#X obj 355 79 ../abs/keybang;
+#X obj 466 78 ../abs/keybang;
+#X obj 573 77 ../abs/keybang;
+#X obj 678 76 ../abs/keybang;
+#X obj 785 76 ../abs/keybang;
+#X obj 896 75 ../abs/keybang;
+#X obj 1003 74 ../abs/keybang;
+#X obj 139 138 r ldbng;
+#X obj 28 137 r ldbng;
+#X obj 141 204 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 29 204 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 246 138 r ldbng;
+#X obj 248 204 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 246 180 ../abs/keybang;
+#X obj 464 137 r ldbng;
+#X obj 353 138 r ldbng;
+#X obj 466 203 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 354 205 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 571 136 r ldbng;
+#X obj 573 202 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 676 135 r ldbng;
+#X obj 678 201 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 894 134 r ldbng;
+#X obj 783 135 r ldbng;
+#X obj 896 200 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 784 202 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 28 179 ../abs/keybang;
+#X obj 139 180 ../abs/keybang;
+#X obj 353 180 ../abs/keybang;
+#X obj 464 179 ../abs/keybang;
+#X obj 571 178 ../abs/keybang;
+#X obj 676 177 ../abs/keybang;
+#X obj 783 177 ../abs/keybang;
+#X obj 894 176 ../abs/keybang;
+#X msg 28 158 a;
+#X msg 139 159 s;
+#X msg 246 159 d;
+#X msg 353 159 f;
+#X msg 464 158 g;
+#X msg 571 157 h;
+#X msg 676 156 j;
+#X msg 783 156 k;
+#X msg 894 155 l;
+#X obj 140 238 r ldbng;
+#X obj 29 237 r ldbng;
+#X obj 142 304 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 30 304 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 247 238 r ldbng;
+#X obj 249 304 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 247 280 ../abs/keybang;
+#X obj 465 237 r ldbng;
+#X obj 354 238 r ldbng;
+#X obj 467 303 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 355 305 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 572 236 r ldbng;
+#X obj 574 302 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 677 235 r ldbng;
+#X obj 679 301 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 29 279 ../abs/keybang;
+#X obj 140 280 ../abs/keybang;
+#X obj 354 280 ../abs/keybang;
+#X obj 465 279 ../abs/keybang;
+#X obj 572 278 ../abs/keybang;
+#X obj 677 277 ../abs/keybang;
+#X msg 29 258 z;
+#X msg 140 259 x;
+#X msg 247 259 c;
+#X msg 354 259 v;
+#X msg 465 258 b;
+#X msg 572 257 n;
+#X msg 677 256 m;
+#X obj 36 6 loadbang;
+#X obj 103 4 s ldbng;
+#X obj 165 4 bng 15 250 50 0 empty resetkeys empty 0 -6 64 8 -262144
+-1 -1;
+#X connect 0 0 5 0;
+#X connect 1 0 4 0;
+#X connect 4 0 31 0;
+#X connect 5 0 32 0;
+#X connect 6 0 9 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 10 0 17 0;
+#X connect 11 0 16 0;
+#X connect 14 0 18 0;
+#X connect 16 0 33 0;
+#X connect 17 0 34 0;
+#X connect 18 0 35 0;
+#X connect 19 0 27 0;
+#X connect 21 0 29 0;
+#X connect 22 0 28 0;
+#X connect 25 0 30 0;
+#X connect 27 0 36 0;
+#X connect 28 0 37 0;
+#X connect 29 0 38 0;
+#X connect 30 0 39 0;
+#X connect 31 0 3 0;
+#X connect 32 0 2 0;
+#X connect 33 0 13 0;
+#X connect 34 0 12 0;
+#X connect 35 0 15 0;
+#X connect 36 0 20 0;
+#X connect 37 0 24 0;
+#X connect 38 0 23 0;
+#X connect 39 0 26 0;
+#X connect 40 0 68 0;
+#X connect 41 0 67 0;
+#X connect 44 0 69 0;
+#X connect 46 0 45 0;
+#X connect 47 0 71 0;
+#X connect 48 0 70 0;
+#X connect 51 0 72 0;
+#X connect 53 0 73 0;
+#X connect 55 0 75 0;
+#X connect 56 0 74 0;
+#X connect 59 0 43 0;
+#X connect 60 0 42 0;
+#X connect 61 0 50 0;
+#X connect 62 0 49 0;
+#X connect 63 0 52 0;
+#X connect 64 0 54 0;
+#X connect 65 0 58 0;
+#X connect 66 0 57 0;
+#X connect 67 0 59 0;
+#X connect 68 0 60 0;
+#X connect 69 0 46 0;
+#X connect 70 0 61 0;
+#X connect 71 0 62 0;
+#X connect 72 0 63 0;
+#X connect 73 0 64 0;
+#X connect 74 0 65 0;
+#X connect 75 0 66 0;
+#X connect 76 0 98 0;
+#X connect 77 0 97 0;
+#X connect 80 0 99 0;
+#X connect 82 0 81 0;
+#X connect 83 0 101 0;
+#X connect 84 0 100 0;
+#X connect 87 0 102 0;
+#X connect 89 0 103 0;
+#X connect 91 0 79 0;
+#X connect 92 0 78 0;
+#X connect 93 0 86 0;
+#X connect 94 0 85 0;
+#X connect 95 0 88 0;
+#X connect 96 0 90 0;
+#X connect 97 0 91 0;
+#X connect 98 0 92 0;
+#X connect 99 0 82 0;
+#X connect 100 0 93 0;
+#X connect 101 0 94 0;
+#X connect 102 0 95 0;
+#X connect 103 0 96 0;
+#X connect 104 0 105 0;
+#X connect 106 0 105 0;
diff --git a/abs/allkeys_toggles.pd b/abs/allkeys_toggles.pd
new file mode 100755
index 0000000..94de135
--- /dev/null
+++ b/abs/allkeys_toggles.pd
@@ -0,0 +1,215 @@
+#N canvas 6 294 1099 446 10;
+#X obj 138 62 r ldbng;
+#X obj 27 61 r ldbng;
+#X obj 140 128 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 28 128 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 27 82 q;
+#X msg 138 83 w;
+#X obj 245 62 r ldbng;
+#X obj 247 128 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 245 83 e;
+#X obj 463 61 r ldbng;
+#X obj 352 62 r ldbng;
+#X obj 465 127 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 353 129 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 570 60 r ldbng;
+#X obj 572 126 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 352 83 r;
+#X msg 463 82 t;
+#X msg 570 81 y;
+#X obj 675 59 r ldbng;
+#X obj 677 125 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 893 58 r ldbng;
+#X obj 782 59 r ldbng;
+#X obj 895 124 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 783 126 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 1000 57 r ldbng;
+#X obj 1002 123 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144
+-1 -1;
+#X msg 675 80 u;
+#X msg 782 80 i;
+#X msg 893 79 o;
+#X msg 1000 78 p;
+#X obj 136 163 r ldbng;
+#X obj 25 162 r ldbng;
+#X obj 138 229 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 26 229 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 243 163 r ldbng;
+#X obj 245 229 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 461 162 r ldbng;
+#X obj 350 163 r ldbng;
+#X obj 463 228 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 351 230 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 568 161 r ldbng;
+#X obj 570 227 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 673 160 r ldbng;
+#X obj 675 226 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 891 159 r ldbng;
+#X obj 780 160 r ldbng;
+#X obj 893 225 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 781 227 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 25 183 a;
+#X msg 136 184 s;
+#X msg 243 184 d;
+#X msg 350 184 f;
+#X msg 461 183 g;
+#X msg 568 182 h;
+#X msg 673 181 j;
+#X msg 780 181 k;
+#X msg 891 180 l;
+#X obj 137 263 r ldbng;
+#X obj 26 262 r ldbng;
+#X obj 139 329 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 27 329 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 244 263 r ldbng;
+#X obj 246 329 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 462 262 r ldbng;
+#X obj 351 263 r ldbng;
+#X obj 464 328 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 352 330 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 569 261 r ldbng;
+#X obj 571 327 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 674 260 r ldbng;
+#X obj 676 326 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 26 283 z;
+#X msg 137 284 x;
+#X msg 244 284 c;
+#X msg 351 284 v;
+#X msg 462 283 b;
+#X msg 569 282 n;
+#X msg 674 281 m;
+#X obj 33 31 loadbang;
+#X obj 100 29 s ldbng;
+#X obj 162 29 bng 15 250 50 0 empty resetkeys empty 0 -6 64 8 -262144
+-1 -1;
+#X obj 27 103 ../abs/keytoggle;
+#X obj 138 104 ../abs/keytoggle;
+#X obj 245 104 ../abs/keytoggle;
+#X obj 352 104 ../abs/keytoggle;
+#X obj 463 103 ../abs/keytoggle;
+#X obj 570 102 ../abs/keytoggle;
+#X obj 675 101 ../abs/keytoggle;
+#X obj 782 101 ../abs/keytoggle;
+#X obj 893 100 ../abs/keytoggle;
+#X obj 1000 99 ../abs/keytoggle;
+#X obj 25 204 ../abs/keytoggle;
+#X obj 136 205 ../abs/keytoggle;
+#X obj 243 205 ../abs/keytoggle;
+#X obj 350 205 ../abs/keytoggle;
+#X obj 461 204 ../abs/keytoggle;
+#X obj 568 203 ../abs/keytoggle;
+#X obj 673 202 ../abs/keytoggle;
+#X obj 780 202 ../abs/keytoggle;
+#X obj 891 201 ../abs/keytoggle;
+#X obj 26 304 ../abs/keytoggle;
+#X obj 137 305 ../abs/keytoggle;
+#X obj 244 305 ../abs/keytoggle;
+#X obj 351 305 ../abs/keytoggle;
+#X obj 462 304 ../abs/keytoggle;
+#X obj 569 303 ../abs/keytoggle;
+#X obj 674 302 ../abs/keytoggle;
+#X connect 0 0 5 0;
+#X connect 1 0 4 0;
+#X connect 4 0 81 0;
+#X connect 5 0 82 0;
+#X connect 6 0 8 0;
+#X connect 8 0 83 0;
+#X connect 9 0 16 0;
+#X connect 10 0 15 0;
+#X connect 13 0 17 0;
+#X connect 15 0 84 0;
+#X connect 16 0 85 0;
+#X connect 17 0 86 0;
+#X connect 18 0 26 0;
+#X connect 20 0 28 0;
+#X connect 21 0 27 0;
+#X connect 24 0 29 0;
+#X connect 26 0 87 0;
+#X connect 27 0 88 0;
+#X connect 28 0 89 0;
+#X connect 29 0 90 0;
+#X connect 30 0 49 0;
+#X connect 31 0 48 0;
+#X connect 34 0 50 0;
+#X connect 36 0 52 0;
+#X connect 37 0 51 0;
+#X connect 40 0 53 0;
+#X connect 42 0 54 0;
+#X connect 44 0 56 0;
+#X connect 45 0 55 0;
+#X connect 48 0 91 0;
+#X connect 49 0 92 0;
+#X connect 50 0 93 0;
+#X connect 51 0 94 0;
+#X connect 52 0 95 0;
+#X connect 53 0 96 0;
+#X connect 54 0 97 0;
+#X connect 55 0 98 0;
+#X connect 56 0 99 0;
+#X connect 57 0 72 0;
+#X connect 58 0 71 0;
+#X connect 61 0 73 0;
+#X connect 63 0 75 0;
+#X connect 64 0 74 0;
+#X connect 67 0 76 0;
+#X connect 69 0 77 0;
+#X connect 71 0 100 0;
+#X connect 72 0 101 0;
+#X connect 73 0 102 0;
+#X connect 74 0 103 0;
+#X connect 75 0 104 0;
+#X connect 76 0 105 0;
+#X connect 77 0 106 0;
+#X connect 78 0 79 0;
+#X connect 80 0 79 0;
+#X connect 81 0 3 0;
+#X connect 82 0 2 0;
+#X connect 83 0 7 0;
+#X connect 84 0 12 0;
+#X connect 85 0 11 0;
+#X connect 86 0 14 0;
+#X connect 87 0 19 0;
+#X connect 88 0 23 0;
+#X connect 89 0 22 0;
+#X connect 90 0 25 0;
+#X connect 91 0 33 0;
+#X connect 92 0 32 0;
+#X connect 93 0 35 0;
+#X connect 94 0 39 0;
+#X connect 95 0 38 0;
+#X connect 96 0 41 0;
+#X connect 97 0 43 0;
+#X connect 98 0 47 0;
+#X connect 99 0 46 0;
+#X connect 100 0 60 0;
+#X connect 101 0 59 0;
+#X connect 102 0 62 0;
+#X connect 103 0 66 0;
+#X connect 104 0 65 0;
+#X connect 105 0 68 0;
+#X connect 106 0 70 0;
diff --git a/abs/keybang.pd b/abs/keybang.pd
new file mode 100755
index 0000000..bc5da4d
--- /dev/null
+++ b/abs/keybang.pd
@@ -0,0 +1,47 @@
+#N canvas -24 396 609 411 10;
+#X obj 84 62 keyname;
+#X obj 121 138 sel %s;
+#X obj 258 58 inlet;
+#X msg 233 299 \; \$1 color \$2 \$3;
+#X obj 232 257 unpack s 0 0;
+#X obj 233 277 pack s 0 0;
+#X obj 196 203 symbol;
+#X obj 314 204 symbol;
+#X obj 120 181 bng 15 250 50 0 empty empty bang 20 7 1 7 -262144 -1
+-1;
+#X obj 120 215 outlet;
+#X obj 224 169 sel 0 1;
+#X obj 224 146 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 272 131 makefilename keyc%s;
+#X obj 196 134 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 195 229 \$1 -1.44745e+007 0;
+#X msg 317 229 \$1 18 0;
+#X obj 258 88 pack s;
+#X msg 220 125 0;
+#X connect 0 1 1 0;
+#X connect 1 0 8 0;
+#X connect 2 0 13 0;
+#X connect 2 0 16 0;
+#X connect 4 0 5 0;
+#X connect 4 1 5 1;
+#X connect 4 2 5 2;
+#X connect 5 0 3 0;
+#X connect 6 0 14 0;
+#X connect 7 0 15 0;
+#X connect 8 0 9 0;
+#X connect 8 0 11 0;
+#X connect 10 0 6 0;
+#X connect 10 1 7 0;
+#X connect 11 0 10 0;
+#X connect 12 0 6 1;
+#X connect 12 0 7 1;
+#X connect 13 0 6 0;
+#X connect 13 0 17 0;
+#X connect 14 0 4 0;
+#X connect 15 0 4 0;
+#X connect 16 0 12 0;
+#X connect 16 0 1 1;
+#X connect 17 0 11 0;
+#X coords 0 0 0.0012837 0.0015674 65 55 0;
diff --git a/abs/keytoggle.pd b/abs/keytoggle.pd
new file mode 100755
index 0000000..b6f202f
--- /dev/null
+++ b/abs/keytoggle.pd
@@ -0,0 +1,53 @@
+#N canvas 24 235 593 427 10;
+#X obj 76 80 keyname;
+#X obj 131 124 unpack \$1 s;
+#X obj 130 82 sel 1;
+#X obj 130 104 pack \$1 s;
+#X obj 131 146 t b s;
+#X obj 154 219 tgl 15 0 empty empty on/off 20 7 1 7 -262144 -1 -1 1
+1;
+#X obj 156 171 sel %s;
+#X obj 308 63 inlet;
+#X obj 154 253 outlet;
+#X msg 305 334 \; \$1 color \$2 \$3;
+#X obj 304 292 unpack s 0 0;
+#X obj 305 312 pack s 0 0;
+#X obj 374 238 symbol;
+#X obj 313 212 sel 0 1;
+#X obj 268 238 symbol;
+#X obj 314 148 makefilename keyc%s;
+#X obj 374 185 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 246 263 \$1 -1.67118e+007 0;
+#X msg 373 264 \$1 -1.44745e+007 0;
+#X obj 308 91 pack s;
+#X msg 233 178 0;
+#X connect 0 0 2 0;
+#X connect 0 1 3 1;
+#X connect 1 1 4 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 1 6 0;
+#X connect 5 0 8 0;
+#X connect 5 0 13 0;
+#X connect 6 0 5 0;
+#X connect 7 0 16 0;
+#X connect 7 0 19 0;
+#X connect 7 0 20 0;
+#X connect 10 0 11 0;
+#X connect 10 1 11 1;
+#X connect 10 2 11 2;
+#X connect 11 0 9 0;
+#X connect 12 0 18 0;
+#X connect 13 0 12 0;
+#X connect 13 1 14 0;
+#X connect 14 0 17 0;
+#X connect 15 0 14 1;
+#X connect 15 0 12 1;
+#X connect 16 0 12 0;
+#X connect 17 0 10 0;
+#X connect 18 0 10 0;
+#X connect 19 0 15 0;
+#X connect 19 0 6 1;
+#X connect 20 0 5 0;
+#X coords 0 0 0.0012837 0.0015674 65 55 0;
diff --git a/abs/keyupdown.pd b/abs/keyupdown.pd
new file mode 100755
index 0000000..68929d4
--- /dev/null
+++ b/abs/keyupdown.pd
@@ -0,0 +1,113 @@
+#N canvas 464 189 669 483 10;
+#X obj 144 25 inlet;
+#X obj 77 276 outlet;
+#X obj 223 28 inlet;
+#X obj 43 158 t b f;
+#X obj 68 183 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 68 204 f;
+#X obj 96 204 + 1;
+#X obj 122 157 t b f;
+#X obj 173 204 - 1;
+#X floatatom 75 232 5 0 0 0 - - -;
+#X obj 147 205 f;
+#X obj 77 250 moses 100;
+#X msg 91 182 100;
+#X msg 150 248 0;
+#X obj 149 228 moses 0;
+#X obj 147 183 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 43 107 sel %s;
+#X obj 121 105 sel %s;
+#X obj 46 30 keyname;
+#X obj 130 60 pack s;
+#X obj 196 62 pack s;
+#X msg 129 494 \; \$1 color \$2 \$3;
+#X obj 128 452 unpack s 0 0;
+#X obj 129 472 pack s 0 0;
+#X obj 92 398 symbol;
+#X obj 210 399 symbol;
+#X obj 120 364 sel 0 1;
+#X obj 120 341 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 168 326 makefilename keyc%s;
+#X obj 92 329 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 91 424 \$1 -1.44745e+007 0;
+#X msg 385 504 \; \$1 color \$2 \$3;
+#X obj 384 462 unpack s 0 0;
+#X obj 385 482 pack s 0 0;
+#X obj 348 408 symbol;
+#X obj 466 409 symbol;
+#X obj 348 374 sel 0 1;
+#X obj 348 351 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
+1;
+#X obj 396 336 makefilename keyc%s;
+#X msg 347 434 \$1 -1.44745e+007 0;
+#X msg 213 424 \$1 16 0;
+#X msg 469 434 \$1 16 0;
+#X obj 40 402 del 400;
+#X obj 305 461 del 400;
+#X connect 0 0 19 0;
+#X connect 0 0 29 0;
+#X connect 2 0 20 0;
+#X connect 3 1 4 0;
+#X connect 4 0 5 0;
+#X connect 4 0 27 0;
+#X connect 4 0 42 0;
+#X connect 5 0 6 0;
+#X connect 5 0 9 0;
+#X connect 5 0 10 1;
+#X connect 6 0 5 1;
+#X connect 7 1 15 0;
+#X connect 8 0 10 1;
+#X connect 9 0 11 0;
+#X connect 10 0 8 0;
+#X connect 10 0 14 0;
+#X connect 10 0 5 1;
+#X connect 11 0 1 0;
+#X connect 11 1 12 0;
+#X connect 12 0 5 1;
+#X connect 13 0 10 1;
+#X connect 14 0 13 0;
+#X connect 14 1 9 0;
+#X connect 15 0 10 0;
+#X connect 15 0 37 0;
+#X connect 15 0 43 0;
+#X connect 16 0 3 0;
+#X connect 17 0 7 0;
+#X connect 18 1 16 0;
+#X connect 18 1 17 0;
+#X connect 19 0 16 1;
+#X connect 19 0 28 0;
+#X connect 20 0 17 1;
+#X connect 20 0 38 0;
+#X connect 22 0 23 0;
+#X connect 22 1 23 1;
+#X connect 22 2 23 2;
+#X connect 23 0 21 0;
+#X connect 24 0 30 0;
+#X connect 25 0 40 0;
+#X connect 26 0 24 0;
+#X connect 26 1 25 0;
+#X connect 27 0 26 0;
+#X connect 28 0 24 1;
+#X connect 28 0 25 1;
+#X connect 29 0 24 0;
+#X connect 30 0 22 0;
+#X connect 32 0 33 0;
+#X connect 32 1 33 1;
+#X connect 32 2 33 2;
+#X connect 33 0 31 0;
+#X connect 34 0 39 0;
+#X connect 35 0 41 0;
+#X connect 36 0 34 0;
+#X connect 36 1 35 0;
+#X connect 37 0 36 0;
+#X connect 38 0 34 1;
+#X connect 38 0 35 1;
+#X connect 39 0 32 0;
+#X connect 40 0 22 0;
+#X connect 41 0 32 0;
+#X connect 42 0 24 0;
+#X connect 43 0 34 0;
diff --git a/keyboard_main.pd b/keyboard_main.pd
new file mode 100755
index 0000000..50b8fc5
--- /dev/null
+++ b/keyboard_main.pd
@@ -0,0 +1,240 @@
+#N canvas 763 4 306 165 10;
+#X obj 13 16 cnv 4 275 80 empty empty empty 20 12 0 14 -195568 -262144
+0;
+#X obj 15 14 cnv 4 275 80 empty empty empty 20 12 0 14 -233017 -262144
+0;
+#X obj 19 31 cnv 4 175 58 empty empty empty 20 12 0 14 -166441 -262144
+0;
+#X obj 37 42 cnv 10 10 10 empty keycq Q 3 5 65 5 -228801 -262144 0
+;
+#X obj 49 42 cnv 10 10 10 empty keycw W 2 5 65 5 -228801 -262144 0
+;
+#X obj 61 42 cnv 10 10 10 empty keyce E 2 5 65 5 -228801 -262144 0
+;
+#X obj 73 42 cnv 10 10 10 empty keycr R 3 5 65 5 -228801 -262144 0
+;
+#X obj 85 42 cnv 10 10 10 empty keyct T 4 5 65 5 -228801 -262144 0
+;
+#X obj 97 42 cnv 10 10 10 empty keycy Y 3 5 65 5 -228801 -262144 0
+;
+#X obj 109 42 cnv 10 10 10 empty keycu U 3 5 65 5 -228801 -262144 0
+;
+#X obj 121 42 cnv 10 10 10 empty keyci I 4 5 65 5 -228801 -262144 0
+;
+#X obj 133 42 cnv 10 10 10 empty keyco O 3 5 65 5 -228801 -262144 0
+;
+#X obj 145 42 cnv 10 10 10 empty keycp P 2 5 65 5 -228801 -262144 0
+;
+#X obj 169 42 cnv 10 10 10 empty keyc] ] 5 4 65 5 -195568 -262144 0
+;
+#X obj 41 54 cnv 10 10 10 empty keyca A 3 5 65 5 -228801 -262144 0
+;
+#X obj 53 54 cnv 10 10 10 empty keycs S 4 6 66 5 -228801 -262144 0
+;
+#X obj 65 54 cnv 10 10 10 empty keycd D 2 5 65 5 -228801 -262144 0
+;
+#X obj 77 54 cnv 10 10 10 empty keycf F 3 5 65 5 -228801 -262144 0
+;
+#X obj 89 54 cnv 10 10 10 empty keycg G 3 5 65 5 -228801 -262144 0
+;
+#X obj 101 54 cnv 10 10 10 empty keych H 3 5 65 5 -228801 -262144 0
+;
+#X obj 113 54 cnv 10 10 10 empty keycj J 3 5 65 5 -228801 -262144 0
+;
+#X obj 125 54 cnv 10 10 10 empty keyck K 3 5 65 5 -228801 -262144 0
+;
+#X obj 137 54 cnv 10 10 10 empty keycl L 3 5 65 5 -228801 -262144 0
+;
+#X obj 149 54 cnv 10 10 10 empty empty : 3 4 1 5 -195568 -262144 0
+;
+#X obj 173 54 cnv 10 10 10 empty empty | 3 4 1 5 -195568 -262144 0
+;
+#X obj 48 66 cnv 10 10 10 empty keycz Z 4 6 66 5 -228801 -262144 0
+;
+#X obj 60 66 cnv 10 10 10 empty keycx X 3 5 65 5 -228801 -262144 0
+;
+#X obj 72 66 cnv 10 10 10 empty keycc C 3 5 65 5 -228801 -262144 0
+;
+#X obj 84 66 cnv 10 10 10 empty keycv V 3 5 65 5 -228801 -262144 0
+;
+#X obj 96 66 cnv 10 10 10 empty keycb B 2 5 65 5 -228801 -262144 0
+;
+#X obj 108 66 cnv 10 10 10 empty keycn N 2 5 65 6 -228801 -262144 0
+;
+#X obj 120 66 cnv 10 10 10 empty keycm M 3 5 65 5 -228801 -262144 0
+;
+#X obj 132 66 cnv 10 10 10 empty empty < 3 5 1 5 -195568 -262144 0
+;
+#X obj 144 66 cnv 10 10 10 empty keyc. . 3 5 65 5 -195568 -262144 0
+;
+#X obj 156 66 cnv 10 10 10 empty keyc/ / 3 5 65 5 -195568 -262144 0
+;
+#X obj 32 30 cnv 10 10 10 empty keyc1 1 3 5 65 5 -195568 -262144 0
+;
+#X obj 44 30 cnv 10 10 10 empty keyc2 2 4 5 65 5 -195568 -262144 0
+;
+#X obj 56 30 cnv 10 10 10 empty keyc3 3 4 5 65 5 -195568 -262144 0
+;
+#X obj 68 30 cnv 10 10 10 empty keyc4 4 4 5 65 5 -195568 -262144 0
+;
+#X obj 80 30 cnv 10 10 10 empty keyc5 5 4 5 65 5 -195568 -262144 0
+;
+#X obj 92 30 cnv 10 10 10 empty keyc6 6 4 5 65 5 -195568 -262144 0
+;
+#X obj 104 30 cnv 10 10 10 empty keyc7 7 5 5 65 5 -195568 -262144 0
+;
+#X obj 116 30 cnv 10 10 10 empty keyc8 8 4 5 65 5 -195568 -262144 0
+;
+#X obj 128 30 cnv 10 10 10 empty keyc9 9 4 5 65 5 -195568 -262144 0
+;
+#X obj 140 30 cnv 10 10 10 empty keyc0 0 4 5 65 5 -195568 -262144 0
+;
+#X obj 152 30 cnv 10 10 10 empty empty - 4 5 1 6 -195568 -262144 0
+;
+#X obj 164 30 cnv 10 10 10 empty empty = 3 5 1 7 -195568 -262144 0
+;
+#X obj 20 30 cnv 10 10 10 empty empty ~ 3 3 1 7 -195568 -262144 0;
+#X obj 20 42 cnv 10 15 10 empty empty Tab 3 5 1 5 -195568 -262144 0
+;
+#X obj 20 54 cnv 10 19 10 empty empty CL 3 5 1 5 -195568 -262144 0
+;
+#X obj 20 66 cnv 10 14 10 empty keycShift_L ^ 3 5 65 5 -195568 -262144
+0;
+#X obj 36 66 cnv 10 10 10 empty empty empty 3 5 1 5 -195568 -262144
+0;
+#X obj 176 30 cnv 10 19 10 empty empty <<< 4 5 1 5 -195568 -262144
+0;
+#X obj 168 66 cnv 10 27 10 empty empty ^ 3 5 1 5 -195568 -262144 0
+;
+#X obj 181 42 cnv 10 14 10 empty empty empty 4 5 1 7 -195568 -262144
+0;
+#X obj 185 52 cnv 10 10 12 empty empty empty 3 5 1 5 -195568 -262144
+0;
+#X obj 64 78 cnv 10 73 10 empty empty empty 3 5 1 5 -195568 -262144
+0;
+#X obj 42 78 cnv 10 20 10 empty keycAlt_L ALT 3 5 65 5 -195568 -262144
+0;
+#X obj 20 78 cnv 10 20 10 empty keycControl_L CTRL 3 5 65 5 -195568
+-262144 0;
+#X obj 139 78 cnv 10 20 10 empty empty ALT 4 5 1 5 -195568 -262144
+0;
+#X obj 175 78 cnv 10 20 10 empty empty CTRL 3 5 1 5 -195568 -262144
+0;
+#X obj 161 78 cnv 10 12 10 empty empty empty 3 5 1 5 -195568 -262144
+0;
+#X obj 157 42 cnv 10 10 10 empty keyc[ [ 3 4 65 5 -195568 -262144 0
+;
+#X obj 161 54 cnv 10 10 10 empty keyc' ' 4 4 65 5 -195568 -262144 0
+;
+#X obj 19 19 cnv 4 11 8 empty empty empty 20 12 0 14 -166441 -262144
+0;
+#X obj 20 18 cnv 8 11 8 empty empty Es 1 4 1 5 -195568 -262144 0;
+#X obj 239 31 cnv 4 46 58 empty empty empty 20 12 0 14 -166441 -262144
+0;
+#X obj 240 30 cnv 10 10 10 empty empty empty 3 5 1 5 -195568 -262144
+0;
+#X obj 252 30 cnv 10 10 10 empty empty / 4 5 1 5 -195568 -262144 0
+;
+#X obj 264 30 cnv 10 10 10 empty empty * 4 7 1 8 -195568 -262144 0
+;
+#X obj 276 30 cnv 10 10 10 empty empty - 4 4 1 8 -195568 -262144 0
+;
+#X obj 240 42 cnv 10 10 10 empty empty 7 3 5 0 6 -195568 -262144 0
+;
+#X obj 252 42 cnv 10 10 10 empty empty 8 3 5 0 6 -195568 -262144 0
+;
+#X obj 264 42 cnv 10 10 10 empty empty 9 3 5 0 6 -195568 -262144 0
+;
+#X obj 276 42 cnv 10 10 22 empty empty + 3 12 1 8 -195568 -262144 0
+;
+#X obj 240 54 cnv 10 10 10 empty empty 4 3 5 0 6 -195568 -262144 0
+;
+#X obj 252 54 cnv 10 10 10 empty empty 5 3 5 0 6 -195568 -262144 0
+;
+#X obj 264 54 cnv 10 10 10 empty empty 6 3 5 0 6 -195568 -262144 0
+;
+#X obj 240 66 cnv 10 10 10 empty empty 1 3 5 0 6 -195568 -262144 0
+;
+#X obj 252 66 cnv 10 10 10 empty empty 2 3 5 0 6 -195568 -262144 0
+;
+#X obj 264 66 cnv 10 10 10 empty empty 3 3 5 0 6 -195568 -262144 0
+;
+#X obj 264 78 cnv 10 10 10 empty empty . 4 3 1 5 -195568 -262144 0
+;
+#X obj 276 66 cnv 10 10 22 empty empty e 3 8 1 7 -195568 -262144 0
+;
+#X obj 240 78 cnv 10 22 10 empty empty 0 4 5 1 5 -195568 -262144 0
+;
+#X obj 199 31 cnv 4 34 22 empty empty empty 20 12 0 14 -166441 -262144
+0;
+#X obj 200 30 cnv 10 10 10 empty keycInsert In 3 5 65 5 -195568 -262144
+0;
+#X obj 212 30 cnv 10 10 10 empty keycHome Hm 0 5 65 5 -195568 -262144
+0;
+#X obj 224 30 cnv 10 10 10 empty keycPrior PU 0 5 65 5 -195568 -262144
+0;
+#X obj 200 42 cnv 10 10 10 empty keycDelete D 3 5 65 5 -195568 -262144
+0;
+#X obj 212 42 cnv 10 10 10 empty keycEnd En 1 5 65 5 -195568 -262144
+0;
+#X obj 224 42 cnv 10 10 10 empty keycNext PD 0 5 65 5 -195568 -262144
+0;
+#X obj 200 67 cnv 4 34 22 empty empty empty 20 12 0 14 -166441 -262144
+0;
+#X obj 200 67 cnv 10 11 11 empty empty empty 3 5 1 5 -233017 -262144
+0;
+#X obj 201 78 cnv 10 10 10 empty keycLeft < 4 5 65 5 -195568 -262144
+0;
+#X obj 213 78 cnv 10 10 10 empty keycDown V 3 5 65 5 -195568 -262144
+0;
+#X obj 223 67 cnv 10 11 11 empty empty empty 3 5 1 5 -233017 -262144
+0;
+#X obj 213 66 cnv 10 10 10 empty keycUp ^ 3 5 65 5 -195568 -262144
+0;
+#X obj 225 78 cnv 10 10 10 empty keycRight > 4 5 65 5 -195568 -262144
+0;
+#X obj 199 19 cnv 4 34 8 empty empty empty 20 12 0 14 -166441 -262144
+0;
+#X obj 200 18 cnv 8 10 8 empty empty empty 0 4 1 5 -195568 -262144
+0;
+#X obj 212 18 cnv 8 10 8 empty empty empty 0 4 1 5 -195568 -262144
+0;
+#X obj 224 18 cnv 8 10 8 empty keycPause P 2 4 65 5 -195568 -262144
+0;
+#X obj 34 19 cnv 4 50 8 empty empty empty 20 12 0 14 -166441 -262144
+0;
+#X obj 35 18 cnv 8 11 8 empty keycf1 F1 2 4 65 5 -195568 -262144 0
+;
+#X obj 48 18 cnv 8 11 8 empty keycf2 F2 2 4 65 5 -195568 -262144 0
+;
+#X obj 61 18 cnv 8 11 8 empty keycf3 F3 2 4 65 5 -195568 -262144 0
+;
+#X obj 74 18 cnv 8 11 8 empty keycf4 F4 2 4 65 5 -195568 -262144 0
+;
+#X obj 89 19 cnv 4 50 8 empty empty empty 20 12 0 14 -166441 -262144
+0;
+#X obj 90 18 cnv 8 11 8 empty keycf5 F5 2 4 65 5 -195568 -262144 0
+;
+#X obj 103 18 cnv 8 11 8 empty keycf6 F6 2 4 65 5 -195568 -262144 0
+;
+#X obj 116 18 cnv 8 11 8 empty keycf7 F7 3 4 65 5 -195568 -262144 0
+;
+#X obj 129 18 cnv 8 11 8 empty keycf8 F8 2 4 65 5 -195568 -262144 0
+;
+#X obj 144 19 cnv 4 50 8 empty empty empty 20 12 0 14 -166441 -262144
+0;
+#X obj 145 18 cnv 8 11 8 empty keycf9 F9 2 4 65 5 -195568 -262144 0
+;
+#X obj 158 18 cnv 8 11 8 empty keycf10 F10 0 4 65 5 -195568 -262144
+0;
+#X obj 171 18 cnv 8 11 8 empty keycf11 F11 0 4 65 5 -195568 -262144
+0;
+#X obj 184 18 cnv 8 11 8 empty keycf12 F12 0 4 65 5 -195568 -262144
+0;
+#X obj 273 101 bng 15 250 50 0 resetkeys empty empty 0 -6 128 8 -262144
+-1 -1;
+#X obj 239 18 cnv 4 46 8 empty empty empty 20 12 0 14 -195568 -262144
+0;
+#X obj 15 120 abs/allkeys_bangs;
+#X text 16 134 use 'allkeys_bangs' or 'allkeys_toggles';
+#X text 225 100 reset->;
diff --git a/keys_help.pd b/keys_help.pd
new file mode 100755
index 0000000..c311548
--- /dev/null
+++ b/keys_help.pd
@@ -0,0 +1,49 @@
+#N canvas 139 159 504 436 10;
+#X obj 239 18 cnv 15 60 60 empty keycf f 20 12 64 14 -228801 -262144
+0;
+#X obj 165 18 cnv 15 60 60 empty keycq q 20 12 64 14 -228801 -262144
+0;
+#X obj 25 20 loadbang;
+#X obj 25 42 s ldbng;
+#X obj 28 273 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 293 252 abs/keyupdown;
+#X obj 412 250 vsl 15 128 0 100 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 127 1;
+#X msg 27 227 q;
+#X msg 293 227 a;
+#X msg 351 225 z;
+#X obj 27 248 abs/keybang;
+#X obj 314 18 cnv 15 60 60 empty keyca a 20 12 64 14 -228801 -262144
+0;
+#X obj 390 18 cnv 15 60 60 empty keycz z 20 12 64 14 -228801 -262144
+0;
+#X obj 27 205 r ldbng;
+#X obj 293 201 r ldbng;
+#X obj 81 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 25 105 for assignment of actions for keys use;
+#X obj 26 146 abs/keybang;
+#X text 26 127 for bang;
+#X text 142 128 for toggle;
+#X text 264 129 for increase/descrease of any value;
+#X obj 264 147 abs/keyupdown;
+#X obj 150 272 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 148 248 abs/keytoggle;
+#X msg 148 227 f;
+#X obj 147 205 r ldbng;
+#X obj 141 147 abs/keytoggle;
+#X connect 2 0 3 0;
+#X connect 5 0 6 0;
+#X connect 7 0 10 0;
+#X connect 8 0 5 0;
+#X connect 9 0 5 1;
+#X connect 10 0 4 0;
+#X connect 13 0 7 0;
+#X connect 14 0 8 0;
+#X connect 14 0 9 0;
+#X connect 15 0 3 0;
+#X connect 23 0 22 0;
+#X connect 24 0 23 0;
+#X connect 25 0 24 0;