ZealOS/docs/Doc/KeyDev.DD.html
TomAwezome 6b3fd2fecb Rename abs_addres to abs_address.
Update documentation/comments to rename addr, fun, var, stmt, blk, desc, reg, seg, ptr, dup, clus, val, and bttn, to address, function, variable, statement, block, description, register, segment, pointer, duplicate, cluster, value, and button, respectively.
2021-10-06 21:35:32 -04:00

47 lines
4.6 KiB
HTML
Executable file

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=US-ASCII">
<meta name="generator" content="ZealOS V1.01">
<style type="text/css">
body {background-color:#fef1f0;}
.cF0{color:#000000;background-color:#fef1f0;}
.cF1{color:#0148a4;background-color:#fef1f0;}
.cF2{color:#3b7901;background-color:#fef1f0;}
.cF3{color:#057c7e;background-color:#fef1f0;}
.cF4{color:#bb2020;background-color:#fef1f0;}
.cF5{color:#9e42ae;background-color:#fef1f0;}
.cF6{color:#b57901;background-color:#fef1f0;}
.cF7{color:#b2b6af;background-color:#fef1f0;}
.cF8{color:#555753;background-color:#fef1f0;}
.cF9{color:#678fbb;background-color:#fef1f0;}
.cFA{color:#82bc49;background-color:#fef1f0;}
.cFB{color:#0097a2;background-color:#fef1f0;}
.cFC{color:#e26a6a;background-color:#fef1f0;}
.cFD{color:#c671bc;background-color:#fef1f0;}
.cFE{color:#c7ab00;background-color:#fef1f0;}
.cFF{color:#fef1f0;background-color:#fef1f0;}
</style>
</head>
<body>
<pre style="font-family:monospace;font-size:12pt">
<a name="l1"></a><span class=cF0>The editor mostly stays in a </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/SerialDev/Message.CC.html#l170"><span class=cF4>KeyGet</span></a><span class=cF0>()/</span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KeyDev.CC.html#l1"><span class=cF4>PutKey</span></a><span class=cF0>() loop. The putkey portion is where keys are acted-upon. ZealOS has a chain
<a name="l2"></a>of putkey handlers in a </span><span class=cF4><u>Circular Queue</u></span><span class=cF0> with priorities. The highest priority handlers can choose to terminate handling,
<a name="l3"></a>otherwise, the keys get sent on down the chain.
<a name="l4"></a></span><span class=cF4>
<a name="l5"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KeyDev.CC.html#l81"><span class=cF4>KeyDevAdd</span></a><span class=cF0>() defines a putkey device with a priority. &quot;Device&quot; might be a misnomer. Currently, the following are defined:
<a name="l6"></a>
<a name="l7"></a>Priority Handler
<a name="l8"></a>---------- ---------
<a name="l9"></a></span><span class=cF2>0x20000000</span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/Home/HomeKeyPlugIns.CC.html#l11"><span class=cF4>MyPutKey</span></a><span class=cF0>() user handler
<a name="l10"></a></span><span class=cF2>0x40000000</span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KeyDev.CC.html#l124"><span class=cF4>KDInputFilterPutKey</span></a><span class=cF0>() for </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Job.CC.html#l580"><span class=cF4>In</span></a><span class=cF0>(), </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Job.CC.html#l561"><span class=cF4>InStr</span></a><span class=cF0>(), and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/Job.CC.html#l572"><span class=cF4>InFile</span></a><span class=cF0>() handling.
<a name="l11"></a></span><span class=cF2>0x60000000</span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KeyDev.CC.html#l99"><span class=cF4>KDRawPutKey</span></a><span class=cF0>() nonwindowed direct to video mem debug output.
<a name="l12"></a></span><span class=cF2>0x80000000</span><span class=cF0> </span><a href="https://zeal-operating-system.github.io/ZealOS/System/DolDoc/DocPutKey.CC.html#l948"><span class=cF4>KDDocPutKey</span></a><span class=cF0>() standard document cmds
<a name="l13"></a>
<a name="l14"></a>Since handling individual keys is slow, ZealOS supports PutS() as well. If no puts handler is defined, individual keys are
<a name="l15"></a>sent.
<a name="l16"></a></span><span class=cF4>
<a name="l17"></a></span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>CDoc</span></a><span class=cF2>.user_put_key</span><span class=cF0> and </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>CDoc</span></a><span class=cF2>.user_put_s</span><span class=cF0> are call back routines which offer some neat tricks. See </span><a href="https://zeal-operating-system.github.io/ZealOS/Apps/Psalmody/JukeBox.CC.html#l1"><span class=cF4>::/Apps/Psalmody/JukeBox.CC</span></a><span class=cF0>.
<a name="l18"></a>There is a variable </span><a href="https://zeal-operating-system.github.io/ZealOS/Kernel/KernelA.HH.html#l1502"><span class=cF4>CDoc</span></a><span class=cF2>.user_put_data</span><span class=cF0> which gets passed to them.
</span></pre></body>
</html>