Adding layouts support.

This commit is contained in:
Christoph Lohmann 2011-03-24 19:31:00 +01:00
parent 76a8bc5c3c
commit 4ab83f9dfc
6 changed files with 182 additions and 77 deletions

View File

@ -13,10 +13,11 @@ options:
@echo "CFLAGS = ${CFLAGS}"
@echo "LDFLAGS = ${LDFLAGS}"
@echo "CC = ${CC}"
@echo "LAYOUT = ${LAYOUT}"
.c.o:
@echo CC $<
@${CC} -c ${CFLAGS} $<
@${CC} ${CPPFLAGS} -c ${CFLAGS} $<
${OBJ}: config.h config.mk
@ -36,7 +37,7 @@ dist: clean
@echo creating dist tarball
@mkdir -p svkbd-${VERSION}
@cp -R LICENSE Makefile README config.def.h config.mk \
${SRC} svkbd-${VERSION}
${SRC} layouts svkbd-${VERSION}
@tar -cf svkbd-${VERSION}.tar svkbd-${VERSION}
@gzip svkbd-${VERSION}.tar
@rm -rf svkbd-${VERSION}

View File

@ -6,76 +6,3 @@ static const char hovfgcolor[] = "#000000";
static const char pressbgcolor[] = "#0000cc";
static const char pressfgcolor[] = "#ffffff";
static int wh = 200;
static int ww = 0;
static int wx = 0;
static int wy = -200;
static Key keys[] = {
{ "1!", XK_1, 1 },
{ "2@", XK_2, 1 },
{ "3#", XK_3, 1 },
{ "4$", XK_4, 1 },
{ "5%", XK_5, 1 },
{ "6^", XK_6, 1 },
{ "7&", XK_7, 1 },
{ "8*", XK_8, 1 },
{ "9(", XK_9, 1 },
{ "0)", XK_0, 1 },
{ "-_", XK_minus, 1 },
{ "=+", XK_plus, 1 },
{ "<-", XK_BackSpace, 2 },
{ 0 }, /* New row */
{ "->|", XK_Tab, 1 },
{ 0, XK_q, 1 },
{ 0, XK_w, 1 },
{ 0, XK_e, 1 },
{ 0, XK_r, 1 },
{ 0, XK_t, 1 },
{ 0, XK_y, 1 },
{ 0, XK_u, 1 },
{ 0, XK_i, 1 },
{ 0, XK_o, 1 },
{ 0, XK_p, 1 },
{ "[", XK_bracketleft, 1 },
{ "]", XK_bracketright, 1 },
{ "Return", XK_Return, 3 },
{ 0 }, /* New row */
{ 0, XK_Caps_Lock, 2 },
{ 0, XK_a, 1 },
{ 0, XK_s, 1 },
{ 0, XK_d, 1 },
{ 0, XK_f, 1 },
{ 0, XK_g, 1 },
{ 0, XK_h, 1 },
{ 0, XK_j, 1 },
{ 0, XK_k, 1 },
{ 0, XK_l, 1 },
{ ":;", XK_semicolon, 1 },
{ "'\"", XK_exclam, 1 },
{ "\\|", XK_backslash, 1 },
{ 0 }, /* New row */
{ 0, XK_Shift_L, 3 },
{ 0, XK_z, 1 },
{ 0, XK_x, 1 },
{ 0, XK_c, 1 },
{ 0, XK_v, 1 },
{ 0, XK_b, 1 },
{ 0, XK_n, 1 },
{ 0, XK_m, 1 },
{ ",", XK_colon, 1 },
{ ".", XK_period, 1 },
{ "/?", XK_slash, 1 },
{ 0, XK_Shift_R, 2 },
{ 0 }, /* New row */
{ "Ctrl", XK_Control_L, 2 },
{ "Alt", XK_Alt_L, 2 },
{ "", XK_space, 5 },
{ "Alt", XK_Alt_R, 2 },
{ "Ctrl", XK_Control_R, 2 },
};
Buttonmod buttonmods[] = {
{ XK_Shift_L, Button2 },
{ XK_Alt_L, Button3 },
};

View File

@ -1,6 +1,8 @@
# svkbd version
VERSION = 0.1
LAYOUT?=def
# Customize below to fit your system
# paths
@ -11,11 +13,13 @@ X11INC = /usr/X11R6/include
X11LIB = /usr/X11R6/lib
# includes and libs
INCS = -I. -I/usr/include -I${X11INC}
INCS = -I. -I./layouts -I/usr/include -I${X11INC}
LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 -lXtst
# flags
CPPFLAGS = -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS}
CPPFLAGS = -DVERSION=\"${VERSION}\" \
-DCONFIGLAYOUT_H=\"layout.${LAYOUT}.h\" \
${XINERAMAFLAGS}
CFLAGS = -g -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
LDFLAGS = -g ${LIBS}
@ -25,3 +29,4 @@ LDFLAGS = -g ${LIBS}
# compiler and linker
CC = cc

20
layouts/layout.arrows.h Normal file
View File

@ -0,0 +1,20 @@
static int wh = 30;
static int ww = 0;
static int wx = 0;
static int wy = -30;
static Key keys[] = {
{ 0, XK_Shift_L, 2 },
{ "", XK_Left, 1 },
{ "", XK_Down, 1 },
{ "", XK_Up, 1 },
{ "", XK_Right, 1},
{ "Alt", XK_Alt_L, 2 },
};
Buttonmod buttonmods[] = {
{ XK_Shift_L, Button2 },
{ XK_Alt_L, Button3 },
};

78
layouts/layout.de.h Normal file
View File

@ -0,0 +1,78 @@
static int wh = 200;
static int ww = 0;
static int wx = 0;
static int wy = -200;
static Key keys[] = {
{ "^°′", XK_dead_circumflex, 1},
{ "1!¹", XK_1, 1 },
{ "2\"²", XK_2, 1 },
{ "3§³", XK_3, 1 },
{ "4$¼", XK_4, 1 },
{ "5%½", XK_5, 1 },
{ "6&¬", XK_6, 1 },
{ "7/{", XK_7, 1 },
{ "8([", XK_8, 1 },
{ "9)]", XK_9, 1 },
{ "0=}", XK_0, 1 },
{ "ß?\\", XK_ssharp, 1 },
{ "´`¸", XK_dead_acute, 1 },
{ "<-", XK_BackSpace, 2 },
{ 0 }, /* New row */
{ "->|", XK_Tab, 1 },
{ "qQ@", XK_q, 1 },
{ "wWł", XK_w, 1 },
{ "eE€", XK_e, 1 },
{ "rR¶", XK_r, 1 },
{ "tTŧ", XK_t, 1 },
{ "zZ←", XK_z, 1 },
{ "uU↓", XK_u, 1 },
{ "iI→", XK_i, 1 },
{ "oOø", XK_o, 1 },
{ "pPþ", XK_p, 1 },
{ "üܨ", 0xfc, 1 },
{ "+*~", XK_plus, 1 },
{ "Return", XK_Return, 3 },
{ 0 }, /* New row */
{ 0, XK_Caps_Lock, 2 },
{ "aAæ", XK_a, 1 },
{ "sSſ", XK_s, 1 },
{ "dDð", XK_d, 1 },
{ "fFđ", XK_f, 1 },
{ "gGŋ", XK_g, 1 },
{ "hHħ", XK_h, 1 },
{ "jJ̣̣", XK_j, 1 },
{ "kKĸ", XK_k, 1 },
{ "lLł", XK_l, 1 },
{ "öÖ˝", 0xf6, 1 },
{ "äÄ^", 0xe4, 1 },
{ "#'", XK_numbersign, 1 },
{ 0 }, /* New row */
{ 0, XK_Shift_L, 2 },
{ "<>|", XK_less, 1 },
{ "yY»", XK_y, 1 },
{ "xX«", XK_x, 1 },
{ "cC¢", XK_c, 1 },
{ "vV„", XK_v, 1 },
{ "bB“", XK_b, 1 },
{ "nN”", XK_n, 1 },
{ "mMµ", XK_m, 1 },
{ ",;·", XK_comma, 1 },
{ ".:…", XK_period, 1 },
{ "-_", XK_minus, 1 },
{ 0, XK_Shift_R, 2 },
{ 0 }, /* New row */
{ "Ctrl", XK_Control_L, 2 },
{ "Win", XK_Super_L, 2 },
{ "Alt", XK_Alt_L, 2 },
{ "", XK_space, 5 },
{ "Alt Gr", XK_ISO_Level3_Shift, 2 },
{ "Menu", XK_Menu, 2 },
{ "Ctrl", XK_Control_R, 2 },
};
Buttonmod buttonmods[] = {
{ XK_Shift_L, Button2 },
{ XK_Alt_L, Button3 },
};

74
layouts/layout.def.h Normal file
View File

@ -0,0 +1,74 @@
static int wh = 200;
static int ww = 0;
static int wx = 0;
static int wy = -200;
static Key keys[] = {
{ "1!", XK_1, 1 },
{ "2@", XK_2, 1 },
{ "3#", XK_3, 1 },
{ "4$", XK_4, 1 },
{ "5%", XK_5, 1 },
{ "6^", XK_6, 1 },
{ "7&", XK_7, 1 },
{ "8*", XK_8, 1 },
{ "9(", XK_9, 1 },
{ "0)", XK_0, 1 },
{ "-_", XK_minus, 1 },
{ "=+", XK_plus, 1 },
{ "<-", XK_BackSpace, 2 },
{ 0 }, /* New row */
{ "->|", XK_Tab, 1 },
{ 0, XK_q, 1 },
{ 0, XK_w, 1 },
{ 0, XK_e, 1 },
{ 0, XK_r, 1 },
{ 0, XK_t, 1 },
{ 0, XK_y, 1 },
{ 0, XK_u, 1 },
{ 0, XK_i, 1 },
{ 0, XK_o, 1 },
{ 0, XK_p, 1 },
{ "[", XK_bracketleft, 1 },
{ "]", XK_bracketright, 1 },
{ "Return", XK_Return, 3 },
{ 0 }, /* New row */
{ 0, XK_Caps_Lock, 2 },
{ 0, XK_a, 1 },
{ 0, XK_s, 1 },
{ 0, XK_d, 1 },
{ 0, XK_f, 1 },
{ 0, XK_g, 1 },
{ 0, XK_h, 1 },
{ 0, XK_j, 1 },
{ 0, XK_k, 1 },
{ 0, XK_l, 1 },
{ ":;", XK_semicolon, 1 },
{ "'\"", XK_exclam, 1 },
{ "\\|", XK_backslash, 1 },
{ 0 }, /* New row */
{ 0, XK_Shift_L, 3 },
{ 0, XK_z, 1 },
{ 0, XK_x, 1 },
{ 0, XK_c, 1 },
{ 0, XK_v, 1 },
{ 0, XK_b, 1 },
{ 0, XK_n, 1 },
{ 0, XK_m, 1 },
{ ",", XK_colon, 1 },
{ ".", XK_period, 1 },
{ "/?", XK_slash, 1 },
{ 0, XK_Shift_R, 2 },
{ 0 }, /* New row */
{ "Ctrl", XK_Control_L, 2 },
{ "Alt", XK_Alt_L, 2 },
{ "", XK_space, 5 },
{ "Alt", XK_Alt_R, 2 },
{ "Ctrl", XK_Control_R, 2 },
};
Buttonmod buttonmods[] = {
{ XK_Shift_L, Button2 },
{ XK_Alt_L, Button3 },
};