Difference between revisions of "Linux driver for FPGA controlled keyboards"

From ArmadeusWiki
Jump to: navigation, search
(PAGE UNDER CONSTRUCTION !!!)
m (Use "Under Construction" Template)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== PAGE UNDER CONSTRUCTION !!! ==
+
{{Under Construction}}
[[Image:Construction.png]]
+
  
 
==Introduction==
 
==Introduction==
Line 6: Line 5:
 
* [[PS/2]]
 
* [[PS/2]]
 
* Home made matrix keyboards
 
* Home made matrix keyboards
The driver is currently named '''apf9328ps2''' but this will be changed soon to reflect its generic capability. Indeed all specific logic is done in FPGA IP.
+
The driver is currently named '''apf9328ps2''' but this will be changed soon (or later ;-) ) to reflect its generic capability. Indeed all specific logic is done in the FPGA IP and the exported interface can be standardized.
  
 
==Installation==
 
==Installation==
If not already done in standard Armadeus rootfs:
+
Now installed by default for APF9328 rootfs (since armadeus-3.0). Not supported on APF27 yet.
$ make linux-menuconfig
+
Device Drivers  ---> Input device support  ---> [*]  Keyboards  ---> <*>  AT keyboard
+
then
+
Device Drivers  ---> Armadeus specific drivers  ---> <M>  Armadeus PS/2 driver
+
  
Reflash rootfs then:
+
==Usage==
 +
<pre class="apf">
 
  # modprobe apf9328ps2
 
  # modprobe apf9328ps2
 
  input: AT Raw Set 2 keyboard as /class/input/input0
 
  input: AT Raw Set 2 keyboard as /class/input/input0
 
  Armadeus PS/2: APF9328KBD AT adapter OK!
 
  Armadeus PS/2: APF9328KBD AT adapter OK!
 +
</pre>
  
==Test==
 
 
* If you have a graphical LCD connected to your board (= virtual terminal), then you should see what you type.
 
* If you have a graphical LCD connected to your board (= virtual terminal), then you should see what you type.
* If you don't have any virtual terminal, but only the serial console:
+
* If you don't have any virtual terminal, but only the serial console, you can do a quick test with:
# cat /sys/class/input/input0/event0/dev
+
<pre class="apf">
13:64
+
If corresponding device node in /dev/input/ is not existing, then:
+
# mkdir -p /dev/input
+
# mknod /dev/input/event0 c 13 64
+
 
+
 
  # cat /dev/input/event0
 
  # cat /dev/input/event0
Then you should see weirds characters when pressing keyboard keys:
+
</pre>
 +
Then you should see weirds characters when pressing the keyboard keys:
 +
<pre class="apf">
 
  �,~~_�,}�}�3T,QToT6,TT�,�;��, � �
 
  �,~~_�,}�}�3T,QToT6,TT�,�;��, � �
 +
</pre>
  
==Usage==
+
==Keymap==
 +
* To change keyboard keymap (by default qwerty one):
 +
<pre class="apf">
 +
# loadkmap < /etc/i18n/fr.kmap
 +
</pre>

Latest revision as of 10:25, 5 August 2009

Page under construction... Construction.png Informations on this page are not guaranteed !!

Introduction

This driver is intented to control FPGA IPs connected to numerous hardware keyboards like:

  • PS/2
  • Home made matrix keyboards

The driver is currently named apf9328ps2 but this will be changed soon (or later ;-) ) to reflect its generic capability. Indeed all specific logic is done in the FPGA IP and the exported interface can be standardized.

Installation

Now installed by default for APF9328 rootfs (since armadeus-3.0). Not supported on APF27 yet.

Usage

 # modprobe apf9328ps2
 input: AT Raw Set 2 keyboard as /class/input/input0
 Armadeus PS/2: APF9328KBD AT adapter OK!
  • If you have a graphical LCD connected to your board (= virtual terminal), then you should see what you type.
  • If you don't have any virtual terminal, but only the serial console, you can do a quick test with:
 # cat /dev/input/event0

Then you should see weirds characters when pressing the keyboard keys:

 �,~~_�,}�}�3T,QToT6,TT�,�;��, � �

Keymap

  • To change keyboard keymap (by default qwerty one):
 # loadkmap < /etc/i18n/fr.kmap