Tags:
view all tags
%DASHBOARD{ section="dashboard_start" }% %DASHBOARD{ section="banner" image="%PUBURLPATH%/Cosmac/RaspiElf/raspi-elfmemcard-s.jpg" title="!RaspiElf Keypad" titlestyle="color:#F00000;" }% %DASHBOARD{ section="box_start" title="Intro" width="485" height="200"}% The Elf Membership Card has 8 data switches, 3 mode switches, and a IN push button on its front panel. The data is displayed on 8 LEDs (binary). It is a error prone but educational task to "switch in" in (load) the program. I have an old external keypad because my old notebook did not have a numeric keypad. The keys looks similar to those old Elf hex keypads, why not use this spare keypad for the Elf Membership Card? It is a Cherry keyboard and I have other Cherry keyboard with the same key caps. %DASHBOARD{ section="box_end" }% %DASHBOARD{ section="box_start" title="Contents" width="460" height="200"}% %TOC% %DASHBOARD{ section="box_end" }% %DASHBOARD{ section="box_start" width="992" height="400" }% ---+ Hardware | %IMAGE{"%PUBURLPATH%/Cosmac/RaspiElfKeypad/gal_2000_G84-4700_2_persp.jpg" type="thumb" caption="Cherry Keypad G84-4700, original key caps"}% \ | %IMAGE{"%PUBURLPATH%/Cosmac/RaspiElfDisplay/LED_module.jpg" type="thumb" caption="LTP-305 Dot Matrix Display"}% \ | %IMAGE{"%PUBURLPATH%/Cosmac/RaspiElfDisplay/Microdot_pHAT.jpg" type="thumb" caption="Microdot_pHAT on Raspberry Pi Zero"}% | %DASHBOARD{ section="box_end" }% %DASHBOARD{ section="box_start" width="992" height="600" }% ---+ Software for the Raspberry Pi No special software needed. Keyboard drivers are already built in. * Linux Keycode Table http://www.comptechdoc.org/os/linux/howlinuxworks/linux_hlkeycodes.html * http://xahlee.info/linux/linux_keyboard_tools.html * https://wiki.archlinux.org/index.php/Map_scancodes_to_keycodes Mapping scancodes to keycodes is universal and not specific to Linux console or Xorg, which means that changes to this mapping will be effective in both. <pre> pi@cosmac:~/elf/RaspiElf/tools $ <b>udevadm info /dev/input/by-path/*-usb-*-kbd</b> P: /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:046A:0014.0002/input/input1/event0 N: input/event0 S: input/by-id/usb-046a_0014-event-kbd S: input/by-path/platform-3f980000.usb-usb-0:1.2:1.0-event-kbd E: BACKSPACE=guess E: DEVLINKS=/dev/input/by-id/usb-046a_0014-event-kbd /dev/input/by-path/platform-3f980000.usb-usb-0:1.2:1.0-event-kbd E: DEVNAME=/dev/input/event0 E: DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:046A:0014.0002/input/input1/event0 E: ID_BUS=usb E: ID_INPUT=1 E: ID_INPUT_KEY=1 E: ID_INPUT_KEYBOARD=1 E: ID_MODEL=<em>0014</em> E: ID_MODEL_ENC=0014 E: ID_MODEL_ID=0014 E: ID_PATH=platform-3f980000.usb-usb-0:1.2:1.0 E: ID_PATH_TAG=platform-3f980000_usb-usb-0_1_2_1_0 E: ID_REVISION=0100 E: ID_SERIAL=046a_0014 E: ID_TYPE=hid E: ID_USB_DRIVER=usbhid E: ID_USB_INTERFACES=:030101: E: ID_USB_INTERFACE_NUM=00 E: ID_VENDOR=<em>046a</em> E: ID_VENDOR_ENC=046a E: ID_VENDOR_ID=046a E: MAJOR=13 E: MINOR=64 E: SUBSYSTEM=input E: USEC_INITIALIZED=69042133468 E: XKBLAYOUT=gb E: XKBMODEL=pc105 </pre> showkey --scancodes evdev:input:b<bus_id>v<vendor_id>p<product_id>e<version_id>-<modalias> File =/etc/udev/hwdb.d/10-hexkeypad.hwdb= <pre> evdev:input:b*v046ap0014* # ML4700 KEYBOARD_KEY_45=a # bind numlock to A KEYBOARD_KEY_62=b # bind / to B KEYBOARD_KEY_37=c # bind * to C KEYBOARD_KEY_01=d # bind ESC to D KEYBOARD_KEY_1d=e # bind Ctrl to E KEYBOARD_KEY_38=f # bind Alt to F </pre> <pre> pi@cosmac:~ $ <b>ls -l /dev/input/by-id/</b> total 0 lrwxrwxrwx 1 root root 9 May 14 20:23 usb-046a_0014-event-kbd -> ../event0 pi@cosmac:~ $ <b>ls -l /dev/input/by-path/</b> total 0 lrwxrwxrwx 1 root root 9 May 14 20:23 platform-3f980000.usb-usb-0:1.4:1.0-event-kbd -> ../event0 pi@cosmac:~ $ <b>ls -l /dev/input/event0</b> crw-rw---- 1 root input 13, 64 May 14 20:23 /dev/input/event0 </pre> <pre> pi@cosmac:~ $ <b>cat /dev/input/event0 | hexdump -C</b> ESC 00008010 cb d9 f9 5a cc fd 04 00 04 00 04 00 29 00 07 00 |...Z........)...| 00008020 cb d9 f9 5a cc fd 04 00 01 00 <b>01</b> 00 01 00 00 00 |...Z............| 00008030 cb d9 f9 5a cc fd 04 00 00 00 00 00 00 00 00 00 |...Z............| 00008040 cb d9 f9 5a b8 7a 05 00 04 00 04 00 29 00 07 00 |...Z.z......)...| 00008050 cb d9 f9 5a b8 7a 05 00 01 00 01 00 00 00 00 00 |...Z.z..........| 00008060 cb d9 f9 5a b8 7a 05 00 00 00 00 00 00 00 00 00 |...Z.z..........| Ctrl 00008070 cf d9 f9 5a 66 55 06 00 04 00 04 00 e0 00 07 00 |...ZfU..........| 00008080 cf d9 f9 5a 66 55 06 00 01 00 <b>1d</b> 00 01 00 00 00 |...ZfU..........| 00008090 cf d9 f9 5a 66 55 06 00 00 00 00 00 00 00 00 00 |...ZfU..........| 000080a0 cf d9 f9 5a 94 f1 06 00 04 00 04 00 e0 00 07 00 |...Z............| 000080b0 cf d9 f9 5a 94 f1 06 00 01 00 1d 00 00 00 00 00 |...Z............| 000080c0 cf d9 f9 5a 94 f1 06 00 00 00 00 00 00 00 00 00 |...Z............| </pre> %DASHBOARD{ section="box_end" }% %DASHBOARD{ section="box_start" width="992" height="120" }% ---+ How to get and build the RaspiElf Keypad/Display Software The =elfdisplay= is part of the tools package. See RaspiElf#How_to_get_and_build_the_RaspiEl %DASHBOARD{ section="box_end" }% %DASHBOARD{ section="box_start" width="992" height="600" }% ---+ Sample session %DASHBOARD{ section="box_end" }% %DASHBOARD{ section="dashboard_end" }% -- %USERSIG{PeterSchmid - 2018-05-03}% ---++!! Comments
Attachments
Attachments
Topic attachments
I
Attachment
History
Action
Size
Date
Who
Comment
jpg
gal_2000_G84-4700_2_persp.jpg
r1
manage
88.8 K
2018-05-09 - 21:36
PeterSchmid
Edit
|
Attach
|
Watch
|
P
rint version
|
H
istory
:
r12
|
r8
<
r7
<
r6
<
r5
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r6 - 2018-05-14
-
PeterSchmid
Home
Site map
Cosmac web
MRR web
MecrispCube web
SuperRandonnee web
TWiki web
Ursula web
Velo web
Cosmac Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
Edit
Attach
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback