58 if (!mGroup) { |
58 if (!mGroup) { |
59 res = KErrNotReady; |
59 res = KErrNotReady; |
60 TX_LOG_ARGS( QString("!mGroup")); |
60 TX_LOG_ARGS( QString("!mGroup")); |
61 } else { |
61 } else { |
62 switch (mRequestType) { |
62 switch (mRequestType) { |
63 case CaptureRequestTypeNormal: |
63 case CaptureRequestTypeNormal: |
64 mRequestHandle = mGroup->CaptureKey(mKey, translatedModifierMask(), |
64 mRequestHandle = mGroup->CaptureKey(mKey, translatedModifierMask(), |
65 translatedModifier()); |
65 translatedModifier()); |
66 TX_LOG_ARGS( QString("CaptureKey done")) |
66 TX_LOG_ARGS( QString("CaptureKey done")) |
67 break; |
67 break; |
68 case CaptureRequestTypeLong: |
68 case CaptureRequestTypeLong: |
69 mRequestHandle = mGroup->CaptureLongKey(mKey, mKey, |
69 mRequestHandle = mGroup->CaptureLongKey(mKey, mKey, |
70 translatedModifierMask(), translatedModifier(), 0, longKeyFlags); |
70 translatedModifierMask(), translatedModifier(), 0, longKeyFlags); |
71 TX_LOG_ARGS( QString("CaptureLongKey done")) |
71 TX_LOG_ARGS( QString("CaptureLongKey done")) |
72 break; |
72 break; |
73 case CaptureRequestTypeUpAndDown: |
73 case CaptureRequestTypeUpAndDown: |
74 mRequestHandle = mGroup->CaptureKeyUpAndDowns(mKey, |
74 mRequestHandle = mGroup->CaptureKeyUpAndDowns(mKey, |
75 translatedModifierMask(), translatedModifier()); |
75 translatedModifierMask(), translatedModifier()); |
76 TX_LOG_ARGS( QString("CaptureKeyUpAndDowns done")) |
76 TX_LOG_ARGS( QString("CaptureKeyUpAndDowns done")) |
77 break; |
77 break; |
78 default: |
78 default: |
79 res = KErrNotSupported; |
79 res = KErrNotSupported; |
80 TX_LOG_ARGS( QString("request not done")) |
80 TX_LOG_ARGS( QString("request not done")) |
81 break; |
81 break; |
82 } |
82 } |
83 |
83 |
84 if (mRequestHandle < 0){ |
84 if (mRequestHandle < 0){ |
85 res = mRequestHandle; |
85 res = mRequestHandle; |
86 } else { // following probably is not needed, it could be used to capture Modifires keys as normal keys |
86 } else { // following probably is not needed, it could be used to capture Modifires keys as normal keys |
87 //In Qt you might request capture CTRL key, in symbian you have to capture Left and Right CTRL keys |
87 //In Qt you might request capture CTRL key, in symbian you have to capture Left and Right CTRL keys |
88 bool additionalAction = false; |
88 bool additionalAction = false; |
89 TUint additionalKey = 0; |
89 TUint additionalKey = 0; |
90 if (mRequestType == CaptureRequestTypeNormal && mRequestType == CaptureRequestTypeLong){ |
90 switch(mKey){ |
91 if (mKey == EKeyLeftShift) { |
91 case EKeyLeftShift: |
92 additionalAction = true; |
92 additionalAction = true; |
93 additionalKey = EKeyRightShift; |
93 additionalKey = (mRequestType == CaptureRequestTypeUpAndDown) ? EStdKeyRightShift : EKeyRightShift; |
94 } |
94 break; |
95 |
95 case EKeyLeftCtrl: |
96 if (mKey == EKeyLeftCtrl) { |
96 additionalAction = true; |
97 additionalAction = true; |
97 additionalKey = (mRequestType == CaptureRequestTypeUpAndDown) ? EStdKeyRightCtrl : EKeyRightCtrl; |
98 additionalKey = EKeyRightCtrl; |
98 break; |
99 } |
99 case EKeyLeftFunc: |
100 |
100 additionalAction = true; |
101 if (mKey == EKeyLeftFunc) { |
101 additionalKey = (mRequestType == CaptureRequestTypeUpAndDown) ? EStdKeyRightFunc : EKeyRightFunc; |
102 additionalAction = true; |
102 break; |
103 additionalKey = EKeyRightFunc; |
103 } |
104 } |
104 |
105 } else { //for CaptureRequestTypeUpAndDown ise StdKeys |
|
106 if (mKey == EStdKeyLeftShift) { |
|
107 additionalAction = true; |
|
108 additionalKey = EStdKeyRightShift; |
|
109 } |
|
110 |
|
111 if (mKey == EStdKeyLeftCtrl) { |
|
112 additionalAction = true; |
|
113 additionalKey = EStdKeyRightCtrl; |
|
114 } |
|
115 |
|
116 if (mKey == EStdKeyLeftFunc) { |
|
117 additionalAction = true; |
|
118 additionalKey = EStdKeyRightFunc; |
|
119 } |
|
120 } |
|
121 if (additionalAction && additionalKey != 0) { |
105 if (additionalAction && additionalKey != 0) { |
122 TX_LOG_ARGS( QString("additionalAction needed")); |
106 TX_LOG_ARGS( QString("additionalAction needed")); |
123 switch (mRequestType) { |
107 switch (mRequestType) { |
124 case CaptureRequestTypeNormal: |
108 case CaptureRequestTypeNormal: |
125 mAdditionalRequestHandle = mGroup->CaptureKey(additionalKey, |
109 mAdditionalRequestHandle = mGroup->CaptureKey(additionalKey, |