aboutsummaryrefslogtreecommitdiff
path: root/doc/pddp/help-key.pd
diff options
context:
space:
mode:
authorN.N. <dave_sabine@users.sourceforge.net>2003-09-07 22:30:15 +0000
committerN.N. <dave_sabine@users.sourceforge.net>2003-09-07 22:30:15 +0000
commitc3e82e79c37b9702c712f3d209d368d6653f4b8c (patch)
tree1aab97c4d51dfefa536db3ddc370cf05de37809f /doc/pddp/help-key.pd
parentd1ecedf8e46d5486253436aa7fd5ba4dff19d65b (diff)
First version of files. help-key.pd serves as a reference document for the "key" family of objects: [keyup] [key] and [keyname]. keyboard_fun.txt serves as a data file which is used by help-key.pd.
svn path=/trunk/; revision=945
Diffstat (limited to 'doc/pddp/help-key.pd')
-rw-r--r--doc/pddp/help-key.pd160
1 files changed, 160 insertions, 0 deletions
diff --git a/doc/pddp/help-key.pd b/doc/pddp/help-key.pd
new file mode 100644
index 00000000..e84172e0
--- /dev/null
+++ b/doc/pddp/help-key.pd
@@ -0,0 +1,160 @@
+#N canvas 2 1 615 610 12;
+#X obj 107 517 pddp;
+#X obj 8 8 cnv 15 90 553 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X text 104 74 This object does not accept arguments of any type.;
+#N canvas 85 2 597 608 More_Info 0;
+#X text 31 23 OBJECT OUTLETS;
+#N canvas 176 3 575 461 reacting_to_user_input 0;
+#X text 27 18 REACTING TO USER INPUT;
+#X text 41 49 Most \, if not all \, programming environments provide
+us with tools to capture 'user initiated' events from the operating
+system. Keyboard input \, mouse clicks \, and mouse movements are the
+most common events in this 'user event' category.;
+#X text 41 125 PD's [key] \, [keyup] \, and [keyname] are complimented
+by the externals such as [gemmouse] and [nimouse] to provide us with
+a full range of tools to gleen a user's activities at the computer.
+;
+#X text 42 201 It's interesting to note that \, with these tools \,
+PD can mimic some of the functions in other languages - Javascript
+for example has:;
+#X text 55 272 onKeyUp;
+#X text 55 253 onKeyDown;
+#X text 55 291 onKeyPress;
+#X text 42 322 hmmm...wouldn't it be great if PD also gave us onChange
+\, onBlur \, onFocus \, onClick \, onDblClick \, onDragDrop \, onLoad
+\, onMouseDown \, onMouseOver \, onMouseOut \, onMouseMove \, onUnload...?
+;
+#X restore 47 506 pd reacting_to_user_input;
+#X obj 37 61 key;
+#X obj 16 135 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X floatatom 37 118 5 0 0 0 - - -;
+#X obj 31 268 keyup;
+#X obj 18 323 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X floatatom 39 306 5 0 0 0 - - -;
+#X text 88 208 Also note that key combinations \, such as SHIFT+7 produce
+a different result than SHIFT or 7 alone.;
+#X text 88 323 The [key] and [keyup] objects can mimic the functionality
+of the [noteon] and [noteoff] objects. A key combination such as SHIFT+7
+could be considered a 'chord'!;
+#X text 89 54 The number at this outlet represents the numeric "ID"
+of a key on the computer's keyboard. This event occurs when the key
+is pressed down. Only one event is captured at a time.;
+#X text 88 267 The number at this outlets represents the numeric "ID"
+of a key on the computer's keyboard. This even occurs when the key
+is released. Only one event is captured at a time.;
+#X text 89 119 Some keys \, such as SHIFT or the F1-F12 series all
+produce a zero \, but we can see by the [bng] that the event is not
+ignored completely...but the numeric "ID" of the key is not captured
+successfully. (This may produce different results on different systems.)
+;
+#X obj 21 392 keyname;
+#X obj 21 449 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 70 480 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X symbolatom 76 458 10 0 0 0 - - -;
+#X floatatom 18 421 5 0 0 0 - - -;
+#X text 90 388 This object captures both the "keydown" and "keyup"
+events. The left inlet produces a 1 when a key goes down \, and a zero
+when the key goes up. The right outlet produces a symbol which represents
+the name of the key.;
+#N canvas 174 4 571 511 some_keyboard_fun 0;
+#X obj 52 75 loadbang;
+#X msg 23 16 bang;
+#X obj 33 158 qlist;
+#X floatatom 33 185 5 0 0 0 - - -;
+#X obj 388 30 r keyboard_fun;
+#X msg 52 105 read keyboard_fun.txt;
+#X msg 45 51 rewind;
+#X obj 388 112 symbol add2;
+#X obj 388 83 t b s;
+#X obj 388 138 pack s s;
+#X obj 388 164 route list;
+#X msg 47 245 set;
+#X msg 47 278;
+#X obj 388 57 symbol;
+#X text 71 17 Click here to start...;
+#X msg 62 131 tempo 0.8;
+#X obj 47 217 loadbang;
+#X connect 0 0 5 0;
+#X connect 0 0 15 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 13 0;
+#X connect 5 0 2 0;
+#X connect 6 0 2 0;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 9 1;
+#X connect 9 0 10 0;
+#X connect 10 0 12 0;
+#X connect 11 0 12 0;
+#X connect 13 0 8 0;
+#X connect 15 0 2 0;
+#X connect 16 0 11 0;
+#X restore 47 532 pd some_keyboard_fun;
+#X connect 2 0 3 0;
+#X connect 2 0 4 0;
+#X connect 5 0 7 0;
+#X connect 5 0 6 0;
+#X connect 13 0 17 0;
+#X connect 13 1 16 0;
+#X connect 16 0 15 0;
+#X connect 17 0 14 0;
+#X restore 107 491 pd More_Info;
+#N canvas 85 2 393 242 Related_Objects 0;
+#X text 25 8 Native PD Objects;
+#X text 25 92 Externals and other object libraries;
+#X text 36 126 [gemmouse];
+#X text 36 150 [grid];
+#X text 35 173 [nimouse];
+#X restore 107 465 pd Related_Objects;
+#X text 38 53 INLETS:;
+#X text 14 75 ARGUMENTS:;
+#X text 29 94 OUTLETS:;
+#X text 20 170 EXAMPLES:;
+#X text 21 463 SEE ALSO:;
+#X obj 8 8 cnv 15 180 30 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#X obj 28 14 key;
+#X obj 63 14 keyup;
+#X obj 114 14 keyname;
+#X text 195 15 - GRAB KEYBOARD;
+#X text 104 53 None;
+#X text 104 94 Please see the following sub-patch called "More_Info"
+for detailed information about the objects' outlets. The outlets of
+this 'object group' provide PD with information about keystrokes on
+your computer's keyboard.;
+#X obj 108 174 key;
+#X floatatom 108 201 3 0 0 0 - - -;
+#X floatatom 147 200 3 0 0 0 - - -;
+#X obj 147 174 keyup;
+#X floatatom 201 200 3 0 0 0 - - -;
+#X obj 201 174 keyname;
+#X symbolatom 252 199 10 0 0 0 - - -;
+#X text 109 248 To see this example in action \, simply type something
+on your keyboard.;
+#X obj 108 225 bng 15 50 10 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 147 225 bng 15 50 10 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 201 225 bng 15 50 10 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 110 291 [key] and [keyup] report the (system dependent) numbers
+of "printing" keys of the keyboard. [keyname] gives the symbolic name
+of the key \, with a 1 if it's up or 0 if it's down \, and works with
+non-printing keys like shift or "F1".;
+#X text 111 362 Caveat -- this only works if Pd actually gets the key
+events which can depend on the stacking order of windows and/or the
+pointer location. This is dependent on the system.;
+#X text 155 518 - Dave Sabine \, July 11 \, 2003;
+#X connect 17 0 18 0;
+#X connect 18 0 25 0;
+#X connect 19 0 26 0;
+#X connect 20 0 19 0;
+#X connect 21 0 27 0;
+#X connect 22 0 21 0;
+#X connect 22 1 23 0;