15 Commits

Author SHA1 Message Date
ysangkok
9754f71c16 docs: add xkbcommon build instructions to README
libxkbcommon still has no public release so most distributions do not ship
it. This adds short build-instructions for people who still want to test
it.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-04 22:12:57 +02:00
David Herrmann
ed8c730f99 Update README
Update dependency and configuration information.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-08-11 15:17:47 +02:00
David Herrmann
895eaaa218 Update README
Fix the dependency information and add several TODO notes.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-07-01 20:26:30 +02:00
David Herrmann
1648c9101b Update README
Fix some small typos and add TODOs.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-03-27 16:48:27 +02:00
Ran Benita
510e53376a kbd: add a new "dumb" keyboard backend
This commit adds a very simple keyboard backend which does basic keycode
interpretation. It is used as a fallback when xkbcommon is unavailable
or is not required.

See the file header for what is supported.

Signed-off-by: Ran Benita <ran234@gmail.com>
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-01-28 12:28:19 +01:00
Ran Benita
83dd9a6cfa build: depend on xproto explicitly
Currently it's required by xkbcommon. However, we will need it for other
backends as well, even with xkbcommon support disabled.

xproto consisted only of static header files. We use the XK_ keysym
definitions. It is therefore only required during compilation and we
shouldn't needlessly duplicate it ourselves.

Signed-off-by: Ran Benita <ran234@gmail.com>
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-01-28 12:20:04 +01:00
David Herrmann
5dbeb1474b Update README to include new dependencies
Rework dependency list and also add new configure flags.
We also update the subsystem list.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-01-01 23:39:23 +01:00
Ran Benita
6e301a9af3 input: use libxkbcommon to convert input events
This commit introduces a new kmscon_input_event structure which is
delivered to the input consumer. The information provided is
- The evdev scancode (=physical keyboard key).
- The X keysym (a symbol representing what the typist really intended).
- The active modifiers (e.g. Shift, Control..)
- The unicode (UCS-4) value, when it makes sense.

To achieve this we add two dependencies:
- libxkbcommon (this entails xproto and kbproto, but shouldn't bring any of
  big X dependencies)
- A function to translate keysyms to unicode values (taken from xlib,
  copied in-tree).

libxkbcommon is not an all-around solution, and requires various degrees
of supporting code, depending on how much we wish to support. This
commit implements the common, basic uses:
- Choosing layouts, variants and options
- Switching groups
- Switching shift-levels
- Setting modifiers
Though some stuff is missing. Further information in the comments.

test_input.c is updated to use the new input event interface. You can
change the layouts in input.c:init_input() and see what works and what
doesn't.

Signed-off-by: Ran Benita <ran234@gmail.com>
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2011-12-31 16:18:29 +01:00
David Herrmann
92de8f3f12 Add Ran Benita to authors list
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2011-12-31 12:46:15 +01:00
Ran Benita
33afda8421 input: add infrastructure for an input subsystem
This does all the boring stuff for an input subsystem:
- Input device discovery using udev
- Input device hotplug (add/remove)
- Reading the evdev data from the devices
- Publishing input events to a callback through the eloop
- Suspending and resuming the input capture

Currently the delivered input events are basically just evdev's
"struct input_event" (type, code, value). More work is required to
have it pass out useful data.

Signed-off-by: Ran Benita <ran234@gmail.com>
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2011-12-30 18:07:23 +01:00
David Herrmann
ca409fb0c5 Update documentation about autotools
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2011-12-02 13:31:12 +01:00
David Herrmann
0d1acc526f Change license to MIT license
Further commits will need a Signed-off-by line, otherwise I cannot accept them.
MIT license is compatible with GPL so we still can switch to GPL in the future
if we want.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2011-12-02 13:23:22 +01:00
David Herrmann
a33f9f589c Add pango dependency
We use pango to draw fonts. This requires glib and cairo support, too.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2011-11-26 15:29:39 +01:00
David Herrmann
8cd898bb58 Add console subsystem to README
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2011-11-20 17:58:32 +01:00
David Herrmann
fca8681dfc New kmscon project
The kmscon application is a terminal emulator which runs on a native linux DRI
device. It uses linux KMS and DRI to get a working OpenGL context without the
need of an X-Server, Wayland or similar.

It is an attempt to replace the in-kernel VT emulator with a full userspace
console.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2011-11-19 23:05:38 +01:00