Bei der Mac Tastatur ist ja Backslash auf "Shift-Alt-7" versteckt.
Kann man zusätzlich diese auch auf z.B. Ctrl-7 legen.
OS X 10.9.2
FF
Backslash
Backslash
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: Backslash
Ist das eine Frage oder ein Satz?mk-soft hat geschrieben:Kann man zusätzlich diese auch auf z.B. Ctrl-7 legen.
Wenn Frage, willst du das mit PureBasic unter OSX ändern oder ist das eine allgemeine Frage bzw. suchst du ein Programm, womit du Tasten umbelegen kannst? Wenn zweiteres: http://www.macwelt.de/downloads/Tastatu ... 88942.html
Bitte genauer sagen, was du möchtest. Wenn es nichts mit PB zu tun hat, muss ich dein Thread verschieben.
Re: Backslash
War eine Frage
Am besten nur für den PB-Editor die Taste Ctrl-7 für Backslash hinzufügen.
Am besten nur für den PB-Editor die Taste Ctrl-7 für Backslash hinzufügen.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: Backslash
Vielleicht kannst du was damit anfangen und den Code für deine Tastenkombination anpassen: http://www.purebasic.fr/english/viewtop ... 79#p394079
Re: Backslash
Dank Hilfe aus dem englischen Forum
Code: Alles auswählen
;-TOP
; Comment : Backslash over Ctrl+ß
; Author : mk-soft
; *******************************
; Sendkey and Hotkey from Shardik
; *******************************
EnableExplicit
#kCGHIDEventTap= 0
; ----- Virtual keycodes (defined in Events.h)
#kVK_ANSI_A = $00
#kVK_ANSI_S = $01
#kVK_ANSI_D = $02
#kVK_ANSI_F = $03
#kVK_ANSI_H = $04
#kVK_ANSI_G = $05
#kVK_ANSI_Z = $06
#kVK_ANSI_X = $07
#kVK_ANSI_C = $08
#kVK_ANSI_V = $09
#kVK_ANSI_B = $0B
#kVK_ANSI_Q = $0C
#kVK_ANSI_W = $0D
#kVK_ANSI_E = $0E
#kVK_ANSI_R = $0F
#kVK_ANSI_Y = $10
#kVK_ANSI_T = $11
#kVK_ANSI_1 = $12
#kVK_ANSI_2 = $13
#kVK_ANSI_3 = $14
#kVK_ANSI_4 = $15
#kVK_ANSI_6 = $16
#kVK_ANSI_5 = $17
#kVK_ANSI_Equal = $18
#kVK_ANSI_9 = $19
#kVK_ANSI_7 = $1A
#kVK_ANSI_Minus = $1B
#kVK_ANSI_8 = $1C
#kVK_ANSI_0 = $1D
#kVK_ANSI_RightBracket = $1E
#kVK_ANSI_O = $1F
#kVK_ANSI_U = $20
#kVK_ANSI_LeftBracket = $21
#kVK_ANSI_I = $22
#kVK_ANSI_P = $23
#kVK_ANSI_L = $25
#kVK_ANSI_J = $26
#kVK_ANSI_Quote = $27
#kVK_ANSI_K = $28
#kVK_ANSI_Semicolon = $29
#kVK_ANSI_Backslash = $2A
#kVK_ANSI_Comma = $2B
#kVK_ANSI_Slash = $2C
#kVK_ANSI_N = $2D
#kVK_ANSI_M = $2E
#kVK_ANSI_Period = $2F
#kVK_ANSI_Grave = $32
#kVK_ANSI_KeypadDecimal = $41
#kVK_ANSI_KeypadMultiply = $43
#kVK_ANSI_KeypadPlus = $45
#kVK_ANSI_KeypadClear = $47
#kVK_ANSI_KeypadDivide = $4B
#kVK_ANSI_KeypadEnter = $4C
#kVK_ANSI_KeypadMinus = $4E
#kVK_ANSI_KeypadEquals = $51
#kVK_ANSI_Keypad0 = $52
#kVK_ANSI_Keypad1 = $53
#kVK_ANSI_Keypad2 = $54
#kVK_ANSI_Keypad3 = $55
#kVK_ANSI_Keypad4 = $56
#kVK_ANSI_Keypad5 = $57
#kVK_ANSI_Keypad6 = $58
#kVK_ANSI_Keypad7 = $59
#kVK_ANSI_Keypad8 = $5B
#kVK_ANSI_Keypad9 = $5C
; /* keycodes For keys that are independent of keyboard layout*/
#kVK_Return = $24
#kVK_Tab = $30
#kVK_Space = $31
#kVK_Delete = $33
#kVK_Escape = $35
#kVK_Command = $37
#kVK_Shift = $38
#kVK_CapsLock = $39
#kVK_Option = $3A
#kVK_Control = $3B
#kVK_RightShift = $3C
#kVK_RightOption = $3D
#kVK_RightControl = $3E
#kVK_Function = $3F
#kVK_F17 = $40
#kVK_VolumeUp = $48
#kVK_VolumeDown = $49
#kVK_Mute = $4A
#kVK_F18 = $4F
#kVK_F19 = $50
#kVK_F20 = $5A
#kVK_F5 = $60
#kVK_F6 = $61
#kVK_F7 = $62
#kVK_F3 = $63
#kVK_F8 = $64
#kVK_F9 = $65
#kVK_F11 = $67
#kVK_F13 = $69
#kVK_F16 = $6A
#kVK_F14 = $6B
#kVK_F10 = $6D
#kVK_F12 = $6F
#kVK_F15 = $71
#kVK_Help = $72
#kVK_Home = $73
#kVK_PageUp = $74
#kVK_ForwardDelete = $75
#kVK_F4 = $76
#kVK_End = $77
#kVK_F2 = $78
#kVK_PageDown = $79
#kVK_F1 = $7A
#kVK_LeftArrow = $7B
#kVK_RightArrow = $7C
#kVK_DownArrow = $7D
#kVK_UpArrow = $7E
; ----- Modifier key masks (defined in IOLLEvent.h)
#kCGEventFlagMaskShift = $020000 ; = NX_SHIFTMASK
#kCGEventFlagMaskControl = $040000 ; = NX_CONTROLMASK
#kCGEventFlagMaskAlternate = $080000 ; = NX_ALTERNATEMASK
#kCGEventFlagMaskCommand = $100000 ; = NX_COMMANDMASK
; ----- Keyboard Hotkey
#kEventClassKeyboard = $6B657962 ; 'keyb'
#kEventHotKeyPressed = 5
#kEventParamDirectObject = $2D2D2D2D ; '----'
#typeEventHotKeyID = $686B6964 ; 'hkid'
#controlKeyBit = 12
#controlKey = 1 << #controlKeyBit
#shiftKeyBit = 9
#shiftKey = 1 << #shiftKeyBit
; ---------------------------------------------------------------------------------------
ImportC ""
; Sendkey
CFRelease(CFTypeRef.L)
CGEventCreateKeyboardEvent(CGEventSourceRef.L, CGVirtualKeyCode.U, KeyDown.L)
CGEventPost(CGEventTapLocation.L, CGEventRef.L)
CGEventSetFlags(CGEventRef.L, CGEventFlags.L)
; Keyboard Hotkey
GetApplicationEventTarget()
RegisterEventHotKey(HotKeyCode.L, HotKeyModifiers.L, HotKeyID.Q, EventTargetRef.I, OptionBits.L, *EventHotKeyRef)
UnregisterEventHotKey(EventHotKeyRef.I)
EndImport
; ---------------------------------------------------------------------------------------
Procedure.i SendKey(VirtualKey.U, ModifierKey.i = 0)
Protected KeyEvent.i
KeyEvent = CGEventCreateKeyboardEvent(0, VirtualKey, #True)
If KeyEvent
; ----- Press key
CGEventSetFlags(KeyEvent, ModifierKey)
CGEventPost(#kCGHIDEventTap, KeyEvent)
CFRelease(KeyEvent)
KeyEvent = CGEventCreateKeyboardEvent(0, VirtualKey, #False)
CGEventSetFlags(KeyEvent, ModifierKey)
If KeyEvent
; ----- Release key
CGEventPost(#kCGHIDEventTap, KeyEvent)
CFRelease(KeyEvent)
EndIf
EndIf
ProcedureReturn KeyEvent
EndProcedure
; ---------------------------------------------------------------------------------------
Structure EventTypeSpec
EventClass.L
EventKind.L
EndStructure
Structure EventHotKeyID
Signature.L
ID.L
EndStructure
; ---------------------------------------------------------------------------------------
ProcedureC HotKeyHandler(NextHandlerRef.I, EventRef.I, *UserData)
Protected HotKey.Q
If GetEventParameter_(EventRef, #kEventParamDirectObject, #typeEventHotKeyID, 0, SizeOf(EventHotKeyID), 0, @HotKey) = 0
If PeekL(HotKey) = $68746B31 ; HotKey\Signature = 'htk1' ?
If PeekL(HotKey + 4) ; HotKey\ID = 1 ?
;Delay(200)
SendKey(#kVK_ANSI_7, #kCGEventFlagMaskShift | #kCGEventFlagMaskAlternate)
EndIf
EndIf
EndIf
EndProcedure
; ---------------------------------------------------------------------------------------
Procedure IsRunning(App.s)
Protected RunningApps = CocoaMessage(0, CocoaMessage(0, 0, "NSWorkspace sharedWorkspace"), "runningApplications")
Protected RunningAppsCount = CocoaMessage(0, RunningApps, "count")
Protected RunningApp, AppName.s
Protected i, count
While i < RunningAppsCount
RunningApp = CocoaMessage(0, RunningApps, "objectAtIndex:", i)
AppName.s = PeekS(CocoaMessage(0, CocoaMessage(0, RunningApp, "localizedName"), "UTF8String"), -1, #PB_UTF8)
If AppName = App
count + 1
EndIf
i + 1
Wend
If count > 1
ProcedureReturn #True
Else
ProcedureReturn #False
EndIf
EndProcedure
If IsRunning("Backslash")
End
EndIf
Define HotKey.EventHotKeyID
Define HotKeyRef.I
Dim EventTypes.EventTypeSpec(0)
EventTypes(0)\EventClass = #kEventClassKeyboard
EventTypes(0)\EventKind = #kEventHotKeyPressed
HotKey\Signature = $68746B31 ; 'htk1'
HotKey\ID = 1
OpenWindow(0, #PB_Ignore, #PB_Ignore, 160, 30, "Backslash", #PB_Window_SystemMenu)
TextGadget(0, 0, 0, 160, 30, "Backslash (Ctrl+ß)", #PB_Text_Center)
; ----- Install EventHandler to react to pressing of hot key(s)
If InstallEventHandler_(GetApplicationEventTarget(), @HotKeyHandler(), 1, @EventTypes(), 0, 0) = 0
; ----- Register hot key (Control+Shift+Space)
RegisterEventHotKey(27, #controlKey, @HotKey, GetApplicationEventTarget(), 0, @HotKeyRef)
EndIf
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
; ----- You do not need to unregister a hot key when your application
; terminates; the system takes care of that for you. You can use this
; function if the user changes a hot key for something in your
; application - you would unregister the previous key and register your
; new key.
UnregisterEventHotKey(HotKeyRef)
Zuletzt geändert von mk-soft am 11.05.2014 16:54, insgesamt 1-mal geändert.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: Backslash
Kleines Update.
Da es wohl Konflikte mit der gleichen Taste von Shortcut und SendKey gibt habe ich den Shortcut auf 'ß' geändert.
Da es wohl Konflikte mit der gleichen Taste von Shortcut und SendKey gibt habe ich den Shortcut auf 'ß' geändert.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: Backslash
Kleines Update 2
- App wird nicht mehr doppelt gestartet
FF
- App wird nicht mehr doppelt gestartet
FF
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive