mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-24 01:49:20 +00:00
Added {CLEARFIELD} to autotype commands. Stubbs for {DELAY X}
This commit is contained in:
14
MacPass/MPAutotypeClear.h
Normal file
14
MacPass/MPAutotypeClear.h
Normal file
@@ -0,0 +1,14 @@
|
||||
//
|
||||
// MPAutotypeClear.h
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 20/08/14.
|
||||
// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MPAutotypeCommand.h"
|
||||
|
||||
@interface MPAutotypeClear : MPAutotypeCommand
|
||||
|
||||
|
||||
@end
|
||||
25
MacPass/MPAutotypeClear.m
Normal file
25
MacPass/MPAutotypeClear.m
Normal file
@@ -0,0 +1,25 @@
|
||||
//
|
||||
// MPAutotypeClear.m
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 20/08/14.
|
||||
// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MPAutotypeClear.h"
|
||||
#import "MPKeyMapper.h"
|
||||
#import <Carbon/Carbon.h>
|
||||
|
||||
@implementation MPAutotypeClear
|
||||
|
||||
- (void)execute {
|
||||
CGKeyCode keyCode = [MPKeyMapper keyCodeForCharacter:@"A"];
|
||||
if(keyCode == kMPUnknownKeyCode) {
|
||||
NSLog(@"Unable to generate key code for 'A'");
|
||||
return;
|
||||
}
|
||||
[self sendPressKey:keyCode modifierFlags:kCGEventFlagMaskCommand];
|
||||
[self sendPressKey:kVK_Delete modifierFlags:0];
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -10,6 +10,8 @@
|
||||
|
||||
#import "MPAutotypePaste.h"
|
||||
#import "MPAutotypeKeyPress.h"
|
||||
#import "MPAutotypeClear.h"
|
||||
#import "MPAutotypeDelay.h"
|
||||
|
||||
#import "MPAutotypeContext.h"
|
||||
#import "MPKeyMapper.h"
|
||||
@@ -163,19 +165,26 @@
|
||||
}
|
||||
|
||||
+ (void)appendCommandForString:(NSString *)commandString toCommands:(NSMutableArray *)commands activeModifer:(CGEventFlags)flags {
|
||||
if(!commandString) {
|
||||
if(nil == commandString) {
|
||||
return;
|
||||
}
|
||||
/* TODO: Test for special Commands */
|
||||
/* TODO: fall back to paste if nothing matches */
|
||||
|
||||
|
||||
NSString *delayPrefix = [[NSString alloc] initWithFormat:@"{%@", kKPKAutotypeDelay];
|
||||
NSNumber *keyCodeNumber = [self keypressCommands][commandString];
|
||||
|
||||
if(keyCodeNumber) {
|
||||
if(nil != keyCodeNumber) {
|
||||
CGKeyCode keyCode = [keyCodeNumber keyCodeValue];
|
||||
[commands addObject:[[MPAutotypeKeyPress alloc] initWithModifierMask:flags keyCode:keyCode]];
|
||||
}
|
||||
else if([kKPKAutotypeClearField isEqualToString:commandString]) {
|
||||
[commands addObject:[[MPAutotypeClear alloc] init]];
|
||||
}
|
||||
else if([commandString hasPrefix:delayPrefix]){
|
||||
[commands addObject:[[MPAutotypeDelay alloc] initWithDelay:5]];
|
||||
/* TODO: find the delay */
|
||||
}
|
||||
else {
|
||||
[self appendPasteCommandForContent:commandString toCommands:commands];
|
||||
}
|
||||
|
||||
15
MacPass/MPAutotypeDelay.h
Normal file
15
MacPass/MPAutotypeDelay.h
Normal file
@@ -0,0 +1,15 @@
|
||||
//
|
||||
// MPAutotypeDelay.h
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 20/08/14.
|
||||
// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MPAutotypeCommand.h"
|
||||
|
||||
@interface MPAutotypeDelay : MPAutotypeCommand
|
||||
|
||||
- (instancetype)initWithDelay:(NSUInteger)delay;
|
||||
|
||||
@end
|
||||
36
MacPass/MPAutotypeDelay.m
Normal file
36
MacPass/MPAutotypeDelay.m
Normal file
@@ -0,0 +1,36 @@
|
||||
//
|
||||
// MPAutotypeDelay.m
|
||||
// MacPass
|
||||
//
|
||||
// Created by Michael Starke on 20/08/14.
|
||||
// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import "MPAutotypeDelay.h"
|
||||
|
||||
@interface MPAutotypeDelay () {
|
||||
@private
|
||||
NSUInteger _delay;
|
||||
}
|
||||
@end
|
||||
|
||||
@implementation MPAutotypeDelay
|
||||
|
||||
- (id)init {
|
||||
self = [self initWithDelay:0];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (instancetype)initWithDelay:(NSUInteger)delay {
|
||||
self = [super init];
|
||||
if(self) {
|
||||
_delay = delay;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)execute {
|
||||
usleep((useconds_t)(_delay*1000*1000));
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user