289 lines
48 KiB
HTML
289 lines
48 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.9.1"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>libctru: input/software-keyboard/source/main.c</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">libctru
|
|
 <span id="projectnumber">v2.4.1</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.9.1 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="headertitle">
|
|
<div class="title">input/software-keyboard/source/main.c</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="fragment"><div class="line"><span class="preprocessor">#include <<a class="code" href="3ds_8h.html">3ds.h</a>></span></div>
|
|
<div class="line"><span class="preprocessor">#include <stdio.h></span></div>
|
|
<div class="line"><span class="preprocessor">#include <string.h></span></div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="keyword">static</span> <a class="code" href="swkbd_8h.html#a12d91ff65b198511e8d26960577d2c7a">SwkbdCallbackResult</a> MyCallback(<span class="keywordtype">void</span>* user, <span class="keyword">const</span> <span class="keywordtype">char</span>** ppMessage, <span class="keyword">const</span> <span class="keywordtype">char</span>* text, <span class="keywordtype">size_t</span> textlen)</div>
|
|
<div class="line">{</div>
|
|
<div class="line"> <span class="keywordflow">if</span> (strstr(text, <span class="stringliteral">"lenny"</span>))</div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> *ppMessage = <span class="stringliteral">"Nice try but I'm not letting you use that meme right now"</span>;</div>
|
|
<div class="line"> <span class="keywordflow">return</span> <a name="a0"></a><a class="code" href="swkbd_8h.html#a12d91ff65b198511e8d26960577d2c7aaf65d5b95476c302b9201d1278761275b">SWKBD_CALLBACK_CONTINUE</a>;</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="keywordflow">if</span> (strstr(text, <span class="stringliteral">"brick"</span>))</div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> *ppMessage = <span class="stringliteral">"~Time to visit Brick City~"</span>;</div>
|
|
<div class="line"> <span class="keywordflow">return</span> <a name="a1"></a><a class="code" href="swkbd_8h.html#a12d91ff65b198511e8d26960577d2c7aa9238474d1113e68576271d5c1e87aa2c">SWKBD_CALLBACK_CLOSE</a>;</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="keywordflow">return</span> <a name="a2"></a><a class="code" href="swkbd_8h.html#a12d91ff65b198511e8d26960577d2c7aaec9de9f165d0d788152aa5d3dfc21327">SWKBD_CALLBACK_OK</a>;</div>
|
|
<div class="line">}</div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv)</div>
|
|
<div class="line">{</div>
|
|
<div class="line"> <a name="a3"></a><a class="code" href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a>();</div>
|
|
<div class="line"> <a name="a4"></a><a class="code" href="console_8h.html#a8e014e84f81ff901ca62d7669a8c8de8">consoleInit</a>(<a name="a5"></a><a class="code" href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a>, NULL);</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> printf(<span class="stringliteral">"Software keyboard demo - by fincs\n"</span>);</div>
|
|
<div class="line"> printf(<span class="stringliteral">"A: text input\n"</span>);</div>
|
|
<div class="line"> printf(<span class="stringliteral">"B: numpad input\n"</span>);</div>
|
|
<div class="line"> printf(<span class="stringliteral">"X: western input\n"</span>);</div>
|
|
<div class="line"> printf(<span class="stringliteral">"Y: filtered input + HOME/POWER/reset handling\n"</span>);</div>
|
|
<div class="line"> printf(<span class="stringliteral">"START: exit\n"</span>);</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="keywordflow">while</span> (<a name="a6"></a><a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>())</div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> <a name="a7"></a><a class="code" href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a>();</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <a class="code" href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a> kDown = <a name="a8"></a><a class="code" href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a>();</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="keywordflow">if</span> (kDown & <a name="a9"></a><a class="code" href="hid_8h.html#a531c35e38ede3ea4e5ba5afb24b29493a616a1f5c4ed36080ca954453084aea3b">KEY_START</a>)</div>
|
|
<div class="line"> <span class="keywordflow">break</span>;</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="keyword">static</span> <a name="_a10"></a><a class="code" href="structSwkbdState.html">SwkbdState</a> swkbd;</div>
|
|
<div class="line"> <span class="keyword">static</span> <span class="keywordtype">char</span> mybuf[60];</div>
|
|
<div class="line"> <span class="keyword">static</span> <a name="_a11"></a><a class="code" href="structSwkbdStatusData.html">SwkbdStatusData</a> swkbdStatus;</div>
|
|
<div class="line"> <span class="keyword">static</span> <a name="_a12"></a><a class="code" href="structSwkbdLearningData.html">SwkbdLearningData</a> swkbdLearning;</div>
|
|
<div class="line"> <a class="code" href="swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29c">SwkbdButton</a> button = <a name="a13"></a><a class="code" href="swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29caa7a4d5142a471089f281173d35f52675">SWKBD_BUTTON_NONE</a>;</div>
|
|
<div class="line"> <span class="keywordtype">bool</span> didit = <span class="keyword">false</span>;</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="keywordflow">if</span> (kDown & <a name="a14"></a><a class="code" href="hid_8h.html#a531c35e38ede3ea4e5ba5afb24b29493aa7b3a3d0503a46bec51c6e3da95747cc">KEY_A</a>)</div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> didit = <span class="keyword">true</span>;</div>
|
|
<div class="line"> <a name="a15"></a><a class="code" href="swkbd_8h.html#ac3a6569aa3150430e729b328999561ed">swkbdInit</a>(&swkbd, <a name="a16"></a><a class="code" href="swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387a09e29e270f59d0b17f06c8455d6a836c">SWKBD_TYPE_NORMAL</a>, 3, -1);</div>
|
|
<div class="line"> <a name="a17"></a><a class="code" href="swkbd_8h.html#a3188c3c8f62da1f740e195976dcabf1f">swkbdSetInitialText</a>(&swkbd, mybuf);</div>
|
|
<div class="line"> <a name="a18"></a><a class="code" href="swkbd_8h.html#ab50d59110e5920e1aba641b607900277">swkbdSetHintText</a>(&swkbd, <span class="stringliteral">"Please enter dank memes"</span>);</div>
|
|
<div class="line"> <a name="a19"></a><a class="code" href="swkbd_8h.html#a03c1c95303c37468bda0077e8d986e00">swkbdSetButton</a>(&swkbd, <a name="a20"></a><a class="code" href="swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29ca04b5951221df3ade6e04447b590d1fd4">SWKBD_BUTTON_LEFT</a>, <span class="stringliteral">"Maybe Not"</span>, <span class="keyword">false</span>);</div>
|
|
<div class="line"> <a class="code" href="swkbd_8h.html#a03c1c95303c37468bda0077e8d986e00">swkbdSetButton</a>(&swkbd, <a name="a21"></a><a class="code" href="swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29ca7fbeb491bb84654eabad38826a00edd5">SWKBD_BUTTON_MIDDLE</a>, <span class="stringliteral">"~Middle~"</span>, <span class="keyword">true</span>);</div>
|
|
<div class="line"> <a class="code" href="swkbd_8h.html#a03c1c95303c37468bda0077e8d986e00">swkbdSetButton</a>(&swkbd, <a name="a22"></a><a class="code" href="swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29ca2754579a6b7bf2b751751b5a9ca8c4b3">SWKBD_BUTTON_RIGHT</a>, <span class="stringliteral">"Do It"</span>, <span class="keyword">true</span>);</div>
|
|
<div class="line"> <a name="a23"></a><a class="code" href="swkbd_8h.html#a7ab5f470b1bde4cc7d8ea7336c078098">swkbdSetFeatures</a>(&swkbd, <a name="a24"></a><a class="code" href="swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04adf8b88dbe0a36d524a5cde8e7af45bd4">SWKBD_PREDICTIVE_INPUT</a>);</div>
|
|
<div class="line"> <a name="_a25"></a><a class="code" href="structSwkbdDictWord.html">SwkbdDictWord</a> words[2];</div>
|
|
<div class="line"> <a name="a26"></a><a class="code" href="swkbd_8h.html#a7abf5422dcf03764ffba1eaaca8c1653">swkbdSetDictWord</a>(&words[0], <span class="stringliteral">"lenny"</span>, <span class="stringliteral">"( ͡° ͜ʖ ͡°)"</span>);</div>
|
|
<div class="line"> <a class="code" href="swkbd_8h.html#a7abf5422dcf03764ffba1eaaca8c1653">swkbdSetDictWord</a>(&words[1], <span class="stringliteral">"shrug"</span>, <span class="stringliteral">"¯\\_(ツ)_/¯"</span>);</div>
|
|
<div class="line"> <a name="a27"></a><a class="code" href="swkbd_8h.html#ad8c2bcf30bd16119cab4a58c15d85495">swkbdSetDictionary</a>(&swkbd, words, <span class="keyword">sizeof</span>(words)/<span class="keyword">sizeof</span>(<a class="code" href="structSwkbdDictWord.html">SwkbdDictWord</a>));</div>
|
|
<div class="line"> <span class="keyword">static</span> <span class="keywordtype">bool</span> reload = <span class="keyword">false</span>;</div>
|
|
<div class="line"> <a name="a28"></a><a class="code" href="swkbd_8h.html#a97006a5ab548ac7dc1db471286b157ba">swkbdSetStatusData</a>(&swkbd, &swkbdStatus, reload, <span class="keyword">true</span>);</div>
|
|
<div class="line"> <a name="a29"></a><a class="code" href="swkbd_8h.html#a790328be559c7d75558faa7a5b055d2c">swkbdSetLearningData</a>(&swkbd, &swkbdLearning, reload, <span class="keyword">true</span>);</div>
|
|
<div class="line"> reload = <span class="keyword">true</span>;</div>
|
|
<div class="line"> button = <a name="a30"></a><a class="code" href="swkbd_8h.html#a3a9e7271ab89d6727897b66cbb51a0a5">swkbdInputText</a>(&swkbd, mybuf, <span class="keyword">sizeof</span>(mybuf));</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="keywordflow">if</span> (kDown & <a name="a31"></a><a class="code" href="hid_8h.html#a531c35e38ede3ea4e5ba5afb24b29493a10072b5ee7aa1faf316434ecc9e2bb3a">KEY_B</a>)</div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> didit = <span class="keyword">true</span>;</div>
|
|
<div class="line"> <a class="code" href="swkbd_8h.html#ac3a6569aa3150430e729b328999561ed">swkbdInit</a>(&swkbd, <a name="a32"></a><a class="code" href="swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387a5802f3a1eabee6305045ed5cd57ae5b9">SWKBD_TYPE_NUMPAD</a>, 1, 8);</div>
|
|
<div class="line"> <a name="a33"></a><a class="code" href="swkbd_8h.html#a94b68f3e03958c2a609458641be484a2">swkbdSetPasswordMode</a>(&swkbd, <a name="a34"></a><a class="code" href="swkbd_8h.html#a7dddf239d1add2f4a68d79ca0e64c1b9aa2ec3ada05cfa6de081da8288635d110">SWKBD_PASSWORD_HIDE_DELAY</a>);</div>
|
|
<div class="line"> <a name="a35"></a><a class="code" href="swkbd_8h.html#a98b664f7bc103e24ef0402e16bfc3dbf">swkbdSetValidation</a>(&swkbd, <a name="a36"></a><a class="code" href="swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1adf5ca7a645dea83448551248be05bc35">SWKBD_ANYTHING</a>, 0, 0);</div>
|
|
<div class="line"> <a class="code" href="swkbd_8h.html#a7ab5f470b1bde4cc7d8ea7336c078098">swkbdSetFeatures</a>(&swkbd, <a name="a37"></a><a class="code" href="swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04aae3631524844bce7fb3aceb10416391f">SWKBD_FIXED_WIDTH</a>);</div>
|
|
<div class="line"> <a name="a38"></a><a class="code" href="swkbd_8h.html#ad00d7ebd131e5171fca3beddace66890">swkbdSetNumpadKeys</a>(&swkbd, L<span class="stringliteral">'ツ'</span>, L<span class="stringliteral">'益'</span>);</div>
|
|
<div class="line"> button = <a class="code" href="swkbd_8h.html#a3a9e7271ab89d6727897b66cbb51a0a5">swkbdInputText</a>(&swkbd, mybuf, <span class="keyword">sizeof</span>(mybuf));</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="keywordflow">if</span> (kDown & <a name="a39"></a><a class="code" href="hid_8h.html#a531c35e38ede3ea4e5ba5afb24b29493a480a807305121d41673b8c208898f497">KEY_X</a>)</div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> didit = <span class="keyword">true</span>;</div>
|
|
<div class="line"> <a class="code" href="swkbd_8h.html#ac3a6569aa3150430e729b328999561ed">swkbdInit</a>(&swkbd, <a name="a40"></a><a class="code" href="swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387a0f871d4bbdd45581d73f4877fafdb002">SWKBD_TYPE_WESTERN</a>, 1, -1);</div>
|
|
<div class="line"> <a class="code" href="swkbd_8h.html#a98b664f7bc103e24ef0402e16bfc3dbf">swkbdSetValidation</a>(&swkbd, <a name="a41"></a><a class="code" href="swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1a1caa32cefb6ab95f86a42b4dbd137feb">SWKBD_NOTEMPTY_NOTBLANK</a>, <a name="a42"></a><a class="code" href="swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5aa03c93ae6d25484d672a409bec1c79ef">SWKBD_FILTER_DIGITS</a> | <a name="a43"></a><a class="code" href="swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5a556df4c35b36612b092e414600e30eed">SWKBD_FILTER_AT</a> | <a name="a44"></a><a class="code" href="swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5ab4a359ee3ad3a4394c186bd6ba676d37">SWKBD_FILTER_PERCENT</a> | <a name="a45"></a><a class="code" href="swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5a8385e631b1b3313c05a2f80097021af6">SWKBD_FILTER_BACKSLASH</a> | <a name="a46"></a><a class="code" href="swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5a241d66f1b98f9de0da217356d5b2e4bf">SWKBD_FILTER_PROFANITY</a>, 2);</div>
|
|
<div class="line"> <a class="code" href="swkbd_8h.html#a7ab5f470b1bde4cc7d8ea7336c078098">swkbdSetFeatures</a>(&swkbd, <a name="a47"></a><a class="code" href="swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04ab38ff5f2098240b8fc288a0df7b41ac5">SWKBD_MULTILINE</a>);</div>
|
|
<div class="line"> <a class="code" href="swkbd_8h.html#ab50d59110e5920e1aba641b607900277">swkbdSetHintText</a>(&swkbd, <span class="stringliteral">"No Japanese text allowed ¯\\_(ツ)_/¯"</span>);</div>
|
|
<div class="line"> button = <a class="code" href="swkbd_8h.html#a3a9e7271ab89d6727897b66cbb51a0a5">swkbdInputText</a>(&swkbd, mybuf, <span class="keyword">sizeof</span>(mybuf));</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="keywordflow">if</span> (kDown & <a name="a48"></a><a class="code" href="hid_8h.html#a531c35e38ede3ea4e5ba5afb24b29493a5d44524b2a6090fa97aa9353d69f67a3">KEY_Y</a>)</div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> didit = <span class="keyword">true</span>;</div>
|
|
<div class="line"> <a class="code" href="swkbd_8h.html#ac3a6569aa3150430e729b328999561ed">swkbdInit</a>(&swkbd, <a class="code" href="swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387a0f871d4bbdd45581d73f4877fafdb002">SWKBD_TYPE_WESTERN</a>, 2, -1);</div>
|
|
<div class="line"> <a class="code" href="swkbd_8h.html#a98b664f7bc103e24ef0402e16bfc3dbf">swkbdSetValidation</a>(&swkbd, <a class="code" href="swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1a1caa32cefb6ab95f86a42b4dbd137feb">SWKBD_NOTEMPTY_NOTBLANK</a>, 0, 0);</div>
|
|
<div class="line"> <a class="code" href="swkbd_8h.html#a7ab5f470b1bde4cc7d8ea7336c078098">swkbdSetFeatures</a>(&swkbd, <a name="a49"></a><a class="code" href="swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04ab7aec191ef2d5df62291a011f5c0a4e7">SWKBD_DARKEN_TOP_SCREEN</a> | <a name="a50"></a><a class="code" href="swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04aac6fa4f37d2db0c7ee8a0b247ebc2cf1">SWKBD_ALLOW_HOME</a> | <a name="a51"></a><a class="code" href="swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04a82d4882b4e8e601e82dbf301be793e0e">SWKBD_ALLOW_RESET</a> | <a name="a52"></a><a class="code" href="swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04a22cc81cb2524dbcedf88ecd51d6174e4">SWKBD_ALLOW_POWER</a>);</div>
|
|
<div class="line"> <a name="a53"></a><a class="code" href="swkbd_8h.html#a6f28aed150085612694ac8ed48a3cdb8">swkbdSetFilterCallback</a>(&swkbd, MyCallback, NULL);</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="keywordtype">bool</span> shouldQuit = <span class="keyword">false</span>;</div>
|
|
<div class="line"> mybuf[0] = 0;</div>
|
|
<div class="line"> <span class="keywordflow">do</span></div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> <a class="code" href="swkbd_8h.html#a3188c3c8f62da1f740e195976dcabf1f">swkbdSetInitialText</a>(&swkbd, mybuf);</div>
|
|
<div class="line"> button = <a class="code" href="swkbd_8h.html#a3a9e7271ab89d6727897b66cbb51a0a5">swkbdInputText</a>(&swkbd, mybuf, <span class="keyword">sizeof</span>(mybuf));</div>
|
|
<div class="line"> <span class="keywordflow">if</span> (button != <a class="code" href="swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29caa7a4d5142a471089f281173d35f52675">SWKBD_BUTTON_NONE</a>)</div>
|
|
<div class="line"> <span class="keywordflow">break</span>;</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <a class="code" href="swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93">SwkbdResult</a> res = <a name="a54"></a><a class="code" href="swkbd_8h.html#a9fe63b706b3a5f4196e8a464db578d10">swkbdGetResult</a>(&swkbd);</div>
|
|
<div class="line"> <span class="keywordflow">if</span> (res == <a name="a55"></a><a class="code" href="swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a76e7d6d7ebf659dd635fb8ca4cfa919b">SWKBD_RESETPRESSED</a>)</div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> shouldQuit = <span class="keyword">true</span>;</div>
|
|
<div class="line"> <a name="a56"></a><a class="code" href="apt_8h.html#a3f41335fe04d1ad035f4b7bf97ebcb4b">aptSetChainloaderToSelf</a>();</div>
|
|
<div class="line"> <span class="keywordflow">break</span>;</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (res != <a name="a57"></a><a class="code" href="swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93aac0b81dd3cf9855a464ae1429d4dde44">SWKBD_HOMEPRESSED</a> && res != <a name="a58"></a><a class="code" href="swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93aa4458c14c72bfd33d3bd1c1c832bef00">SWKBD_POWERPRESSED</a>)</div>
|
|
<div class="line"> <span class="keywordflow">break</span>; <span class="comment">// An actual error happened, display it</span></div>
|
|
<div class="line"> </div>
|
|
<div class="line"> shouldQuit = !<a class="code" href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a>();</div>
|
|
<div class="line"> } <span class="keywordflow">while</span> (!shouldQuit);</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="keywordflow">if</span> (shouldQuit)</div>
|
|
<div class="line"> <span class="keywordflow">break</span>;</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="keywordflow">if</span> (didit)</div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> <span class="keywordflow">if</span> (button != <a class="code" href="swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29caa7a4d5142a471089f281173d35f52675">SWKBD_BUTTON_NONE</a>)</div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> printf(<span class="stringliteral">"You pressed button %d\n"</span>, button);</div>
|
|
<div class="line"> printf(<span class="stringliteral">"Text: %s\n"</span>, mybuf);</div>
|
|
<div class="line"> } <span class="keywordflow">else</span></div>
|
|
<div class="line"> printf(<span class="stringliteral">"swkbd event: %d\n"</span>, <a class="code" href="swkbd_8h.html#a9fe63b706b3a5f4196e8a464db578d10">swkbdGetResult</a>(&swkbd));</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="comment">// Flush and swap framebuffers</span></div>
|
|
<div class="line"> <a name="a59"></a><a class="code" href="gfx_8h.html#aea1808bd74fe0c00f9794e455fc8499b">gfxFlushBuffers</a>();</div>
|
|
<div class="line"> <a name="a60"></a><a class="code" href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a>();</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <a name="a61"></a><a class="code" href="gspgpu_8h.html#abf0a992835649b5fe90e95d8a58b8c45">gspWaitForVBlank</a>();</div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <a name="a62"></a><a class="code" href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a>();</div>
|
|
<div class="line"> <span class="keywordflow">return</span> 0;</div>
|
|
<div class="line">}</div>
|
|
<div class="ttc" id="a3ds_8h_html"><div class="ttname"><a href="3ds_8h.html">3ds.h</a></div><div class="ttdoc">Central 3DS header.</div></div>
|
|
<div class="ttc" id="aapt_8h_html_a3f41335fe04d1ad035f4b7bf97ebcb4b"><div class="ttname"><a href="apt_8h.html#a3f41335fe04d1ad035f4b7bf97ebcb4b">aptSetChainloaderToSelf</a></div><div class="ttdeci">void aptSetChainloaderToSelf(void)</div><div class="ttdoc">Configures the chainloader to relaunch the current application (i.e. soft-reset)</div></div>
|
|
<div class="ttc" id="aapt_8h_html_a84808c36d9a8c389896ecf241c7f89cb"><div class="ttname"><a href="apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb">aptMainLoop</a></div><div class="ttdeci">bool aptMainLoop(void)</div><div class="ttdoc">Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...</div></div>
|
|
<div class="ttc" id="aconsole_8h_html_a8e014e84f81ff901ca62d7669a8c8de8"><div class="ttname"><a href="console_8h.html#a8e014e84f81ff901ca62d7669a8c8de8">consoleInit</a></div><div class="ttdeci">PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)</div><div class="ttdoc">Initialise the console.</div></div>
|
|
<div class="ttc" id="agfx_8h_html_a0f338920111994110975dc0d1360bb1f"><div class="ttname"><a href="gfx_8h.html#a0f338920111994110975dc0d1360bb1f">gfxSwapBuffers</a></div><div class="ttdeci">void gfxSwapBuffers(void)</div><div class="ttdoc">Updates the configuration of both screens.</div></div>
|
|
<div class="ttc" id="agfx_8h_html_a236a005ae029247c8bfe4a4a649206fc"><div class="ttname"><a href="gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc">gfxInitDefault</a></div><div class="ttdeci">void gfxInitDefault(void)</div><div class="ttdoc">Initializes the LCD framebuffers with default parameters This is equivalent to calling:</div></div>
|
|
<div class="ttc" id="agfx_8h_html_a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09"><div class="ttname"><a href="gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09">GFX_TOP</a></div><div class="ttdeci">@ GFX_TOP</div><div class="ttdoc">Top screen.</div><div class="ttdef"><b>Definition:</b> gfx.h:26</div></div>
|
|
<div class="ttc" id="agfx_8h_html_aa446ccfdfdd4c575e648956ae96f2a3b"><div class="ttname"><a href="gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b">gfxExit</a></div><div class="ttdeci">void gfxExit(void)</div><div class="ttdoc">Deinitializes and frees the LCD framebuffers.</div></div>
|
|
<div class="ttc" id="agfx_8h_html_aea1808bd74fe0c00f9794e455fc8499b"><div class="ttname"><a href="gfx_8h.html#aea1808bd74fe0c00f9794e455fc8499b">gfxFlushBuffers</a></div><div class="ttdeci">void gfxFlushBuffers(void)</div><div class="ttdoc">Flushes the data cache for the current framebuffers.</div></div>
|
|
<div class="ttc" id="agspgpu_8h_html_abf0a992835649b5fe90e95d8a58b8c45"><div class="ttname"><a href="gspgpu_8h.html#abf0a992835649b5fe90e95d8a58b8c45">gspWaitForVBlank</a></div><div class="ttdeci">#define gspWaitForVBlank()</div><div class="ttdoc">Waits for VBlank.</div><div class="ttdef"><b>Definition:</b> gspgpu.h:151</div></div>
|
|
<div class="ttc" id="ahid_8h_html_a531c35e38ede3ea4e5ba5afb24b29493a10072b5ee7aa1faf316434ecc9e2bb3a"><div class="ttname"><a href="hid_8h.html#a531c35e38ede3ea4e5ba5afb24b29493a10072b5ee7aa1faf316434ecc9e2bb3a">KEY_B</a></div><div class="ttdeci">@ KEY_B</div><div class="ttdoc">B.</div><div class="ttdef"><b>Definition:</b> hid.h:13</div></div>
|
|
<div class="ttc" id="ahid_8h_html_a531c35e38ede3ea4e5ba5afb24b29493a480a807305121d41673b8c208898f497"><div class="ttname"><a href="hid_8h.html#a531c35e38ede3ea4e5ba5afb24b29493a480a807305121d41673b8c208898f497">KEY_X</a></div><div class="ttdeci">@ KEY_X</div><div class="ttdoc">X.</div><div class="ttdef"><b>Definition:</b> hid.h:22</div></div>
|
|
<div class="ttc" id="ahid_8h_html_a531c35e38ede3ea4e5ba5afb24b29493a5d44524b2a6090fa97aa9353d69f67a3"><div class="ttname"><a href="hid_8h.html#a531c35e38ede3ea4e5ba5afb24b29493a5d44524b2a6090fa97aa9353d69f67a3">KEY_Y</a></div><div class="ttdeci">@ KEY_Y</div><div class="ttdoc">Y.</div><div class="ttdef"><b>Definition:</b> hid.h:23</div></div>
|
|
<div class="ttc" id="ahid_8h_html_a531c35e38ede3ea4e5ba5afb24b29493a616a1f5c4ed36080ca954453084aea3b"><div class="ttname"><a href="hid_8h.html#a531c35e38ede3ea4e5ba5afb24b29493a616a1f5c4ed36080ca954453084aea3b">KEY_START</a></div><div class="ttdeci">@ KEY_START</div><div class="ttdoc">Start.</div><div class="ttdef"><b>Definition:</b> hid.h:15</div></div>
|
|
<div class="ttc" id="ahid_8h_html_a531c35e38ede3ea4e5ba5afb24b29493aa7b3a3d0503a46bec51c6e3da95747cc"><div class="ttname"><a href="hid_8h.html#a531c35e38ede3ea4e5ba5afb24b29493aa7b3a3d0503a46bec51c6e3da95747cc">KEY_A</a></div><div class="ttdeci">@ KEY_A</div><div class="ttdoc">A.</div><div class="ttdef"><b>Definition:</b> hid.h:12</div></div>
|
|
<div class="ttc" id="ahid_8h_html_aa2cababf764bf0b4297dc2e2fffe2a76"><div class="ttname"><a href="hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76">hidKeysDown</a></div><div class="ttdeci">u32 hidKeysDown(void)</div><div class="ttdoc">Returns a bitmask of newly pressed buttons, this frame.</div></div>
|
|
<div class="ttc" id="ahid_8h_html_abbbf0e1f3a79a75e459e19f85a66bee6"><div class="ttname"><a href="hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6">hidScanInput</a></div><div class="ttdeci">void hidScanInput(void)</div><div class="ttdoc">Scans HID for input data.</div></div>
|
|
<div class="ttc" id="astructSwkbdDictWord_html"><div class="ttname"><a href="structSwkbdDictWord.html">SwkbdDictWord</a></div><div class="ttdoc">Keyboard dictionary word for predictive input.</div><div class="ttdef"><b>Definition:</b> swkbd.h:114</div></div>
|
|
<div class="ttc" id="astructSwkbdLearningData_html"><div class="ttname"><a href="structSwkbdLearningData.html">SwkbdLearningData</a></div><div class="ttdoc">Keyboard predictive input learning data.</div><div class="ttdef"><b>Definition:</b> swkbd.h:126</div></div>
|
|
<div class="ttc" id="astructSwkbdState_html"><div class="ttname"><a href="structSwkbdState.html">SwkbdState</a></div><div class="ttdoc">Software keyboard parameter structure, it shouldn't be modified directly.</div><div class="ttdef"><b>Definition:</b> swkbd.h:141</div></div>
|
|
<div class="ttc" id="astructSwkbdStatusData_html"><div class="ttname"><a href="structSwkbdStatusData.html">SwkbdStatusData</a></div><div class="ttdoc">Keyboard status data.</div><div class="ttdef"><b>Definition:</b> swkbd.h:124</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a03c1c95303c37468bda0077e8d986e00"><div class="ttname"><a href="swkbd_8h.html#a03c1c95303c37468bda0077e8d986e00">swkbdSetButton</a></div><div class="ttdeci">void swkbdSetButton(SwkbdState *swkbd, SwkbdButton button, const char *text, bool submit)</div><div class="ttdoc">Configures a dialog button in a software keyboard.</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a12d91ff65b198511e8d26960577d2c7a"><div class="ttname"><a href="swkbd_8h.html#a12d91ff65b198511e8d26960577d2c7a">SwkbdCallbackResult</a></div><div class="ttdeci">SwkbdCallbackResult</div><div class="ttdoc">Keyboard filter callback return values.</div><div class="ttdef"><b>Definition:</b> swkbd.h:73</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a12d91ff65b198511e8d26960577d2c7aa9238474d1113e68576271d5c1e87aa2c"><div class="ttname"><a href="swkbd_8h.html#a12d91ff65b198511e8d26960577d2c7aa9238474d1113e68576271d5c1e87aa2c">SWKBD_CALLBACK_CLOSE</a></div><div class="ttdeci">@ SWKBD_CALLBACK_CLOSE</div><div class="ttdoc">Displays an error message, then closes the keyboard.</div><div class="ttdef"><b>Definition:</b> swkbd.h:75</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a12d91ff65b198511e8d26960577d2c7aaec9de9f165d0d788152aa5d3dfc21327"><div class="ttname"><a href="swkbd_8h.html#a12d91ff65b198511e8d26960577d2c7aaec9de9f165d0d788152aa5d3dfc21327">SWKBD_CALLBACK_OK</a></div><div class="ttdeci">@ SWKBD_CALLBACK_OK</div><div class="ttdoc">Specifies that the input is valid.</div><div class="ttdef"><b>Definition:</b> swkbd.h:74</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a12d91ff65b198511e8d26960577d2c7aaf65d5b95476c302b9201d1278761275b"><div class="ttname"><a href="swkbd_8h.html#a12d91ff65b198511e8d26960577d2c7aaf65d5b95476c302b9201d1278761275b">SWKBD_CALLBACK_CONTINUE</a></div><div class="ttdeci">@ SWKBD_CALLBACK_CONTINUE</div><div class="ttdoc">Displays an error message and continues displaying the keyboard.</div><div class="ttdef"><b>Definition:</b> swkbd.h:76</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a3188c3c8f62da1f740e195976dcabf1f"><div class="ttname"><a href="swkbd_8h.html#a3188c3c8f62da1f740e195976dcabf1f">swkbdSetInitialText</a></div><div class="ttdeci">void swkbdSetInitialText(SwkbdState *swkbd, const char *text)</div><div class="ttdoc">Sets the initial text that a software keyboard will display on launch.</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a3a9e7271ab89d6727897b66cbb51a0a5"><div class="ttname"><a href="swkbd_8h.html#a3a9e7271ab89d6727897b66cbb51a0a5">swkbdInputText</a></div><div class="ttdeci">SwkbdButton swkbdInputText(SwkbdState *swkbd, char *buf, size_t bufsize)</div><div class="ttdoc">Launches a software keyboard in order to input text.</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a6f28aed150085612694ac8ed48a3cdb8"><div class="ttname"><a href="swkbd_8h.html#a6f28aed150085612694ac8ed48a3cdb8">swkbdSetFilterCallback</a></div><div class="ttdeci">void swkbdSetFilterCallback(SwkbdState *swkbd, SwkbdCallbackFn callback, void *user)</div><div class="ttdoc">Configures a custom function to be used to check the validity of input when it is submitted in a soft...</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a790328be559c7d75558faa7a5b055d2c"><div class="ttname"><a href="swkbd_8h.html#a790328be559c7d75558faa7a5b055d2c">swkbdSetLearningData</a></div><div class="ttdeci">void swkbdSetLearningData(SwkbdState *swkbd, SwkbdLearningData *data, bool in, bool out)</div><div class="ttdoc">Configures software keyboard predictive input learning data management.</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a7ab5f470b1bde4cc7d8ea7336c078098"><div class="ttname"><a href="swkbd_8h.html#a7ab5f470b1bde4cc7d8ea7336c078098">swkbdSetFeatures</a></div><div class="ttdeci">void swkbdSetFeatures(SwkbdState *swkbd, u32 features)</div><div class="ttdoc">Specifies which special features are enabled in a software keyboard.</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a7abf5422dcf03764ffba1eaaca8c1653"><div class="ttname"><a href="swkbd_8h.html#a7abf5422dcf03764ffba1eaaca8c1653">swkbdSetDictWord</a></div><div class="ttdeci">void swkbdSetDictWord(SwkbdDictWord *word, const char *reading, const char *text)</div><div class="ttdoc">Configures a word in a predictive dictionary for use with a software keyboard.</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a7dddf239d1add2f4a68d79ca0e64c1b9aa2ec3ada05cfa6de081da8288635d110"><div class="ttname"><a href="swkbd_8h.html#a7dddf239d1add2f4a68d79ca0e64c1b9aa2ec3ada05cfa6de081da8288635d110">SWKBD_PASSWORD_HIDE_DELAY</a></div><div class="ttdeci">@ SWKBD_PASSWORD_HIDE_DELAY</div><div class="ttdoc">Characters are concealed a second after they've been typed.</div><div class="ttdef"><b>Definition:</b> swkbd.h:43</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a94b68f3e03958c2a609458641be484a2"><div class="ttname"><a href="swkbd_8h.html#a94b68f3e03958c2a609458641be484a2">swkbdSetPasswordMode</a></div><div class="ttdeci">static void swkbdSetPasswordMode(SwkbdState *swkbd, SwkbdPasswordMode mode)</div><div class="ttdoc">Configures password mode in a software keyboard.</div><div class="ttdef"><b>Definition:</b> swkbd.h:201</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a94ea720afdaf86a4be385aa913c6a29c"><div class="ttname"><a href="swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29c">SwkbdButton</a></div><div class="ttdeci">SwkbdButton</div><div class="ttdoc">Keyboard dialog buttons.</div><div class="ttdef"><b>Definition:</b> swkbd.h:30</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a94ea720afdaf86a4be385aa913c6a29ca04b5951221df3ade6e04447b590d1fd4"><div class="ttname"><a href="swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29ca04b5951221df3ade6e04447b590d1fd4">SWKBD_BUTTON_LEFT</a></div><div class="ttdeci">@ SWKBD_BUTTON_LEFT</div><div class="ttdoc">Left button (usually Cancel)</div><div class="ttdef"><b>Definition:</b> swkbd.h:31</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a94ea720afdaf86a4be385aa913c6a29ca2754579a6b7bf2b751751b5a9ca8c4b3"><div class="ttname"><a href="swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29ca2754579a6b7bf2b751751b5a9ca8c4b3">SWKBD_BUTTON_RIGHT</a></div><div class="ttdeci">@ SWKBD_BUTTON_RIGHT</div><div class="ttdoc">Right button (usually OK)</div><div class="ttdef"><b>Definition:</b> swkbd.h:33</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a94ea720afdaf86a4be385aa913c6a29ca7fbeb491bb84654eabad38826a00edd5"><div class="ttname"><a href="swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29ca7fbeb491bb84654eabad38826a00edd5">SWKBD_BUTTON_MIDDLE</a></div><div class="ttdeci">@ SWKBD_BUTTON_MIDDLE</div><div class="ttdoc">Middle button (usually I Forgot)</div><div class="ttdef"><b>Definition:</b> swkbd.h:32</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a94ea720afdaf86a4be385aa913c6a29caa7a4d5142a471089f281173d35f52675"><div class="ttname"><a href="swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29caa7a4d5142a471089f281173d35f52675">SWKBD_BUTTON_NONE</a></div><div class="ttdeci">@ SWKBD_BUTTON_NONE</div><div class="ttdoc">No button (returned by swkbdInputText in special cases)</div><div class="ttdef"><b>Definition:</b> swkbd.h:35</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a97006a5ab548ac7dc1db471286b157ba"><div class="ttname"><a href="swkbd_8h.html#a97006a5ab548ac7dc1db471286b157ba">swkbdSetStatusData</a></div><div class="ttdeci">void swkbdSetStatusData(SwkbdState *swkbd, SwkbdStatusData *data, bool in, bool out)</div><div class="ttdoc">Configures software keyboard internal status management.</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a98b664f7bc103e24ef0402e16bfc3dbf"><div class="ttname"><a href="swkbd_8h.html#a98b664f7bc103e24ef0402e16bfc3dbf">swkbdSetValidation</a></div><div class="ttdeci">static void swkbdSetValidation(SwkbdState *swkbd, SwkbdValidInput validInput, u32 filterFlags, int maxDigits)</div><div class="ttdoc">Configures input validation in a software keyboard.</div><div class="ttdef"><b>Definition:</b> swkbd.h:213</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a99fb83031ce9923c84392b4e92f956b5a241d66f1b98f9de0da217356d5b2e4bf"><div class="ttname"><a href="swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5a241d66f1b98f9de0da217356d5b2e4bf">SWKBD_FILTER_PROFANITY</a></div><div class="ttdeci">@ SWKBD_FILTER_PROFANITY</div><div class="ttdoc">Disallow profanity using Nintendo's profanity filter.</div><div class="ttdef"><b>Definition:</b> swkbd.h:53</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a99fb83031ce9923c84392b4e92f956b5a556df4c35b36612b092e414600e30eed"><div class="ttname"><a href="swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5a556df4c35b36612b092e414600e30eed">SWKBD_FILTER_AT</a></div><div class="ttdeci">@ SWKBD_FILTER_AT</div><div class="ttdoc">Disallow the use of the @ sign.</div><div class="ttdef"><b>Definition:</b> swkbd.h:50</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a99fb83031ce9923c84392b4e92f956b5a8385e631b1b3313c05a2f80097021af6"><div class="ttname"><a href="swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5a8385e631b1b3313c05a2f80097021af6">SWKBD_FILTER_BACKSLASH</a></div><div class="ttdeci">@ SWKBD_FILTER_BACKSLASH</div><div class="ttdoc">Disallow the use of the \ sign.</div><div class="ttdef"><b>Definition:</b> swkbd.h:52</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a99fb83031ce9923c84392b4e92f956b5aa03c93ae6d25484d672a409bec1c79ef"><div class="ttname"><a href="swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5aa03c93ae6d25484d672a409bec1c79ef">SWKBD_FILTER_DIGITS</a></div><div class="ttdeci">@ SWKBD_FILTER_DIGITS</div><div class="ttdoc">Disallow the use of more than a certain number of digits (0 or more)</div><div class="ttdef"><b>Definition:</b> swkbd.h:49</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a99fb83031ce9923c84392b4e92f956b5ab4a359ee3ad3a4394c186bd6ba676d37"><div class="ttname"><a href="swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5ab4a359ee3ad3a4394c186bd6ba676d37">SWKBD_FILTER_PERCENT</a></div><div class="ttdeci">@ SWKBD_FILTER_PERCENT</div><div class="ttdoc">Disallow the use of the % sign.</div><div class="ttdef"><b>Definition:</b> swkbd.h:51</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a9c2863f4e484d07ba6be8fdf84bb96a1a1caa32cefb6ab95f86a42b4dbd137feb"><div class="ttname"><a href="swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1a1caa32cefb6ab95f86a42b4dbd137feb">SWKBD_NOTEMPTY_NOTBLANK</a></div><div class="ttdeci">@ SWKBD_NOTEMPTY_NOTBLANK</div><div class="ttdoc">Empty or blank inputs (consisting solely of whitespace) are not accepted.</div><div class="ttdef"><b>Definition:</b> swkbd.h:22</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a9c2863f4e484d07ba6be8fdf84bb96a1adf5ca7a645dea83448551248be05bc35"><div class="ttname"><a href="swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1adf5ca7a645dea83448551248be05bc35">SWKBD_ANYTHING</a></div><div class="ttdeci">@ SWKBD_ANYTHING</div><div class="ttdoc">All inputs are accepted.</div><div class="ttdef"><b>Definition:</b> swkbd.h:20</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_a9fe63b706b3a5f4196e8a464db578d10"><div class="ttname"><a href="swkbd_8h.html#a9fe63b706b3a5f4196e8a464db578d10">swkbdGetResult</a></div><div class="ttdeci">static SwkbdResult swkbdGetResult(SwkbdState *swkbd)</div><div class="ttdoc">Retrieves the result condition of a software keyboard after it has been used.</div><div class="ttdef"><b>Definition:</b> swkbd.h:318</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_aa02a4a80747eb05ddb85235a0a41ee93"><div class="ttname"><a href="swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93">SwkbdResult</a></div><div class="ttdeci">SwkbdResult</div><div class="ttdoc">Keyboard return values.</div><div class="ttdef"><b>Definition:</b> swkbd.h:81</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_aa02a4a80747eb05ddb85235a0a41ee93a76e7d6d7ebf659dd635fb8ca4cfa919b"><div class="ttname"><a href="swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a76e7d6d7ebf659dd635fb8ca4cfa919b">SWKBD_RESETPRESSED</a></div><div class="ttdeci">@ SWKBD_RESETPRESSED</div><div class="ttdoc">The soft-reset key combination was pressed.</div><div class="ttdef"><b>Definition:</b> swkbd.h:94</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_aa02a4a80747eb05ddb85235a0a41ee93aa4458c14c72bfd33d3bd1c1c832bef00"><div class="ttname"><a href="swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93aa4458c14c72bfd33d3bd1c1c832bef00">SWKBD_POWERPRESSED</a></div><div class="ttdeci">@ SWKBD_POWERPRESSED</div><div class="ttdoc">The POWER button was pressed.</div><div class="ttdef"><b>Definition:</b> swkbd.h:95</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_aa02a4a80747eb05ddb85235a0a41ee93aac0b81dd3cf9855a464ae1429d4dde44"><div class="ttname"><a href="swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93aac0b81dd3cf9855a464ae1429d4dde44">SWKBD_HOMEPRESSED</a></div><div class="ttdeci">@ SWKBD_HOMEPRESSED</div><div class="ttdoc">The HOME button was pressed.</div><div class="ttdef"><b>Definition:</b> swkbd.h:93</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_ab50d59110e5920e1aba641b607900277"><div class="ttname"><a href="swkbd_8h.html#ab50d59110e5920e1aba641b607900277">swkbdSetHintText</a></div><div class="ttdeci">void swkbdSetHintText(SwkbdState *swkbd, const char *text)</div><div class="ttdoc">Sets the hint text of a software keyboard (that is, the help text that is displayed when the textbox ...</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_abc6126af1d45847bc59afa0aa3216b04a22cc81cb2524dbcedf88ecd51d6174e4"><div class="ttname"><a href="swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04a22cc81cb2524dbcedf88ecd51d6174e4">SWKBD_ALLOW_POWER</a></div><div class="ttdeci">@ SWKBD_ALLOW_POWER</div><div class="ttdoc">Allow the usage of the POWER button.</div><div class="ttdef"><b>Definition:</b> swkbd.h:67</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_abc6126af1d45847bc59afa0aa3216b04a82d4882b4e8e601e82dbf301be793e0e"><div class="ttname"><a href="swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04a82d4882b4e8e601e82dbf301be793e0e">SWKBD_ALLOW_RESET</a></div><div class="ttdeci">@ SWKBD_ALLOW_RESET</div><div class="ttdoc">Allow the usage of a software-reset combination.</div><div class="ttdef"><b>Definition:</b> swkbd.h:66</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_abc6126af1d45847bc59afa0aa3216b04aac6fa4f37d2db0c7ee8a0b247ebc2cf1"><div class="ttname"><a href="swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04aac6fa4f37d2db0c7ee8a0b247ebc2cf1">SWKBD_ALLOW_HOME</a></div><div class="ttdeci">@ SWKBD_ALLOW_HOME</div><div class="ttdoc">Allow the usage of the HOME button.</div><div class="ttdef"><b>Definition:</b> swkbd.h:65</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_abc6126af1d45847bc59afa0aa3216b04aae3631524844bce7fb3aceb10416391f"><div class="ttname"><a href="swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04aae3631524844bce7fb3aceb10416391f">SWKBD_FIXED_WIDTH</a></div><div class="ttdeci">@ SWKBD_FIXED_WIDTH</div><div class="ttdoc">Enable fixed-width mode.</div><div class="ttdef"><b>Definition:</b> swkbd.h:64</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_abc6126af1d45847bc59afa0aa3216b04ab38ff5f2098240b8fc288a0df7b41ac5"><div class="ttname"><a href="swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04ab38ff5f2098240b8fc288a0df7b41ac5">SWKBD_MULTILINE</a></div><div class="ttdeci">@ SWKBD_MULTILINE</div><div class="ttdoc">Enable multiline input.</div><div class="ttdef"><b>Definition:</b> swkbd.h:63</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_abc6126af1d45847bc59afa0aa3216b04ab7aec191ef2d5df62291a011f5c0a4e7"><div class="ttname"><a href="swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04ab7aec191ef2d5df62291a011f5c0a4e7">SWKBD_DARKEN_TOP_SCREEN</a></div><div class="ttdeci">@ SWKBD_DARKEN_TOP_SCREEN</div><div class="ttdoc">Darken the top screen when the keyboard is shown.</div><div class="ttdef"><b>Definition:</b> swkbd.h:61</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_abc6126af1d45847bc59afa0aa3216b04adf8b88dbe0a36d524a5cde8e7af45bd4"><div class="ttname"><a href="swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04adf8b88dbe0a36d524a5cde8e7af45bd4">SWKBD_PREDICTIVE_INPUT</a></div><div class="ttdeci">@ SWKBD_PREDICTIVE_INPUT</div><div class="ttdoc">Enable predictive input (necessary for Kanji input in JPN systems).</div><div class="ttdef"><b>Definition:</b> swkbd.h:62</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_ac3a6569aa3150430e729b328999561ed"><div class="ttname"><a href="swkbd_8h.html#ac3a6569aa3150430e729b328999561ed">swkbdInit</a></div><div class="ttdeci">void swkbdInit(SwkbdState *swkbd, SwkbdType type, int numButtons, int maxTextLength)</div><div class="ttdoc">Initializes software keyboard status.</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_ad00d7ebd131e5171fca3beddace66890"><div class="ttname"><a href="swkbd_8h.html#ad00d7ebd131e5171fca3beddace66890">swkbdSetNumpadKeys</a></div><div class="ttdeci">static void swkbdSetNumpadKeys(SwkbdState *swkbd, int left, int right)</div><div class="ttdoc">Configures what characters will the two bottom keys in a numpad produce.</div><div class="ttdef"><b>Definition:</b> swkbd.h:226</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_ad88d214560b9bbaf1391cc7013ab4387a09e29e270f59d0b17f06c8455d6a836c"><div class="ttname"><a href="swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387a09e29e270f59d0b17f06c8455d6a836c">SWKBD_TYPE_NORMAL</a></div><div class="ttdeci">@ SWKBD_TYPE_NORMAL</div><div class="ttdoc">Normal keyboard with several pages (QWERTY/accents/symbol/mobile)</div><div class="ttdef"><b>Definition:</b> swkbd.h:11</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_ad88d214560b9bbaf1391cc7013ab4387a0f871d4bbdd45581d73f4877fafdb002"><div class="ttname"><a href="swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387a0f871d4bbdd45581d73f4877fafdb002">SWKBD_TYPE_WESTERN</a></div><div class="ttdeci">@ SWKBD_TYPE_WESTERN</div><div class="ttdoc">On JPN systems, a text keyboard without Japanese input capabilities, otherwise same as SWKBD_TYPE_NOR...</div><div class="ttdef"><b>Definition:</b> swkbd.h:14</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_ad88d214560b9bbaf1391cc7013ab4387a5802f3a1eabee6305045ed5cd57ae5b9"><div class="ttname"><a href="swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387a5802f3a1eabee6305045ed5cd57ae5b9">SWKBD_TYPE_NUMPAD</a></div><div class="ttdeci">@ SWKBD_TYPE_NUMPAD</div><div class="ttdoc">Number pad.</div><div class="ttdef"><b>Definition:</b> swkbd.h:13</div></div>
|
|
<div class="ttc" id="aswkbd_8h_html_ad8c2bcf30bd16119cab4a58c15d85495"><div class="ttname"><a href="swkbd_8h.html#ad8c2bcf30bd16119cab4a58c15d85495">swkbdSetDictionary</a></div><div class="ttdeci">void swkbdSetDictionary(SwkbdState *swkbd, const SwkbdDictWord *dict, int wordCount)</div><div class="ttdoc">Sets the custom word dictionary to be used with the predictive input system of a software keyboard.</div></div>
|
|
<div class="ttc" id="atypes_8h_html_afaa62991928fb9fb18ff0db62a040aba"><div class="ttname"><a href="types_8h.html#afaa62991928fb9fb18ff0db62a040aba">u32</a></div><div class="ttdeci">uint32_t u32</div><div class="ttdoc">32-bit unsigned integer</div><div class="ttdef"><b>Definition:</b> types.h:23</div></div>
|
|
</div><!-- fragment --> </div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
|
|
</small></address>
|
|
</body>
|
|
</html>
|