FreeRDP
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
RDPKeyboard Class Reference
Inheritance diagram for RDPKeyboard:
Collaboration diagram for RDPKeyboard:

Instance Methods

(void) - initWithSession:delegate:
 
(void) - reset
 
(void) - sendUnicode:
 
(void) - sendVirtualKeyCode:
 
(void) - toggleCtrlKey
 
(void) - toggleAltKey
 
(void) - toggleShiftKey
 
(void) - toggleWinKey
 
(void) - sendEnterKeyStroke
 
(void) - sendEscapeKeyStroke
 
(void) - sendBackspaceKeyStroke
 

Class Methods

(RDPKeyboard *) + getSharedRDPKeyboard
 

Protected Attributes

RDPSession_session
 
int _virtual_key_map [256]
 
int _unicode_map [256]
 
NSDictionary * _special_keys
 
NSObject< RDPKeyboardDelegate > * _delegate
 
BOOL _ctrl_pressed
 
BOOL _alt_pressed
 
BOOL _shift_pressed
 
BOOL _win_pressed
 

Properties

id< RDPKeyboardDelegatedelegate
 
BOOL ctrlPressed
 
BOOL altPressed
 
BOOL shiftPressed
 
BOOL winPressed
 

Detailed Description

Definition at line 21 of file RDPKeyboard.h.

Method Documentation

◆ getSharedRDPKeyboard

+ (RDPKeyboard *) getSharedRDPKeyboard

Definition at line 1 of file RDPKeyboard.m.

122{
123 static RDPKeyboard *_shared_keyboard = nil;
124
125 if (_shared_keyboard == nil)
126 {
127 @synchronized(self)
128 {
129 if (_shared_keyboard == nil)
130 _shared_keyboard = [[RDPKeyboard alloc] init];
131 }
132 }
133
134 return _shared_keyboard;
135}

◆ initWithSession:delegate:

- (void) initWithSession: (RDPSession *)  session
delegate: (NSObject<RDPKeyboardDelegate> *)  delegate 

Definition at line 1 of file RDPKeyboard.m.

138 :(RDPSession *)session delegate:(NSObject<RDPKeyboardDelegate> *)delegate
139{
140 _alt_pressed = NO;
141 _ctrl_pressed = NO;
142 _shift_pressed = NO;
143 _win_pressed = NO;
144
145 _session = session;
146 _delegate = delegate;
147}

◆ reset

- (void) reset

Definition at line 1 of file RDPKeyboard.m.

150{
151 // reset pressed ctrl, alt, shift or win key
152 if (_shift_pressed)
153 [self toggleShiftKey];
154 if (_alt_pressed)
155 [self toggleAltKey];
156 if (_ctrl_pressed)
157 [self toggleCtrlKey];
158 if (_win_pressed)
159 [self toggleWinKey];
160}

◆ sendBackspaceKeyStroke

- (void) sendBackspaceKeyStroke

Definition at line 1 of file RDPKeyboard.m.

227{
228 [self sendVirtualKeyCode:VK_BACK];
229}

◆ sendEnterKeyStroke

- (void) sendEnterKeyStroke

Definition at line 1 of file RDPKeyboard.m.

217{
218 [self sendVirtualKeyCode:(VK_RETURN | KBDEXT)];
219}

◆ sendEscapeKeyStroke

- (void) sendEscapeKeyStroke

Definition at line 1 of file RDPKeyboard.m.

222{
223 [self sendVirtualKeyCode:VK_ESCAPE];
224}

◆ sendUnicode:

- (void) sendUnicode: (int)  character

Definition at line 1 of file RDPKeyboard.m.

164 :(int)character
165{
166 if (isalnum(character))
167 [self handleAlphaNumChar:character];
168 else
169 [self handleSpecialKey:character];
170
171 [self reset];
172}

◆ sendVirtualKeyCode:

- (void) sendVirtualKeyCode: (int)  keyCode

Definition at line 1 of file RDPKeyboard.m.

175 :(int)keyCode
176{
177 [self sendVirtualKey:keyCode up:NO];
178 [self sendVirtualKey:keyCode up:YES];
179}

◆ toggleAltKey

- (void) toggleAltKey

Definition at line 1 of file RDPKeyboard.m.

192{
193 [self sendVirtualKey:VK_LMENU up:_alt_pressed];
194 _alt_pressed = !_alt_pressed;
195 [self notifyDelegateModifiersChanged];
196}

◆ toggleCtrlKey

- (void) toggleCtrlKey

Definition at line 1 of file RDPKeyboard.m.

184{
185 [self sendVirtualKey:VK_LCONTROL up:_ctrl_pressed];
186 _ctrl_pressed = !_ctrl_pressed;
187 [self notifyDelegateModifiersChanged];
188}

◆ toggleShiftKey

- (void) toggleShiftKey

Definition at line 1 of file RDPKeyboard.m.

200{
201 [self sendVirtualKey:VK_LSHIFT up:_shift_pressed];
202 _shift_pressed = !_shift_pressed;
203 [self notifyDelegateModifiersChanged];
204}

◆ toggleWinKey

- (void) toggleWinKey

Definition at line 1 of file RDPKeyboard.m.

208{
209 [self sendVirtualKey:(VK_LWIN | KBDEXT) up:_win_pressed];
210 _win_pressed = !_win_pressed;
211 [self notifyDelegateModifiersChanged];
212}

Field Documentation

◆ _alt_pressed

- (BOOL) _alt_pressed
protected

Definition at line 33 of file RDPKeyboard.h.

◆ _ctrl_pressed

- (BOOL) _ctrl_pressed
protected

Definition at line 32 of file RDPKeyboard.h.

◆ _delegate

- (NSObject<RDPKeyboardDelegate>*) _delegate
protected

Definition at line 30 of file RDPKeyboard.h.

◆ _session

- (RDPSession*) _session
protected

Definition at line 24 of file RDPKeyboard.h.

◆ _shift_pressed

- (BOOL) _shift_pressed
protected

Definition at line 34 of file RDPKeyboard.h.

◆ _special_keys

- (NSDictionary*) _special_keys
protected

Definition at line 28 of file RDPKeyboard.h.

◆ _unicode_map

- (int _unicode_map[256])
protected

Definition at line 27 of file RDPKeyboard.h.

◆ _virtual_key_map

- (int _virtual_key_map[256])
protected

Definition at line 26 of file RDPKeyboard.h.

◆ _win_pressed

- (BOOL) _win_pressed
protected

Definition at line 35 of file RDPKeyboard.h.

Property Documentation

◆ altPressed

- (BOOL) altPressed
readatomicassign

Definition at line 40 of file RDPKeyboard.h.

◆ ctrlPressed

- (BOOL) ctrlPressed
readatomicassign

Definition at line 39 of file RDPKeyboard.h.

◆ delegate

- (id<RDPKeyboardDelegate>) delegate
readwriteatomicassign

Definition at line 38 of file RDPKeyboard.h.

◆ shiftPressed

- (BOOL) shiftPressed
readatomicassign

Definition at line 41 of file RDPKeyboard.h.

◆ winPressed

- (BOOL) winPressed
readatomicassign

Definition at line 42 of file RDPKeyboard.h.


The documentation for this class was generated from the following files: