Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf8 -*-
- from GizmoDaemon import *
- from GizmoScriptDefault import *
- import subprocess
- ENABLED = True
- VERSION_NEEDED = 3.2
- INTERESTED_CLASSES = [GizmoEventClass.Standard]
- MOD_KEY = GizmoKey.KEY_RIGHTALT
- CURSOR_KEY_MAPPING = {
- GizmoKey.KEY_J: GizmoKey.KEY_DOWN,
- GizmoKey.KEY_K: GizmoKey.KEY_UP,
- GizmoKey.KEY_L: GizmoKey.KEY_RIGHT,
- GizmoKey.KEY_H: GizmoKey.KEY_LEFT,
- GizmoKey.KEY_F: GizmoKey.KEY_DOWN,
- }
- class KeyboardViModeSublimeText2Default(GizmoScriptDefault):
- """
- Шорткаты в Vi-стиле для Sublime Text 2
- """
- def onEvent(self, Event, Gizmo=None):
- if not GizmoScriptDefault.checkEvent(self, Event, Gizmo):
- return False
- if Gizmod.CurrentFocus.WindowClass == 'Subl' and Gizmod.CurrentFocus.WindowName.endswith(" - Sublime Text 2"):
- return self.onDeviceEvent(Event, Gizmo)
- else:
- return False
- def onDeviceEvent(self, Event, Gizmo=None):
- if Event.Code == MOD_KEY:
- if Event.Value is 1:
- Gizmod.Dispatcher.IsModPressed = True
- elif Event.Value is 0:
- Gizmod.Dispatcher.IsModPressed = False
- return True
- if Gizmod.Dispatcher.IsModPressed and Event.Code in CURSOR_KEY_MAPPING:
- if Event.Value in [0, 1]:
- Gizmod.Keyboards[0].createEventRaw(GizmoEventType.EV_KEY, CURSOR_KEY_MAPPING[Event.Code], Event.Value)
- elif Event.Value is 2:
- Gizmod.Keyboards[0].createEventPress(GizmoEventType.EV_KEY, CURSOR_KEY_MAPPING[Event.Code])
- return True
- return False
- Gizmod.Dispatcher.IsModPressed = False
- KeyboardViModeSublimeText2Default(ENABLED, VERSION_NEEDED, INTERESTED_CLASSES)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement