deactivation of active keyboard grab

This commit is contained in:
Anselm R. Garbe 2006-07-03 12:22:46 +02:00
parent a206679e89
commit 9a0bae0b61
2 changed files with 5 additions and 17 deletions

View File

@ -269,8 +269,7 @@ handle_keypress(XEvent *e)
ev->state &= valid_mask;
if((f = frame_of_win(ev->window))) {
buf[0] = 0;
if((n = XLookupString(ev, buf, sizeof(buf), &k, 0) != 1))
return;
n = XLookupString(ev, buf, sizeof(buf), &k, 0);
if(IsFunctionKey(k) || IsKeypadKey(k) || IsMiscFunctionKey(k)
|| IsPFKey(k) || IsPrivateKeypadKey(k))
return;

View File

@ -254,12 +254,6 @@ blitz_settext_input(BlitzInput *i, const char *text)
memcpy(i->text, text, i->size);
}
static void
escape(BlitzInput *i)
{
XUngrabKeyboard(i->blitz->display, i->window);
}
Bool
blitz_bpress_input(BlitzInput *i, int x, int y)
{
@ -280,8 +274,8 @@ blitz_brelease_input(BlitzInput *i, int x, int y)
if(!(i->drag = blitz_ispointinrect(x, y, &i->rect)))
return False;
XGrabKeyboard(i->blitz->display, i->window, True,
GrabModeAsync, GrabModeAsync, CurrentTime);
/*XGrabKeyboard(i->blitz->display, i->window, True,
GrabModeAsync, GrabModeAsync, CurrentTime);*/
oend = i->curend;
i->curend = charof(i, x, y);
i->drag = False;
@ -293,10 +287,8 @@ blitz_bmotion_input(BlitzInput *i, int x, int y)
{
char *oend;
if(!i->drag || !(i->drag = blitz_ispointinrect(x, y, &i->rect))) {
escape(i);
if(!i->drag || !(i->drag = blitz_ispointinrect(x, y, &i->rect)))
return False;
}
oend = i->curend;
i->curend = charof(i, x, y);
@ -306,7 +298,7 @@ blitz_bmotion_input(BlitzInput *i, int x, int y)
Bool
blitz_kpress_input(BlitzInput *i, unsigned long mod, KeySym k, const char *ks)
{
if (mod & ControlMask) {
if(mod & ControlMask) {
switch (k) {
case XK_a:
k = XK_Begin;
@ -360,9 +352,6 @@ blitz_kpress_input(BlitzInput *i, unsigned long mod, KeySym k, const char *ks)
case XK_Num_Lock:
case XK_Return:
break;
case XK_Escape:
escape(i);
return False;
case XK_Delete:
case XK_BackSpace:
return delete(i);