added dev.c instead of kb.c

keyboard
Anselm R. Garbe 19 years ago
parent 3f942f9e79
commit 44f2e8b952
  1. 2
      Makefile
  2. 2
      README
  3. 55
      dev.c
  4. 60
      kb.c
  5. 4
      wm.h

@ -3,7 +3,7 @@
include config.mk include config.mk
SRC = client.c draw.c event.c kb.c mouse.c util.c wm.c SRC = client.c dev.c draw.c event.c util.c wm.c
OBJ = ${SRC:.c=.o} OBJ = ${SRC:.c=.o}
MAN1 = dwm.1 MAN1 = dwm.1
BIN = dwm BIN = dwm

@ -37,4 +37,4 @@ This will start dwm on display :1 of the host foo.bar.
Configuration Configuration
------------- -------------
The configuration of dwm is done by customizing the wm.h source file. To The configuration of dwm is done by customizing the wm.h source file. To
customize the key bindings edit kb.c. customize the key bindings edit dev.c.

@ -3,11 +3,64 @@
* See LICENSE file for license details. * See LICENSE file for license details.
*/ */
#include "wm.h"
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <unistd.h> #include <unistd.h>
#include <X11/keysym.h>
#include "wm.h" /********** CUSTOMIZE **********/
const char *term[] = {
"aterm", "-tr", "+sb", "-bg", "black", "-fg", "white", "-fn",
"-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*",NULL
};
const char *browse[] = { "firefox", NULL };
static Key key[] = {
{ Mod1Mask, XK_Return, (void (*)(void *))spawn, term },
{ Mod1Mask, XK_w, (void (*)(void *))spawn, browse },
{ Mod1Mask, XK_k, sel, "prev" },
{ Mod1Mask, XK_j, sel, "next" },
{ Mod1Mask, XK_space, toggle, NULL },
{ Mod1Mask, XK_m, max, NULL },
{ Mod1Mask | ShiftMask, XK_c, ckill, NULL },
{ Mod1Mask | ShiftMask, XK_q, quit, NULL },
};
/********** CUSTOMIZE **********/
void
update_keys(void)
{
unsigned int i, len;
KeyCode code;
len = sizeof(key) / sizeof(key[0]);
for(i = 0; i < len; i++) {
code = XKeysymToKeycode(dpy, key[i].keysym);
XUngrabKey(dpy, code, key[i].mod, root);
XGrabKey(dpy, code, key[i].mod, root, True, GrabModeAsync, GrabModeAsync);
}
}
void
keypress(XEvent *e)
{
XKeyEvent *ev = &e->xkey;
unsigned int i, len;
KeySym keysym;
keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0);
len = sizeof(key) / sizeof(key[0]);
for(i = 0; i < len; i++)
if((keysym == key[i].keysym) && (key[i].mod == ev->state)) {
if(key[i].func)
key[i].func(key[i].aux);
return;
}
}
#define ButtonMask (ButtonPressMask | ButtonReleaseMask) #define ButtonMask (ButtonPressMask | ButtonReleaseMask)
#define MouseMask (ButtonMask | PointerMotionMask) #define MouseMask (ButtonMask | PointerMotionMask)

60
kb.c

@ -1,60 +0,0 @@
/*
* (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
* See LICENSE file for license details.
*/
#include "wm.h"
#include <X11/keysym.h>
/********** CUSTOMIZE **********/
const char *term[] = {
"aterm", "-tr", "+sb", "-bg", "black", "-fg", "white", "-fn",
"-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*",NULL
};
const char *browse[] = { "firefox", NULL };
static Key key[] = {
{ Mod1Mask, XK_Return, (void (*)(void *))spawn, term },
{ Mod1Mask, XK_w, (void (*)(void *))spawn, browse },
{ Mod1Mask, XK_k, sel, "prev" },
{ Mod1Mask, XK_j, sel, "next" },
{ Mod1Mask, XK_space, toggle, NULL },
{ Mod1Mask, XK_m, max, NULL },
{ Mod1Mask | ShiftMask, XK_c, ckill, NULL },
{ Mod1Mask | ShiftMask, XK_q, quit, NULL },
};
/********** CUSTOMIZE **********/
void
update_keys(void)
{
unsigned int i, len;
KeyCode code;
len = sizeof(key) / sizeof(key[0]);
for(i = 0; i < len; i++) {
code = XKeysymToKeycode(dpy, key[i].keysym);
XUngrabKey(dpy, code, key[i].mod, root);
XGrabKey(dpy, code, key[i].mod, root, True, GrabModeAsync, GrabModeAsync);
}
}
void
keypress(XEvent *e)
{
XKeyEvent *ev = &e->xkey;
unsigned int i, len;
KeySym keysym;
keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0);
len = sizeof(key) / sizeof(key[0]);
for(i = 0; i < len; i++)
if((keysym == key[i].keysym) && (key[i].mod == ev->state)) {
if(key[i].func)
key[i].func(key[i].aux);
return;
}
}

@ -115,11 +115,9 @@ extern unsigned int texth(Fnt *font);
/* event.c */ /* event.c */
extern void discard_events(long even_mask); extern void discard_events(long even_mask);
/* kb.c */ /* dev.c */
extern void update_keys(void); extern void update_keys(void);
extern void keypress(XEvent *e); extern void keypress(XEvent *e);
/* mouse.c */
extern void mresize(Client *c); extern void mresize(Client *c);
extern void mmove(Client *c); extern void mmove(Client *c);

Loading…
Cancel
Save