| @@ -816,26 +816,290 @@ static CARD8 wsAdbMap[] = { | | | @@ -816,26 +816,290 @@ static CARD8 wsAdbMap[] = { |
816 | /* 125 */ KEY_NOTUSED, | | 816 | /* 125 */ KEY_NOTUSED, |
817 | /* 126 */ KEY_NOTUSED, | | 817 | /* 126 */ KEY_NOTUSED, |
818 | /* 127 */ KEY_Power | | 818 | /* 127 */ KEY_Power |
819 | }; | | 819 | }; |
820 | #define WS_ADB_MAP_SIZE (sizeof(wsAdbMap)/sizeof(unsigned char)) | | 820 | #define WS_ADB_MAP_SIZE (sizeof(wsAdbMap)/sizeof(unsigned char)) |
821 | | | 821 | |
822 | static | | 822 | static |
823 | TransMapRec wsAdb = { | | 823 | TransMapRec wsAdb = { |
824 | 0, | | 824 | 0, |
825 | WS_ADB_MAP_SIZE, | | 825 | WS_ADB_MAP_SIZE, |
826 | wsAdbMap | | 826 | wsAdbMap |
827 | }; | | 827 | }; |
828 | | | 828 | |
| | | 829 | /* Map for LK201 keyboards */ |
| | | 830 | static CARD8 wsLk201Map[] = { |
| | | 831 | /* 0 */ KEY_F1, |
| | | 832 | /* 1 */ KEY_F2, |
| | | 833 | /* 2 */ KEY_F3, |
| | | 834 | /* 3 */ KEY_F4, |
| | | 835 | /* 4 */ KEY_F5, |
| | | 836 | /* 5 */ KEY_NOTUSED, |
| | | 837 | /* 6 */ KEY_NOTUSED, |
| | | 838 | /* 7 */ KEY_NOTUSED, |
| | | 839 | /* 8 */ KEY_NOTUSED, |
| | | 840 | /* 9 */ KEY_NOTUSED, |
| | | 841 | /* 10 */ KEY_NOTUSED, |
| | | 842 | /* 11 */ KEY_NOTUSED, |
| | | 843 | /* 12 */ KEY_NOTUSED, |
| | | 844 | /* 13 */ KEY_NOTUSED, |
| | | 845 | /* 14 */ KEY_F6, |
| | | 846 | /* 15 */ KEY_F7, |
| | | 847 | /* 16 */ KEY_F8, |
| | | 848 | /* 17 */ KEY_F9, |
| | | 849 | /* 18 */ KEY_F10, |
| | | 850 | /* 19 */ KEY_NOTUSED, |
| | | 851 | /* 20 */ KEY_NOTUSED, |
| | | 852 | /* 21 */ KEY_NOTUSED, |
| | | 853 | /* 22 */ KEY_NOTUSED, |
| | | 854 | /* 23 */ KEY_NOTUSED, |
| | | 855 | /* 24 */ KEY_NOTUSED, |
| | | 856 | /* 25 */ KEY_NOTUSED, |
| | | 857 | /* 26 */ KEY_NOTUSED, |
| | | 858 | /* 27 */ KEY_F11, |
| | | 859 | /* 28 */ KEY_F12, |
| | | 860 | /* 29 */ KEY_F13, |
| | | 861 | /* 30 */ KEY_F14, |
| | | 862 | /* 31 */ KEY_NOTUSED, |
| | | 863 | /* 32 */ KEY_NOTUSED, |
| | | 864 | /* 33 */ KEY_NOTUSED, |
| | | 865 | /* 34 */ KEY_NOTUSED, |
| | | 866 | /* 35 */ KEY_NOTUSED, |
| | | 867 | /* 36 */ KEY_NOTUSED, |
| | | 868 | /* 37 */ KEY_NOTUSED, |
| | | 869 | /* 38 */ KEY_Help, |
| | | 870 | /* 39 */ KEY_F16, /* Do */ |
| | | 871 | /* 40 */ KEY_NOTUSED, |
| | | 872 | /* 41 */ KEY_NOTUSED, |
| | | 873 | /* 42 */ KEY_F17, |
| | | 874 | /* 43 */ KEY_L8, /* F18 */ |
| | | 875 | /* 44 */ KEY_L9, /* F19 */ |
| | | 876 | /* 45 */ KEY_L10, /* F20 */ |
| | | 877 | /* 46 */ KEY_NOTUSED, |
| | | 878 | /* 47 */ KEY_NOTUSED, |
| | | 879 | /* 48 */ KEY_NOTUSED, |
| | | 880 | /* 49 */ KEY_NOTUSED, |
| | | 881 | /* 50 */ KEY_NOTUSED, |
| | | 882 | /* 51 */ KEY_NOTUSED, |
| | | 883 | /* 52 */ KEY_Home, /* Find */ |
| | | 884 | /* 53 */ KEY_Insert, /* Insert Here */ |
| | | 885 | /* 54 */ KEY_Delete, /* Re-move */ |
| | | 886 | /* 55 */ KEY_End, /* Select */ |
| | | 887 | /* 56 */ KEY_PgUp, /* Prev-Screen */ |
| | | 888 | /* 57 */ KEY_PgDown, /* Next-Screen */ |
| | | 889 | /* 58 */ KEY_NOTUSED, |
| | | 890 | /* 59 */ KEY_NOTUSED, |
| | | 891 | /* 60 */ KEY_KP_0, |
| | | 892 | /* 61 */ KEY_NOTUSED, |
| | | 893 | /* 62 */ KEY_KP_Decimal, |
| | | 894 | /* 63 */ KEY_KP_Enter, |
| | | 895 | /* 64 */ KEY_KP_1, |
| | | 896 | /* 65 */ KEY_KP_2, |
| | | 897 | /* 66 */ KEY_KP_3, |
| | | 898 | /* 67 */ KEY_KP_4, |
| | | 899 | /* 68 */ KEY_KP_5, |
| | | 900 | /* 69 */ KEY_KP_6, |
| | | 901 | /* 70 */ KEY_KP_Plus, /* KP Comma */ |
| | | 902 | /* 71 */ KEY_KP_7, |
| | | 903 | /* 72 */ KEY_KP_8, |
| | | 904 | /* 73 */ KEY_KP_9, |
| | | 905 | /* 74 */ KEY_KP_Minus, |
| | | 906 | /* 75 */ KEY_L1, /* PF1 */ |
| | | 907 | /* 76 */ KEY_L2, /* PF2 */ |
| | | 908 | /* 77 */ KEY_L3, /* PF3 */ |
| | | 909 | /* 78 */ KEY_L4, /* PF4 */ |
| | | 910 | /* 79 */ KEY_NOTUSED, |
| | | 911 | /* 80 */ KEY_NOTUSED, |
| | | 912 | /* 81 */ KEY_Left, |
| | | 913 | /* 82 */ KEY_Right, |
| | | 914 | /* 83 */ KEY_Down, |
| | | 915 | /* 84 */ KEY_Up, |
| | | 916 | /* 85 */ KEY_NOTUSED, |
| | | 917 | /* 86 */ KEY_NOTUSED, |
| | | 918 | /* 87 */ KEY_NOTUSED, |
| | | 919 | /* 88 */ KEY_ShiftL, |
| | | 920 | /* 89 */ KEY_LCtrl, |
| | | 921 | /* 90 */ KEY_CapsLock, |
| | | 922 | /* 91 */ KEY_Alt, /* Compose */ |
| | | 923 | /* 92 */ KEY_NOTUSED, |
| | | 924 | /* 93 */ KEY_NOTUSED, |
| | | 925 | /* 94 */ KEY_NOTUSED, |
| | | 926 | /* 95 */ KEY_NOTUSED, |
| | | 927 | /* 96 */ KEY_NOTUSED, |
| | | 928 | /* 97 */ KEY_NOTUSED, |
| | | 929 | /* 98 */ KEY_NOTUSED, |
| | | 930 | /* 99 */ KEY_NOTUSED, |
| | | 931 | /* 100 */ KEY_NOTUSED, |
| | | 932 | /* 101 */ KEY_NOTUSED, |
| | | 933 | /* 102 */ KEY_Delete, |
| | | 934 | /* 103 */ KEY_Enter, |
| | | 935 | /* 104 */ KEY_Tab, |
| | | 936 | /* 105 */ KEY_Escape, /* tilde */ |
| | | 937 | /* 106 */ KEY_1, |
| | | 938 | /* 107 */ KEY_Q, |
| | | 939 | /* 108 */ KEY_A, |
| | | 940 | /* 109 */ KEY_Z, |
| | | 941 | /* 110 */ KEY_NOTUSED, |
| | | 942 | /* 111 */ KEY_2, |
| | | 943 | /* 112 */ KEY_W, |
| | | 944 | /* 113 */ KEY_S, |
| | | 945 | /* 114 */ KEY_X, |
| | | 946 | /* 115 */ KEY_Less, |
| | | 947 | /* 116 */ KEY_NOTUSED, |
| | | 948 | /* 117 */ KEY_3, |
| | | 949 | /* 118 */ KEY_E, |
| | | 950 | /* 119 */ KEY_D, |
| | | 951 | /* 120 */ KEY_C, |
| | | 952 | /* 121 */ KEY_NOTUSED, |
| | | 953 | /* 122 */ KEY_4, |
| | | 954 | /* 123 */ KEY_R, |
| | | 955 | /* 124 */ KEY_F, |
| | | 956 | /* 125 */ KEY_V, |
| | | 957 | /* 126 */ KEY_Space, |
| | | 958 | /* 127 */ KEY_NOTUSED, |
| | | 959 | /* 128 */ KEY_5, |
| | | 960 | /* 129 */ KEY_T, |
| | | 961 | /* 130 */ KEY_G, |
| | | 962 | /* 131 */ KEY_B, |
| | | 963 | /* 132 */ KEY_NOTUSED, |
| | | 964 | /* 133 */ KEY_6, |
| | | 965 | /* 134 */ KEY_Y, |
| | | 966 | /* 135 */ KEY_H, |
| | | 967 | /* 136 */ KEY_N, |
| | | 968 | /* 137 */ KEY_NOTUSED, |
| | | 969 | /* 138 */ KEY_7, |
| | | 970 | /* 139 */ KEY_U, |
| | | 971 | /* 140 */ KEY_J, |
| | | 972 | /* 141 */ KEY_M, |
| | | 973 | /* 142 */ KEY_NOTUSED, |
| | | 974 | /* 143 */ KEY_8, |
| | | 975 | /* 144 */ KEY_I, |
| | | 976 | /* 145 */ KEY_K, |
| | | 977 | /* 146 */ KEY_Comma, |
| | | 978 | /* 147 */ KEY_NOTUSED, |
| | | 979 | /* 148 */ KEY_9, |
| | | 980 | /* 149 */ KEY_O, |
| | | 981 | /* 150 */ KEY_L, |
| | | 982 | /* 151 */ KEY_Period, |
| | | 983 | /* 152 */ KEY_NOTUSED, |
| | | 984 | /* 153 */ KEY_0, |
| | | 985 | /* 154 */ KEY_P, |
| | | 986 | /* 155 */ KEY_NOTUSED, |
| | | 987 | /* 156 */ KEY_SemiColon, |
| | | 988 | /* 157 */ KEY_Slash, |
| | | 989 | /* 158 */ KEY_NOTUSED, |
| | | 990 | /* 159 */ KEY_Equal, |
| | | 991 | /* 160 */ KEY_RBrace, |
| | | 992 | /* 161 */ KEY_BSlash, |
| | | 993 | /* 162 */ KEY_NOTUSED, |
| | | 994 | /* 163 */ KEY_Minus, |
| | | 995 | /* 164 */ KEY_LBrace, |
| | | 996 | /* 165 */ KEY_Quote, |
| | | 997 | /* 166 */ KEY_NOTUSED, |
| | | 998 | /* 167 */ KEY_NOTUSED, |
| | | 999 | /* 168 */ KEY_NOTUSED, |
| | | 1000 | /* 169 */ KEY_NOTUSED, |
| | | 1001 | /* 170 */ KEY_NOTUSED, |
| | | 1002 | /* 171 */ KEY_NOTUSED, |
| | | 1003 | /* 172 */ KEY_NOTUSED, |
| | | 1004 | /* 173 */ KEY_NOTUSED, |
| | | 1005 | /* 174 */ KEY_NOTUSED, |
| | | 1006 | /* 175 */ KEY_NOTUSED, |
| | | 1007 | /* 176 */ KEY_NOTUSED, |
| | | 1008 | /* 177 */ KEY_NOTUSED, |
| | | 1009 | /* 178 */ KEY_NOTUSED, |
| | | 1010 | /* 179 */ KEY_NOTUSED, |
| | | 1011 | /* 180 */ KEY_NOTUSED, |
| | | 1012 | /* 181 */ KEY_NOTUSED, |
| | | 1013 | /* 182 */ KEY_NOTUSED, |
| | | 1014 | /* 183 */ KEY_NOTUSED, |
| | | 1015 | /* 184 */ KEY_NOTUSED, |
| | | 1016 | /* 185 */ KEY_NOTUSED, |
| | | 1017 | /* 186 */ KEY_NOTUSED, |
| | | 1018 | /* 187 */ KEY_NOTUSED, |
| | | 1019 | /* 188 */ KEY_NOTUSED, |
| | | 1020 | /* 189 */ KEY_NOTUSED, |
| | | 1021 | /* 190 */ KEY_NOTUSED, |
| | | 1022 | /* 191 */ KEY_NOTUSED, |
| | | 1023 | /* 192 */ KEY_NOTUSED, |
| | | 1024 | /* 193 */ KEY_NOTUSED, |
| | | 1025 | /* 194 */ KEY_NOTUSED, |
| | | 1026 | /* 195 */ KEY_NOTUSED, |
| | | 1027 | /* 196 */ KEY_NOTUSED, |
| | | 1028 | /* 197 */ KEY_NOTUSED, |
| | | 1029 | /* 198 */ KEY_NOTUSED, |
| | | 1030 | /* 199 */ KEY_NOTUSED, |
| | | 1031 | /* 200 */ KEY_NOTUSED, |
| | | 1032 | /* 201 */ KEY_NOTUSED, |
| | | 1033 | /* 202 */ KEY_NOTUSED, |
| | | 1034 | /* 203 */ KEY_NOTUSED, |
| | | 1035 | /* 204 */ KEY_NOTUSED, |
| | | 1036 | /* 205 */ KEY_NOTUSED, |
| | | 1037 | /* 206 */ KEY_NOTUSED, |
| | | 1038 | /* 207 */ KEY_NOTUSED, |
| | | 1039 | /* 208 */ KEY_NOTUSED, |
| | | 1040 | /* 209 */ KEY_NOTUSED, |
| | | 1041 | /* 210 */ KEY_NOTUSED, |
| | | 1042 | /* 211 */ KEY_NOTUSED, |
| | | 1043 | /* 212 */ KEY_NOTUSED, |
| | | 1044 | /* 213 */ KEY_NOTUSED, |
| | | 1045 | /* 214 */ KEY_NOTUSED, |
| | | 1046 | /* 215 */ KEY_NOTUSED, |
| | | 1047 | /* 216 */ KEY_NOTUSED, |
| | | 1048 | /* 217 */ KEY_NOTUSED, |
| | | 1049 | /* 218 */ KEY_NOTUSED, |
| | | 1050 | /* 219 */ KEY_NOTUSED, |
| | | 1051 | /* 220 */ KEY_NOTUSED, |
| | | 1052 | /* 221 */ KEY_NOTUSED, |
| | | 1053 | /* 222 */ KEY_NOTUSED, |
| | | 1054 | /* 223 */ KEY_NOTUSED, |
| | | 1055 | /* 224 */ KEY_NOTUSED, |
| | | 1056 | /* 225 */ KEY_NOTUSED, |
| | | 1057 | /* 226 */ KEY_NOTUSED, |
| | | 1058 | /* 227 */ KEY_NOTUSED, |
| | | 1059 | /* 228 */ KEY_NOTUSED, |
| | | 1060 | /* 229 */ KEY_NOTUSED, |
| | | 1061 | /* 230 */ KEY_NOTUSED, |
| | | 1062 | /* 231 */ KEY_NOTUSED, |
| | | 1063 | /* 232 */ KEY_NOTUSED, |
| | | 1064 | /* 233 */ KEY_NOTUSED, |
| | | 1065 | /* 234 */ KEY_NOTUSED, |
| | | 1066 | /* 235 */ KEY_NOTUSED, |
| | | 1067 | /* 236 */ KEY_NOTUSED, |
| | | 1068 | /* 237 */ KEY_NOTUSED, |
| | | 1069 | /* 238 */ KEY_NOTUSED, |
| | | 1070 | /* 239 */ KEY_NOTUSED, |
| | | 1071 | /* 240 */ KEY_NOTUSED, |
| | | 1072 | /* 241 */ KEY_NOTUSED, |
| | | 1073 | /* 242 */ KEY_NOTUSED, |
| | | 1074 | /* 243 */ KEY_NOTUSED, |
| | | 1075 | /* 244 */ KEY_NOTUSED, |
| | | 1076 | /* 245 */ KEY_NOTUSED, |
| | | 1077 | /* 246 */ KEY_NOTUSED, |
| | | 1078 | /* 247 */ KEY_NOTUSED, |
| | | 1079 | /* 248 */ KEY_NOTUSED, |
| | | 1080 | /* 249 */ KEY_NOTUSED, |
| | | 1081 | /* 250 */ KEY_NOTUSED, |
| | | 1082 | /* 251 */ KEY_NOTUSED, |
| | | 1083 | }; |
| | | 1084 | #define WS_LK201_MAP_SIZE (sizeof(wsLk201Map)/sizeof(unsigned char)) |
| | | 1085 | |
| | | 1086 | static |
| | | 1087 | TransMapRec wsLk201 = { |
| | | 1088 | 0, |
| | | 1089 | WS_LK201_MAP_SIZE, |
| | | 1090 | wsLk201Map |
| | | 1091 | }; |
| | | 1092 | |
829 | static CARD8 wsSunMap[] = { | | 1093 | static CARD8 wsSunMap[] = { |
830 | /* 0x00 */ KEY_Help, | | 1094 | /* 0x00 */ KEY_Help, |
831 | /* 0x01 */ KEY_L1, /* stop */ | | 1095 | /* 0x01 */ KEY_L1, /* stop */ |
832 | /* 0x02 */ KEY_AudioLower, /* BrightnessDown / S-VolumeDown */ | | 1096 | /* 0x02 */ KEY_AudioLower, /* BrightnessDown / S-VolumeDown */ |
833 | /* 0x03 */ KEY_L2, /* again */ | | 1097 | /* 0x03 */ KEY_L2, /* again */ |
834 | /* 0x04 */ KEY_AudioRaise, /* BridgtnessUp / S-VolumeUp */ | | 1098 | /* 0x04 */ KEY_AudioRaise, /* BridgtnessUp / S-VolumeUp */ |
835 | /* 0x05 */ KEY_F1, | | 1099 | /* 0x05 */ KEY_F1, |
836 | /* 0x06 */ KEY_F2, | | 1100 | /* 0x06 */ KEY_F2, |
837 | /* 0x07 */ KEY_F10, | | 1101 | /* 0x07 */ KEY_F10, |
838 | /* 0x08 */ KEY_F3, | | 1102 | /* 0x08 */ KEY_F3, |
839 | /* 0x09 */ KEY_F11, | | 1103 | /* 0x09 */ KEY_F11, |
840 | /* 0x0a */ KEY_F4, | | 1104 | /* 0x0a */ KEY_F4, |
841 | /* 0x0b */ KEY_F12, | | 1105 | /* 0x0b */ KEY_F12, |
| @@ -1097,26 +1361,31 @@ KbdGetMapping (InputInfoPtr pInfo, KeySy | | | @@ -1097,26 +1361,31 @@ KbdGetMapping (InputInfoPtr pInfo, KeySy |
1097 | pKbd->scancodeMap = &wsXt; | | 1361 | pKbd->scancodeMap = &wsXt; |
1098 | break; | | 1362 | break; |
1099 | case WSKBD_TYPE_USB: | | 1363 | case WSKBD_TYPE_USB: |
1100 | #ifdef WSKBD_TYPE_MAPLE | | 1364 | #ifdef WSKBD_TYPE_MAPLE |
1101 | case WSKBD_TYPE_MAPLE: | | 1365 | case WSKBD_TYPE_MAPLE: |
1102 | #endif | | 1366 | #endif |
1103 | pKbd->scancodeMap = &wsUsb; | | 1367 | pKbd->scancodeMap = &wsUsb; |
1104 | break; | | 1368 | break; |
1105 | #ifdef WSKBD_TYPE_ADB | | 1369 | #ifdef WSKBD_TYPE_ADB |
1106 | case WSKBD_TYPE_ADB: | | 1370 | case WSKBD_TYPE_ADB: |
1107 | pKbd->scancodeMap = &wsAdb; | | 1371 | pKbd->scancodeMap = &wsAdb; |
1108 | break; | | 1372 | break; |
1109 | #endif | | 1373 | #endif |
| | | 1374 | #ifdef WSKBD_TYPE_LK201 |
| | | 1375 | case WSKBD_TYPE_LK201: |
| | | 1376 | pKbd->scancodeMap = &wsLk201; |
| | | 1377 | break; |
| | | 1378 | #endif |
1110 | #ifdef WSKBD_TYPE_SUN | | 1379 | #ifdef WSKBD_TYPE_SUN |
1111 | #ifdef WSKBD_TYPE_SUN5 | | 1380 | #ifdef WSKBD_TYPE_SUN5 |
1112 | case WSKBD_TYPE_SUN5: | | 1381 | case WSKBD_TYPE_SUN5: |
1113 | #endif | | 1382 | #endif |
1114 | case WSKBD_TYPE_SUN: | | 1383 | case WSKBD_TYPE_SUN: |
1115 | pKbd->scancodeMap = &wsSun; | | 1384 | pKbd->scancodeMap = &wsSun; |
1116 | break; | | 1385 | break; |
1117 | #endif | | 1386 | #endif |
1118 | default: | | 1387 | default: |
1119 | ErrorF("Unknown wskbd type %d\n", pKbd->wsKbdType); | | 1388 | ErrorF("Unknown wskbd type %d\n", pKbd->wsKbdType); |
1120 | } | | 1389 | } |
1121 | } else { | | 1390 | } else { |
1122 | pKbd->RemapScanCode = ATScancode; | | 1391 | pKbd->RemapScanCode = ATScancode; |