Changeset fe24a52 in mainline for uspace/srv/kbd/layout/cz.c


Ignore:
Timestamp:
2009-04-16T22:20:28Z (16 years ago)
Author:
Jiri Svoboda <jirik.svoboda@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
11f56c7
Parents:
87d71bf
Message:

Handle shift properly on top row of main block in Czech layout.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/kbd/layout/cz.c

    r87d71bf rfe24a52  
    5555
    5656static wchar_t map_lcase[] = {
    57         [KC_2] = L'ě',
    58         [KC_3] = L'š',
    59         [KC_4] = L'č',
    60         [KC_5] = L'ř',
    61         [KC_6] = L'ž',
    62         [KC_7] = L'ý',
    63         [KC_8] = L'á',
    64         [KC_9] = L'í',
    65         [KC_0] = L'é',
    66 
    67         [KC_LBRACKET] = L'ú',
    68         [KC_SEMICOLON] = L'ů',
    69 
    7057        [KC_Q] = 'q',
    7158        [KC_W] = 'w',
     
    9986
    10087static wchar_t map_ucase[] = {
    101         [KC_2] = L'Ě',
    102         [KC_3] = L'Š',
    103         [KC_4] = L'Č',
    104         [KC_5] = L'Ř',
    105         [KC_6] = L'Ž',
    106         [KC_7] = L'Ý',
    107         [KC_8] = L'Á',
    108         [KC_9] = L'Í',
    109         [KC_0] = L'É',
    110 
    111         [KC_LBRACKET] = L'Ú',
    112         [KC_SEMICOLON] = L'Ů',
    113 
    11488        [KC_Q] = 'Q',
    11589        [KC_W] = 'W',
     
    184158};
    185159
     160static wchar_t map_ns_nocaps[] = {
     161        [KC_2] = L'ě',
     162        [KC_3] = L'š',
     163        [KC_4] = L'č',
     164        [KC_5] = L'ř',
     165        [KC_6] = L'ž',
     166        [KC_7] = L'ý',
     167        [KC_8] = L'á',
     168        [KC_9] = L'í',
     169        [KC_0] = L'é',
     170
     171        [KC_LBRACKET] = L'ú',
     172        [KC_SEMICOLON] = L'ů'
     173};
     174
     175static wchar_t map_ns_caps[] = {
     176        [KC_2] = L'Ě',
     177        [KC_3] = L'Š',
     178        [KC_4] = L'Č',
     179        [KC_5] = L'Ř',
     180        [KC_6] = L'Ž',
     181        [KC_7] = L'Ý',
     182        [KC_8] = L'Á',
     183        [KC_9] = L'Í',
     184        [KC_0] = L'É',
     185
     186        [KC_LBRACKET] = L'Ú',
     187        [KC_SEMICOLON] = L'Ů'
     188};
     189
    186190static wchar_t map_neutral[] = {
    187191        [KC_BACKSPACE] = '\b',
     
    325329        if (c != 0)
    326330                return c;
     331
     332        if ((ev->mods & KM_SHIFT) == 0) {
     333                if ((ev->mods & KM_CAPS_LOCK) != 0)
     334                        c = translate(ev->key, map_ns_caps, sizeof(map_ns_caps) / sizeof(wchar_t));
     335                else
     336                        c = translate(ev->key, map_ns_nocaps, sizeof(map_ns_nocaps) / sizeof(wchar_t));
     337
     338                if (c != 0)
     339                        return c;
     340        }       
    327341
    328342        if (((ev->mods & KM_SHIFT) != 0) ^ ((ev->mods & KM_CAPS_LOCK) != 0))
Note: See TracChangeset for help on using the changeset viewer.