X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=st.c;h=6dc20fbfddaf933c9b4686c356f3d8b712553a07;hb=55087ec2c7e78e4349259c4547aa58fa705fa915;hp=477a8f8beb4c73fd045be35a556df9b5388c7b42;hpb=90e1427632d6c5852d10c8d2bafa787012903eb9;p=st.git diff --git a/st.c b/st.c index 477a8f8..6dc20fb 100644 --- a/st.c +++ b/st.c @@ -89,10 +89,6 @@ enum glyph_attribute { }; enum cursor_movement { - CURSOR_UP, - CURSOR_DOWN, - CURSOR_LEFT, - CURSOR_RIGHT, CURSOR_SAVE, CURSOR_LOAD }; @@ -625,12 +621,9 @@ selected(int x, int y) { } void -getbuttoninfo(XEvent *e, int *b, int *x, int *y) { - if(b) - *b = e->xbutton.button; - - *x = x2col(e->xbutton.x); - *y = y2row(e->xbutton.y); +getbuttoninfo(XEvent *e) { + sel.ex = x2col(e->xbutton.x); + sel.ey = y2row(e->xbutton.y); sel.b.x = sel.by < sel.ey ? sel.bx : sel.ex; sel.b.y = MIN(sel.by, sel.ey); @@ -828,7 +821,7 @@ brelease(XEvent *e) { selpaste(NULL); } else if(e->xbutton.button == Button1) { sel.mode = 0; - getbuttoninfo(e, NULL, &sel.ex, &sel.ey); + getbuttoninfo(e); term.dirty[sel.ey] = 1; if(sel.bx == sel.ex && sel.by == sel.ey) { sel.bx = -1; @@ -877,7 +870,7 @@ bmotion(XEvent *e) { if(sel.mode) { oldey = sel.ey; oldex = sel.ex; - getbuttoninfo(e, NULL, &sel.ex, &sel.ey); + getbuttoninfo(e); if(oldey != sel.ey || oldex != sel.ex) { starty = MIN(oldey, sel.ey); @@ -2086,7 +2079,7 @@ tputc(char *c, int len) { } } /* - * All characters which forms part of a sequence are not + * All characters which form part of a sequence are not * printed */ return; @@ -2711,6 +2704,17 @@ char* kmap(KeySym k, uint state) { uint mask; Key *kp; + int i; + + /* Check for mapped keys out of X11 function keys. */ + for(i = 0; i < LEN(mappedkeys); i++) { + if(mappedkeys[i] == k) + break; + } + if(i == LEN(mappedkeys)) { + if((k & 0xFFFF) < 0xFF00) + return NULL; + } for(kp = key; kp < key + LEN(key); kp++) { mask = kp->mask;