How to add an OPAC screen keyboard
From Koha Wiki
The screen keyboard can be added to Koha's OPAC without changing any files. It's done by using system preferences only.
Examples
OpacUserJs
var target = ""; function screenKb(character) { target.value+=character; var r = target.createTextRange(); r.moveStart('character', target.value.length); r.select(); } $(document).ready(function(){ $("input").focus(function(){target = this;}); });
OpacUserCss
#screenKb td:hover { background-color:#EFF5FB; }
OpacHeader
You can create a table with every script and all characters you can think of.
Remove dir="rtl" from the table tag for LTR scripts.
<span id="screenKb_img" onclick="$('#screenKb').show();$('#screenKb_img').hide();" style="position:fixed; top:3px; left:3px;"> <img src="/opac-tmpl/prog/famfamfam/silk/keyboard.png" /> Hebrew Screen Keyboard </span> <table id="screenKb" dir="rtl" style="display:none; position:fixed; top:5px; left:5px;"> <tr> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('א');">א</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ב');">ב</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ג');">ג</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ד');">ד</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ה');">ה</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ו');">ו</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ז');">ז</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ח');">ח</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ט');">ט</td> </tr> <tr> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('י');">י</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('כ');">כ</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ך');">ך</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ל');">ל</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('מ');">מ</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ם');">ם</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('נ');">נ</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ן');">ן</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ס');">ס</td> </tr> <tr> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ע');">ע</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('פ');">פ</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ף');">ף</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('צ');">צ</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ץ');">ץ</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ק');">ק</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ר');">ר</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ש');">ש</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('ת');">ת</td> </tr> <tr> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('"');">"</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb(',');">,</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb('-');">-</td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb(':');">:</td> <td class="keyboard"></td> <td class="keyboard" ondblclick="this.click()" onclick="screenKb(' ');">␣</td> <td class="keyboard"></td> <td class="keyboard"></td> <td class="keyboard" ondblclick="this.click()" onclick="$('#screenKb').hide();$('#screenKb_img').show();" <strong style="color:red">X</strong> </td> </tr> </table>