玉兔远程控制
0.1.0-bate11
Toggle main menu visibility
载入中...
搜索中...
未找到
Plugins
FreeRDP
Client
ConvertKeyCode.cpp
1
// Author: Kang Lin <kl222@126.com>
3
#include "ConvertKeyCode.h"
4
5
CConvertKeyCode::CConvertKeyCode()
6
{}
7
17
UINT32
CConvertKeyCode::QtToScanCode
(
int
key, Qt::KeyboardModifiers modifiers)
18
{
19
UINT32 k = RDP_SCANCODE_UNKNOWN;
20
switch
(key)
21
{
22
case
Qt::Key_Escape:
return
RDP_SCANCODE_ESCAPE;
23
case
Qt::Key_Tab:
return
RDP_SCANCODE_TAB;
24
case
Qt::Key_Backtab:
return
k;
25
case
Qt::Key_Backspace:
return
RDP_SCANCODE_BACKSPACE;
26
case
Qt::Key_Return:
return
RDP_SCANCODE_RETURN;
//大键盘Enter对应Qt::Key_Return
27
case
Qt::Key_Enter:
return
RDP_SCANCODE_RETURN;
//小键盘Enter对应Qt::Key_Enter
28
case
Qt::Key_Insert:
return
RDP_SCANCODE_INSERT;
29
case
Qt::Key_Delete:
return
RDP_SCANCODE_DELETE;
30
case
Qt::Key_Pause:
return
RDP_SCANCODE_PAUSE;
31
case
Qt::Key_Print:
return
RDP_SCANCODE_PRINTSCREEN;
32
case
Qt::Key_SysReq:
return
RDP_SCANCODE_SYSREQ;
33
//case Qt::Key_Clear: return RDP_SCANCODE_UNKNOWN;
34
case
Qt::Key_Home:
return
RDP_SCANCODE_HOME;
35
case
Qt::Key_End:
return
RDP_SCANCODE_END;
36
case
Qt::Key_Left:
return
RDP_SCANCODE_LEFT;
37
case
Qt::Key_Up:
return
RDP_SCANCODE_UP;
38
case
Qt::Key_Right:
return
RDP_SCANCODE_RIGHT;
39
case
Qt::Key_Down:
return
RDP_SCANCODE_DOWN;
40
case
Qt::Key_PageUp:
return
RDP_SCANCODE_PRIOR;
41
case
Qt::Key_PageDown:
return
RDP_SCANCODE_NEXT;
42
case
Qt::Key_Shift:
return
RDP_SCANCODE_LSHIFT;
43
case
Qt::Key_Control:
return
RDP_SCANCODE_LCONTROL;
44
case
Qt::Key_Alt:
return
RDP_SCANCODE_LMENU;
45
case
Qt::Key_AltGr:
return
RDP_SCANCODE_RMENU;
46
case
Qt::Key_CapsLock:
return
RDP_SCANCODE_CAPSLOCK;
47
case
Qt::Key_NumLock:
return
RDP_SCANCODE_NUMLOCK;
48
case
Qt::Key_ScrollLock:
return
RDP_SCANCODE_SCROLLLOCK;
49
case
Qt::Key_F1:
return
RDP_SCANCODE_F1;
50
case
Qt::Key_F2:
return
RDP_SCANCODE_F2;
51
case
Qt::Key_F3:
return
RDP_SCANCODE_F3;
52
case
Qt::Key_F4:
return
RDP_SCANCODE_F4;
53
case
Qt::Key_F5:
return
RDP_SCANCODE_F5;
54
case
Qt::Key_F6:
return
RDP_SCANCODE_F6;
55
case
Qt::Key_F7:
return
RDP_SCANCODE_F7;
56
case
Qt::Key_F8:
return
RDP_SCANCODE_F8;
57
case
Qt::Key_F9:
return
RDP_SCANCODE_F9;
58
case
Qt::Key_F10:
return
RDP_SCANCODE_F10;
59
case
Qt::Key_F11:
return
RDP_SCANCODE_F11;
60
case
Qt::Key_F12:
return
RDP_SCANCODE_F12;
61
case
Qt::Key_F13:
return
RDP_SCANCODE_F13;
62
case
Qt::Key_F14:
return
RDP_SCANCODE_F14;
63
case
Qt::Key_F15:
return
RDP_SCANCODE_F15;
64
case
Qt::Key_F16:
return
RDP_SCANCODE_F16;
65
case
Qt::Key_F17:
return
RDP_SCANCODE_F17;
66
case
Qt::Key_F18:
return
RDP_SCANCODE_F18;
67
case
Qt::Key_F19:
return
RDP_SCANCODE_F19;
68
case
Qt::Key_F20:
return
RDP_SCANCODE_F20;
69
case
Qt::Key_F21:
return
RDP_SCANCODE_F20;
70
case
Qt::Key_F22:
return
RDP_SCANCODE_F21;
71
case
Qt::Key_F23:
return
RDP_SCANCODE_F22;
72
case
Qt::Key_F24:
return
RDP_SCANCODE_F23;
73
/*
74
Qt::Key_F25
75
Qt::Key_F26
76
Qt::Key_F27
77
Qt::Key_F28
78
Qt::Key_F29
79
Qt::Key_F30
80
Qt::Key_F31
81
Qt::Key_F32
82
Qt::Key_F33
83
Qt::Key_F34
84
Qt::Key_F35
85
*/
86
case
Qt::Key_Meta:
return
RDP_SCANCODE_LWIN;
87
case
Qt::Key_Super_L:
return
RDP_SCANCODE_LWIN;
88
case
Qt::Key_Super_R:
return
RDP_SCANCODE_RWIN;
89
case
Qt::Key_Menu:
return
RDP_SCANCODE_LMENU;
90
// Qt::Key_Hyper_L
91
// Qt::Key_Hyper_R
92
case
Qt::Key_Help:
return
RDP_SCANCODE_HELP;
93
// Qt::Key_Direction_L
94
// Qt::Key_Direction_R
95
case
Qt::Key_Space:
return
RDP_SCANCODE_SPACE;
96
//case Qt::Key_Any: return RDP_SCANCODE_SPACE;
97
case
Qt::Key_Exclam:
return
RDP_SCANCODE_KEY_1;
// !
98
case
Qt::Key_QuoteDbl:
return
RDP_SCANCODE_OEM_7;
// "
99
case
Qt::Key_NumberSign:
return
RDP_SCANCODE_KEY_3;
// #
100
case
Qt::Key_Dollar:
return
RDP_SCANCODE_KEY_4;
// $
101
case
Qt::Key_Percent:
return
RDP_SCANCODE_KEY_5;
// %
102
case
Qt::Key_Ampersand:
return
RDP_SCANCODE_KEY_7;
// &
103
case
Qt::Key_Apostrophe:
return
RDP_SCANCODE_OEM_7;
// '
104
case
Qt::Key_ParenLeft:
return
RDP_SCANCODE_KEY_9;
// (
105
case
Qt::Key_ParenRight:
return
RDP_SCANCODE_KEY_0;
// )
106
case
Qt::Key_Asterisk:
// *
107
{
108
if
(modifiers & Qt::ShiftModifier)
109
return
RDP_SCANCODE_KEY_8;
110
return
RDP_SCANCODE_MULTIPLY;
111
}
112
case
Qt::Key_Plus:
// +
113
{
114
if
(modifiers & Qt::ShiftModifier)
115
return
RDP_SCANCODE_OEM_PLUS;
116
return
RDP_SCANCODE_ADD;
117
}
118
case
Qt::Key_Comma:
return
RDP_SCANCODE_OEM_COMMA;
// ,
119
case
Qt::Key_Minus:
return
RDP_SCANCODE_OEM_MINUS;
// -
120
case
Qt::Key_Period:
return
RDP_SCANCODE_OEM_PERIOD;
// .
121
case
Qt::Key_Slash:
return
RDP_SCANCODE_OEM_2;
// '/'
122
123
case
Qt::Key_0:
return
RDP_SCANCODE_KEY_0;
124
case
Qt::Key_1:
return
RDP_SCANCODE_KEY_1;
125
case
Qt::Key_2:
return
RDP_SCANCODE_KEY_2;
126
case
Qt::Key_3:
return
RDP_SCANCODE_KEY_3;
127
case
Qt::Key_4:
return
RDP_SCANCODE_KEY_4;
128
case
Qt::Key_5:
return
RDP_SCANCODE_KEY_5;
129
case
Qt::Key_6:
return
RDP_SCANCODE_KEY_6;
130
case
Qt::Key_7:
return
RDP_SCANCODE_KEY_7;
131
case
Qt::Key_8:
return
RDP_SCANCODE_KEY_8;
132
case
Qt::Key_9:
return
RDP_SCANCODE_KEY_9;
133
134
case
Qt::Key_Colon:
return
RDP_SCANCODE_OEM_1;
// :
135
case
Qt::Key_Semicolon:
return
RDP_SCANCODE_OEM_1;
// ;
136
case
Qt::Key_Less:
return
RDP_SCANCODE_OEM_COMMA;
// <
137
case
Qt::Key_Equal:
return
RDP_SCANCODE_OEM_PLUS;
// =
138
case
Qt::Key_Greater:
return
RDP_SCANCODE_OEM_PERIOD;
// >
139
case
Qt::Key_Question:
return
RDP_SCANCODE_OEM_2;
// ?
140
case
Qt::Key_At:
return
RDP_SCANCODE_KEY_2;
// @
141
142
case
Qt::Key_A:
return
RDP_SCANCODE_KEY_A;
143
case
Qt::Key_B:
return
RDP_SCANCODE_KEY_B;
144
case
Qt::Key_C:
return
RDP_SCANCODE_KEY_C;
145
case
Qt::Key_D:
return
RDP_SCANCODE_KEY_D;
146
case
Qt::Key_E:
return
RDP_SCANCODE_KEY_E;
147
case
Qt::Key_F:
return
RDP_SCANCODE_KEY_F;
148
case
Qt::Key_G:
return
RDP_SCANCODE_KEY_G;
149
case
Qt::Key_H:
return
RDP_SCANCODE_KEY_H;
150
case
Qt::Key_I:
return
RDP_SCANCODE_KEY_I;
151
case
Qt::Key_J:
return
RDP_SCANCODE_KEY_J;
152
case
Qt::Key_K:
return
RDP_SCANCODE_KEY_K;
153
case
Qt::Key_L:
return
RDP_SCANCODE_KEY_L;
154
case
Qt::Key_M:
return
RDP_SCANCODE_KEY_M;
155
case
Qt::Key_N:
return
RDP_SCANCODE_KEY_N;
156
case
Qt::Key_O:
return
RDP_SCANCODE_KEY_O;
157
case
Qt::Key_P:
return
RDP_SCANCODE_KEY_P;
158
case
Qt::Key_Q:
return
RDP_SCANCODE_KEY_Q;
159
case
Qt::Key_R:
return
RDP_SCANCODE_KEY_R;
160
case
Qt::Key_S:
return
RDP_SCANCODE_KEY_S;
161
case
Qt::Key_T:
return
RDP_SCANCODE_KEY_T;
162
case
Qt::Key_U:
return
RDP_SCANCODE_KEY_U;
163
case
Qt::Key_V:
return
RDP_SCANCODE_KEY_V;
164
case
Qt::Key_W:
return
RDP_SCANCODE_KEY_W;
165
case
Qt::Key_X:
return
RDP_SCANCODE_KEY_X;
166
case
Qt::Key_Y:
return
RDP_SCANCODE_KEY_Y;
167
case
Qt::Key_Z:
return
RDP_SCANCODE_KEY_Z;
168
case
Qt::Key_BracketLeft:
return
RDP_SCANCODE_OEM_4;
169
case
Qt::Key_Backslash:
return
RDP_SCANCODE_OEM_5;
170
case
Qt::Key_BracketRight:
return
RDP_SCANCODE_OEM_6;
171
case
Qt::Key_AsciiCircum:
return
RDP_SCANCODE_KEY_6;
172
case
Qt::Key_Underscore:
return
RDP_SCANCODE_OEM_MINUS;
173
case
Qt::Key_QuoteLeft:
return
RDP_SCANCODE_OEM_3;
174
case
Qt::Key_BraceLeft:
return
RDP_SCANCODE_OEM_4;
175
case
Qt::Key_Bar:
return
RDP_SCANCODE_OEM_5;
176
case
Qt::Key_BraceRight:
return
RDP_SCANCODE_OEM_6;
177
case
Qt::Key_AsciiTilde:
return
RDP_SCANCODE_OEM_3;
178
/* Qt::Key_nobreakspace
179
Qt::Key_exclamdown
180
Qt::Key_cent
181
Qt::Key_sterling
182
Qt::Key_currency
183
Qt::Key_yen
184
Qt::Key_brokenbar
185
Qt::Key_section
186
Qt::Key_diaeresis
187
Qt::Key_copyright
188
Qt::Key_ordfeminine
189
Qt::Key_guillemotleft
190
Qt::Key_notsign
191
Qt::Key_hyphen
192
Qt::Key_registered
193
Qt::Key_macron
194
Qt::Key_degree
195
Qt::Key_plusminus
196
Qt::Key_twosuperior
197
Qt::Key_threesuperior
198
Qt::Key_acute
199
Qt::Key_mu
200
Qt::Key_paragraph
201
Qt::Key_periodcentered
202
Qt::Key_cedilla
203
Qt::Key_onesuperior
204
Qt::Key_masculine
205
Qt::Key_guillemotright
206
Qt::Key_onequarter
207
Qt::Key_onehalf
208
Qt::Key_threequarters
209
Qt::Key_questiondown
210
Qt::Key_Agrave
211
Qt::Key_Aacute
212
Qt::Key_Acircumflex
213
Qt::Key_Atilde
214
Qt::Key_Adiaeresis
215
Qt::Key_Aring
216
Qt::Key_AE
217
Qt::Key_Ccedilla
218
Qt::Key_Egrave
219
Qt::Key_Eacute
220
Qt::Key_Ecircumflex
221
Qt::Key_Ediaeresis
222
Qt::Key_Igrave
223
Qt::Key_Iacute
224
Qt::Key_Icircumflex
225
Qt::Key_Idiaeresis
226
Qt::Key_ETH
227
Qt::Key_Ntilde
228
Qt::Key_Ograve
229
Qt::Key_Oacute
230
Qt::Key_Ocircumflex
231
Qt::Key_Otilde
232
Qt::Key_Odiaeresis
233
Qt::Key_multiply
234
Qt::Key_Ooblique
235
Qt::Key_Ugrave
236
Qt::Key_Uacute
237
Qt::Key_Ucircumflex
238
Qt::Key_Udiaeresis
239
Qt::Key_Yacute
240
Qt::Key_THORN
241
Qt::Key_ssharp
242
Qt::Key_division
243
Qt::Key_ydiaeresis
244
Qt::Key_Multi_key
245
Qt::Key_Codeinput
246
Qt::Key_SingleCandidate
247
Qt::Key_MultipleCandidate
248
Qt::Key_PreviousCandidate
249
Qt::Key_Mode_switch
250
Qt::Key_Kanji
251
Qt::Key_Muhenkan
252
Qt::Key_Henkan
253
Qt::Key_Romaji
254
Qt::Key_Hiragana
255
Qt::Key_Katakana
256
Qt::Key_Hiragana_Katakana
257
Qt::Key_Zenkaku
258
Qt::Key_Hankaku
259
Qt::Key_Zenkaku_Hankaku
260
Qt::Key_Touroku
261
Qt::Key_Massyo
262
Qt::Key_Kana_Lock
263
Qt::Key_Kana_Shift
264
Qt::Key_Eisu_Shift
265
Qt::Key_Eisu_toggle
266
Qt::Key_Hangul
267
Qt::Key_Hangul_Start
268
Qt::Key_Hangul_End
269
Qt::Key_Hangul_Hanja
270
Qt::Key_Hangul_Jamo
271
Qt::Key_Hangul_Romaja
272
Qt::Key_Hangul_Jeonja
273
Qt::Key_Hangul_Banja
274
Qt::Key_Hangul_PreHanja
275
Qt::Key_Hangul_PostHanja
276
Qt::Key_Hangul_Special
277
Qt::Key_Dead_Grave
278
Qt::Key_Dead_Acute
279
Qt::Key_Dead_Circumflex
280
Qt::Key_Dead_Tilde
281
Qt::Key_Dead_Macron
282
Qt::Key_Dead_Breve
283
Qt::Key_Dead_Abovedot
284
Qt::Key_Dead_Diaeresis
285
Qt::Key_Dead_Abovering
286
Qt::Key_Dead_Doubleacute
287
Qt::Key_Dead_Caron
288
Qt::Key_Dead_Cedilla
289
Qt::Key_Dead_Ogonek
290
Qt::Key_Dead_Iota
291
Qt::Key_Dead_Voiced_Sound
292
Qt::Key_Dead_Semivoiced_Sound
293
Qt::Key_Dead_Belowdot
294
Qt::Key_Dead_Hook
295
Qt::Key_Dead_Horn
296
Qt::Key_Dead_Stroke
297
Qt::Key_Dead_Abovecomma
298
Qt::Key_Dead_Abovereversedcomma
299
Qt::Key_Dead_Doublegrave
300
Qt::Key_Dead_Belowring
301
Qt::Key_Dead_Belowmacron
302
Qt::Key_Dead_Belowcircumflex
303
Qt::Key_Dead_Belowtilde
304
Qt::Key_Dead_Belowbreve
305
Qt::Key_Dead_Belowdiaeresis
306
Qt::Key_Dead_Invertedbreve
307
Qt::Key_Dead_Belowcomma
308
Qt::Key_Dead_Currency
309
Qt::Key_Dead_a
310
Qt::Key_Dead_A
311
Qt::Key_Dead_e
312
Qt::Key_Dead_E
313
Qt::Key_Dead_i
314
Qt::Key_Dead_I
315
Qt::Key_Dead_o
316
Qt::Key_Dead_O
317
Qt::Key_Dead_u
318
Qt::Key_Dead_U
319
Qt::Key_Dead_Small_Schwa
320
Qt::Key_Dead_Capital_Schwa
321
Qt::Key_Dead_Greek
322
Qt::Key_Dead_Lowline
323
Qt::Key_Dead_Aboveverticalline
324
Qt::Key_Dead_Belowverticalline
325
Qt::Key_Dead_Longsolidusoverlay
326
Qt::Key_Back
327
Qt::Key_Forward
328
Qt::Key_Stop
329
Qt::Key_Refresh
330
Qt::Key_VolumeDown
331
Qt::Key_VolumeMute
332
Qt::Key_VolumeUp
333
Qt::Key_BassBoost
334
Qt::Key_BassUp
335
Qt::Key_BassDown
336
Qt::Key_TrebleUp
337
Qt::Key_TrebleDown
338
Qt::Key_MediaPlay
339
Qt::Key_MediaStop
340
Qt::Key_MediaPrevious
341
Qt::Key_MediaNext
342
Qt::Key_MediaRecord
343
Qt::Key_MediaPause
344
Qt::Key_MediaTogglePlayPause
345
Qt::Key_HomePage
346
Qt::Key_Favorites
347
Qt::Key_Search
348
Qt::Key_Standby
349
Qt::Key_OpenUrl
350
Qt::Key_LaunchMail
351
Qt::Key_LaunchMedia
352
Qt::Key_Launch0
353
Qt::Key_Launch1
354
Qt::Key_Launch2
355
Qt::Key_Launch3
356
Qt::Key_Launch4
357
Qt::Key_Launch5
358
Qt::Key_Launch6
359
Qt::Key_Launch7
360
Qt::Key_Launch8
361
Qt::Key_Launch9
362
Qt::Key_LaunchA
363
Qt::Key_LaunchB
364
Qt::Key_LaunchC
365
Qt::Key_LaunchD
366
Qt::Key_LaunchE
367
Qt::Key_LaunchF
368
Qt::Key_LaunchG
369
Qt::Key_LaunchH
370
Qt::Key_MonBrightnessUp
371
Qt::Key_MonBrightnessDown
372
Qt::Key_KeyboardLightOnOff
373
Qt::Key_KeyboardBrightnessUp
374
Qt::Key_KeyboardBrightnessDown
375
Qt::Key_PowerOff
376
Qt::Key_WakeUp
377
Qt::Key_Eject
378
Qt::Key_ScreenSaver
379
Qt::Key_WWW
380
Qt::Key_Memo
381
Qt::Key_LightBulb
382
Qt::Key_Shop
383
Qt::Key_History
384
Qt::Key_AddFavorite
385
Qt::Key_HotLinks
386
Qt::Key_BrightnessAdjust
387
Qt::Key_Finance
388
Qt::Key_Community
389
Qt::Key_AudioRewind
390
Qt::Key_BackForward
391
Qt::Key_ApplicationLeft
392
Qt::Key_ApplicationRight
393
Qt::Key_Book
394
Qt::Key_CD
395
Qt::Key_Calculator
396
Qt::Key_ToDoList
397
Qt::Key_ClearGrab
398
Qt::Key_Close
399
Qt::Key_Copy
400
Qt::Key_Cut
401
Qt::Key_Display
402
Qt::Key_DOS
403
Qt::Key_Documents
404
Qt::Key_Excel
405
Qt::Key_Explorer
406
Qt::Key_Game
407
Qt::Key_Go
408
Qt::Key_iTouch
409
Qt::Key_LogOff
410
Qt::Key_Market
411
Qt::Key_Meeting
412
Qt::Key_MenuKB
413
Qt::Key_MenuPB
414
Qt::Key_MySites
415
Qt::Key_News
416
Qt::Key_OfficeHome
417
Qt::Key_Option
418
Qt::Key_Paste
419
Qt::Key_Phone
420
Qt::Key_Calendar
421
Qt::Key_Reply
422
Qt::Key_Reload
423
Qt::Key_RotateWindows
424
Qt::Key_RotationPB
425
Qt::Key_RotationKB
426
Qt::Key_Save
427
Qt::Key_Send
428
Qt::Key_Spell
429
Qt::Key_SplitScreen
430
Qt::Key_Support
431
Qt::Key_TaskPane
432
Qt::Key_Terminal
433
Qt::Key_Tools
434
Qt::Key_Travel
435
Qt::Key_Video
436
Qt::Key_Word
437
Qt::Key_Xfer
438
Qt::Key_ZoomIn
439
Qt::Key_ZoomOut
440
Qt::Key_Away
441
Qt::Key_Messenger
442
Qt::Key_WebCam
443
Qt::Key_MailForward
444
Qt::Key_Pictures
445
Qt::Key_Music
446
Qt::Key_Battery
447
Qt::Key_Bluetooth
448
Qt::Key_WLAN
449
Qt::Key_UWB
450
Qt::Key_AudioForward
451
Qt::Key_AudioRepeat
452
Qt::Key_AudioRandomPlay
453
Qt::Key_Subtitle
454
Qt::Key_AudioCycleTrack
455
Qt::Key_Time
456
Qt::Key_Hibernate
457
Qt::Key_View
458
Qt::Key_TopMenu
459
Qt::Key_PowerDown
460
Qt::Key_Suspend
461
Qt::Key_ContrastAdjust
462
Qt::Key_TouchpadToggle
463
Qt::Key_TouchpadOn
464
Qt::Key_TouchpadOff
465
Qt::Key_MicMute
466
Qt::Key_Red
467
Qt::Key_Green
468
Qt::Key_Yellow
469
Qt::Key_Blue
470
Qt::Key_ChannelUp
471
Qt::Key_ChannelDown
472
Qt::Key_Guide
473
Qt::Key_Info
474
Qt::Key_Settings
475
Qt::Key_MicVolumeUp
476
Qt::Key_MicVolumeDown
477
Qt::Key_New
478
Qt::Key_Open
479
Qt::Key_Find
480
Qt::Key_Undo
481
Qt::Key_Redo
482
Qt::Key_MediaLast
483
Qt::Key_unknown
484
Qt::Key_Call
485
Qt::Key_Camera
486
Qt::Key_CameraFocus
487
Qt::Key_Context1
488
Qt::Key_Context2
489
Qt::Key_Context3
490
Qt::Key_Context4
491
Qt::Key_Flip
492
Qt::Key_Hangup
493
Qt::Key_No
494
Qt::Key_Select
495
Qt::Key_Yes
496
Qt::Key_ToggleCallHangup
497
Qt::Key_VoiceDial
498
Qt::Key_LastNumberRedial
499
Qt::Key_Execute
500
Qt::Key_Printer
501
Qt::Key_Play
502
Qt::Key_Sleep
503
Qt::Key_Zoom
504
Qt::Key_Exit
505
Qt::Key_Cancel
506
//*/
507
//case Qt::Key_Clear: k = XK_Clear; break;
508
}
509
return
k;
510
}
CConvertKeyCode::QtToScanCode
static UINT32 QtToScanCode(int key, Qt::KeyboardModifiers modifiers)
CConvertKeyCode::QtToScanCode
定义
ConvertKeyCode.cpp:17
作者:康林 (kl222@126.com)
版权所有(c) 康林工作室 保留所有权力