~ubuntu-branches/ubuntu/trusty/libgii/trusty

« back to all changes in this revision

Viewing changes to input/linux_kbd/linkey.c

  • Committer: Bazaar Package Importer
  • Author(s): Anibal Monsalve Salazar
  • Date: 2006-10-17 19:36:15 UTC
  • mfrom: (3.1.3 edgy)
  • Revision ID: james.westby@ubuntu.com-20061017193615-6civk5a1i4n1kyb0
Tags: 1:1.0.1-3
Fixed "ggtick is missing". Closes: #388682.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* $Id: linkey.c,v 1.2 2002/02/22 21:51:05 soyt Exp $
 
1
/* $Id: linkey.c,v 1.4 2005/07/29 16:40:57 soyt Exp $
2
2
******************************************************************************
3
3
 
4
4
   Convert Linux keysyms into LibGII syms and labels
28
28
#include "linkey.h"
29
29
#include <ctype.h>
30
30
 
31
 
static uint32 basic_trans(int sym, int islabel, uint32 *modifiers,
32
 
                          uint32 label, int keycode)
 
31
static uint32_t basic_trans(int sym, int islabel, uint32_t *modifiers,
 
32
                            uint32_t label, int keycode)
33
33
{
34
34
        int typ = KTYP(sym);
35
35
        int val = KVAL(sym);
36
36
 
 
37
 
37
38
        /* Handle some special cases */
38
39
        switch (sym) {
39
40
        case 0x1c:
219
220
        case K_CAPSON:          return GIIK_CapsLock;
220
221
        case K_COMPOSE:         return GIIK_Compose;
221
222
        case K_SAK:             return GIIK_SAK;
222
 
#ifdef K_CAPSSHIFT
223
 
        case K_CAPSSHIFT:       return GIIK_CapsLock;
224
 
#endif
225
223
 
226
224
        case K_SCROLLFORW:
227
225
                if (!islabel && label == GIIK_PageDown &&
255
253
 
256
254
int _gii_linkey_trans(int keycode, int labelval, int symval, gii_key_event *ev)
257
255
{
 
256
 
258
257
        /* Set label field */
259
258
        switch (labelval) {
260
259
        case K_ALT:             ev->label = GIIK_AltL;          break;
261
260
        case K_ALTGR:           ev->label = GIIK_AltR;          break;
 
261
#ifdef K_CAPSSHIFT
 
262
        case K_CAPSSHIFT:
 
263
#endif
262
264
        case K_SHIFT:
263
265
#ifdef __i386__
264
266
                /* If you map shift keys to K_SHIFTL and K_SHIFTR they won't
322
324
        case K_CTRL:
323
325
        case K_CTRLL:
324
326
        case K_CTRLR:           ev->sym = GIIK_Ctrl;    break;
 
327
 
 
328
#ifdef K_CAPSSHIFT
 
329
        case K_CAPSSHIFT:
 
330
                        ev->sym = GIIK_CapsLock;        break;
 
331
#endif
325
332
                
326
333
#ifdef K_SHIFTLOCK
327
334
        case K_ALTLOCK:         ev->sym = GIIK_Alt;     break;
350
357
                break;
351
358
        }
352
359
 
 
360
 
353
361
        /* Handle keys not recognized by Linux keymaps */
354
362
        if (ev->label == GIIK_VOID && ev->sym == GIIK_VOID) {
355
363
                switch (keycode) {