230 lines
8.7 KiB
Groff
230 lines
8.7 KiB
Groff
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
|
<title>/* @pjs globalKeyEvents */ directive | reference | Processing.js</title>
|
|
<link rel="stylesheet" href="../css/bootstrap.css" type="text/css" />
|
|
<link rel="stylesheet" href="../css/syntax.css" type="text/css" />
|
|
<link rel="stylesheet" href="../css/processing-js.css" type="text/css" />
|
|
<script src="../js/processing.min.js" type="text/javascript"></script>
|
|
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
|
|
<script src="../js/jquery.tweet.min.js" type="text/javascript"></script>
|
|
<script src="../js/tabselector.js" type="text/javascript"></script>
|
|
<script src="http://cdn.webglstats.com/stat.js" defer="defer" async="async"></script>
|
|
<script type="text/javascript">
|
|
// Only do tracking on the actual site
|
|
if (document.location.host === "processingjs.org") {
|
|
var _gaq = _gaq || [];
|
|
_gaq.push(['_setAccount', 'UA-8565070-1']);
|
|
_gaq.push(['_trackPageview']);
|
|
(function() {
|
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
|
}());
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<div class="header">
|
|
<a href="http://processingjs.org/"><img src="../images/header.png" width="177" height="42"></a>
|
|
</div>
|
|
<span class="tagline">a port of the Processing Visualization Language</span>
|
|
|
|
<div class="navbar">
|
|
<canvas width="940px" height="78px" data-processing-sources="/sketches/bannerSketch.pde"></canvas>
|
|
<ul>
|
|
<li><a href="http://processingjs.org/"><span>home</span></a></li>
|
|
<li><a href="http://processingjs.org/download/"><span>download</span></a></li>
|
|
<li><a href="index.html"><span>reference</span></a></li>
|
|
<li><a href="http://processingjs.org/exhibition/"><span>exhibition</span></a></li>
|
|
<li><a href="http://processingjs.org/learning/"><span>learning</span></a></li>
|
|
<li><a href="http://processingjs.org/articles/"><span>articles</span></a></li>
|
|
<li><a href="http://processingjs.org/community/"><span>community</span></a></li>
|
|
<li><a href="http://processingjs.org/blog/"><span>blog</span></a></li>
|
|
</ul>
|
|
<a class="viewsource" href="http://processingjs.org/sketches/bannerSketch.pde">view source</a>
|
|
</div>
|
|
|
|
<div class="page row">
|
|
<div class="span11">
|
|
<table cellpadding="0" cellspacing="0" border="0" class="ref-item">
|
|
|
|
<tr class="name-row">
|
|
<th scope="row">Name</th>
|
|
<td><h3>/* @pjs globalKeyEvents */ directive</h3></td>
|
|
</tr>
|
|
|
|
<tr class="">
|
|
<th scope="row">Examples</th>
|
|
|
|
<td><div class="example"><pre><u>bypass.pde:</u>
|
|
|
|
/* @pjs globalKeyEvents="true"; */
|
|
|
|
<u>sketch.pde:</u>
|
|
|
|
int linepos;
|
|
|
|
void setup()
|
|
{
|
|
size(200,200);
|
|
noLoop();
|
|
linepos = height/2;
|
|
}
|
|
|
|
void draw()
|
|
{
|
|
line(0,linepos,width,linepos);
|
|
}
|
|
|
|
interface Javascript {}
|
|
Javascript javascript=null;
|
|
void bindJavascript(Javascript js) { javascript=js; }
|
|
|
|
// due to every browser implementing key events differently,
|
|
// proper keyhandling requires knowing whether this
|
|
// sketch is running under Processing or under Processing.js
|
|
void keyPressed()
|
|
{
|
|
if( (javascript==null && key=='+' && keyCode==61) ||
|
|
(javascript!=null && (key==187 || key==119))) {
|
|
// if someone types a "+", draw the line lower
|
|
linepos++;
|
|
redraw();
|
|
}
|
|
else if( (javascript==null && key=='-' && keyCode==45)
|
|
|| (javascript!=null && (key==189 || key==115))) {
|
|
// if someone types a "-", draw the line higher
|
|
linepos--;
|
|
redraw();
|
|
}
|
|
}
|
|
|
|
<u>sketch.html:</u>
|
|
|
|
<html>
|
|
<head>
|
|
<script type="text/javascript" src="processing.js"></script>
|
|
<script type="text/javascript">
|
|
// bind javascript to all Processing instances
|
|
function bindJavascript() {
|
|
canvaslist = document.getElementsByTagName("canvas");
|
|
for(c=0; c<canvaslist.length; c++) {
|
|
pjs = Processing.getInstanceById(canvaslist[c]);
|
|
try { pjs.bindJavascript(this); }
|
|
catch(e) { setTimeout(bindJavascript, 250); }
|
|
}
|
|
}
|
|
bindJavascript();
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<canvas id="first" data-processing-sources="sketch.pde"></canvas>
|
|
<canvas id="second" data-processing-sources="bypass.pde sketch.pde"></canvas>
|
|
</body>
|
|
</html>
|
|
</pre></div></td>
|
|
</tr>
|
|
<tr class="">
|
|
<th scope="row">Description</th>
|
|
<td><p>By default sketches loaded using Processing.js will only accept keyboard events when they have focus (i.e. after having tab-navigated to them,
|
|
or having clicked on them). Using this directive will allow a sketch to receive any keyboard event sent to the page, regardless of whether the canvas
|
|
it is loaded in has focus or not. Using this directive means that people who visit your page will not need to explicitly click on your sketch to
|
|
interact with it, but it also means that if you have multiple sketches on a page, any sketch that uses this directive will receive input that may not
|
|
have been intended for it.</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr class="">
|
|
<th scope="row">Syntax</th>
|
|
<td>
|
|
<pre>
|
|
<kbd> /* @pjs globalKeyEvents="true"; */</kbd>
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr class="">
|
|
<th scope="row">Parameters</th>
|
|
<td><table cellpadding="0" cellspacing="0" border="0">
|
|
|
|
<tr class="">
|
|
<th scope="row">globalKeyEvents</th>
|
|
<td>"true" (implicitly false for any other value)</td>
|
|
</tr>
|
|
|
|
</table></td>
|
|
|
|
</tr>
|
|
|
|
<tr class="">
|
|
<th scope="row">Usage</th>
|
|
<td>Web & Application, Processing.js compatibility</td>
|
|
</tr>
|
|
|
|
<tr class="">
|
|
<th scope="row">Related</th>
|
|
<td>
|
|
<a href="http://processingjs.org/reference/pjs directive">@pjs directives</a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<div class="cclicense">
|
|
<p>This reference is licensed under the CC BY-NC-SA 2.0 license:</p>
|
|
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.0/">
|
|
<img alt="Creative Commons License" border="0" src="../images/somerights20.gif" />
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="sidebar span4">
|
|
<h3><a href="http://processingjs.org/download/">Downloads</a></h3>
|
|
<ul>
|
|
<li><a href="http://processingjs.org/download/">Download the latest version of Processing.js!</a></li>
|
|
</ul>
|
|
|
|
<h3><a href="http://processingjs.org/articles/">Articles</a></h3>
|
|
<ul>
|
|
<li><a href="http://processingjs.org/articles/jsQuickStart.html">Quick Start - JavaScript Developer</a></li>
|
|
<li><a href="http://processingjs.org/articles/p5QuickStart.html">Quick Start - Processing Developer</a></li>
|
|
<li><a href="http://processingjs.org/articles/RenderingModes.html">Rendering Modes</a></li>
|
|
<li><a href="http://processingjs.org/articles/PomaxGuide.html">Pomax's Guide to processing-js</a></li>
|
|
</ul>
|
|
|
|
<h3><a>Web IDEs</a></h3>
|
|
<ul>
|
|
<li><a href="http://sketchpad.cc">Sketchpad.cc</a></li>
|
|
<li><a href="http://processingjs.org/tools/processing-helper.html">Processing.js Helper</a></li>
|
|
<li><a href="http://www.openprocessing.org">OpenProcessing.org</a></li>
|
|
</ul>
|
|
|
|
<h3><a href="http://processingjs.org/community/">Community</a></h3>
|
|
<ul>
|
|
<li><a href="irc://irc.mozilla.org/processing.js">IRC Channel</a></li>
|
|
<li><a href="http://processing-js.lighthouseapp.com/">Bug Tracker</a></li>
|
|
<li><a href="http://github.com/processing-js/processing-js/">Github Repository</a></li>
|
|
<li><a href="http://groups.google.com/group/processingjs">Google Group</a></li>
|
|
<li><a href="http://zenit.senecac.on.ca/wiki/index.php/">Open Source @ Seneca</a></li>
|
|
</ul>
|
|
|
|
<h3><a href="http://twitter.com/processingjs">Twitter Feed</a></h3>
|
|
<div class="twitter"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="footer">
|
|
Processing is an open visualization language developed by
|
|
<a href="http://benfry.com/">Ben Fry</a> & <a href="http://reas.com/">Casey Reas</a>,
|
|
and originally ported to Javascript by
|
|
<a href="http://ejohn.org/blog/processingjs/">John Resig</a>.
|
|
Processing.js is maintained by the Processing.js team.
|
|
</div>
|
|
</div>
|
|
<a href="http://github.com/processing-js/processing-js/">
|
|
<img style="position: absolute; top: 0; right: 0; border: 0;" src="../images/forkme-right-orange.png" alt="Fork me on GitHub">
|
|
</a>
|
|
</body>
|
|
</html>
|