Commit 4a1ffc513580c83691e84a347eaa0c48744692c1

Authored by bruno
1 parent b7623085
Exists in master

Adicionando autohotkey

Clipboard/Clipboard.py
1 # -- coding: utf-8 -- 1 # -- coding: utf-8 --
2 -import ctypes 2 +import ctypes, subprocess
  3 +
  4 +global process
3 5
4 def clip(): 6 def clip():
5 7
@@ -17,4 +19,11 @@ def clip(): @@ -17,4 +19,11 @@ def clip():
17 if isinstance(text, unicode): 19 if isinstance(text, unicode):
18 return text.encode("utf-8") 20 return text.encode("utf-8")
19 else: 21 else:
20 - return "Selecione um texto"  
21 \ No newline at end of file 22 \ No newline at end of file
  23 + return "Selecione um texto"
  24 +
  25 +def bdragOn():
  26 + global process
  27 + process = subprocess.Popen("Bdrag")
  28 +
  29 +def bdragOff():
  30 + process.kill()
22 \ No newline at end of file 31 \ No newline at end of file
Clipboard/Clipboard.pyc
No preview for this file type
@@ -23,18 +23,23 @@ FILES = src\pyTradutor.cpp src\pyClip.cpp @@ -23,18 +23,23 @@ FILES = src\pyTradutor.cpp src\pyClip.cpp
23 #Headers 23 #Headers
24 INCLUDES = include\pyTradutor.h include\pyClip.h 24 INCLUDES = include\pyTradutor.h include\pyClip.h
25 25
  26 +CLEAN_OBJ = del -q *.obj
  27 +
26 #Gera executável testLibras 28 #Gera executável testLibras
27 -all: $(FILES) $(INCLUDES) src\testLibras.cpp  
28 - $(CC) -Fe$(OUT) -EHsc src\testLibras.cpp $(FILES) $(CFLAGS) $(LFLAGS) 29 +all: $(FILES) $(INCLUDES) src\testLibras.cpp
  30 + $(CC) -Fe$(OUT) -EHsc src\testLibras.cpp $(FILES) $(CFLAGS) $(LFLAGS)
  31 + $(CLEAN_OBJ)
29 32
30 #Gera dll na arquitetura x86 33 #Gera dll na arquitetura x86
31 plugin-x86: $(FILES) $(INCLUDES) 34 plugin-x86: $(FILES) $(INCLUDES)
32 $(CC) -Feplugin\Plugin-x86\CorePlugin -EHsc -LD plugin\corePlugin.cpp $(FILES) -I plugin\corePlugin.h $(CFLAGS) $(LFLAGS) 35 $(CC) -Feplugin\Plugin-x86\CorePlugin -EHsc -LD plugin\corePlugin.cpp $(FILES) -I plugin\corePlugin.h $(CFLAGS) $(LFLAGS)
  36 + $(CLEAN_OBJ)
33 37
34 #Gera dll na arquitetura x64 38 #Gera dll na arquitetura x64
35 plugin-x64: $(FILES) $(INCLUDES) 39 plugin-x64: $(FILES) $(INCLUDES)
36 $(CC) -Feplugin\Plugin-x64\CorePlugin -EHsc -LD plugin\corePlugin.cpp $(FILES) -I plugin\corePlugin.h $(CFLAGS) $(LFLAGS) 40 $(CC) -Feplugin\Plugin-x64\CorePlugin -EHsc -LD plugin\corePlugin.cpp $(FILES) -I plugin\corePlugin.h $(CFLAGS) $(LFLAGS)
37 - 41 + $(CLEAN_OBJ)
  42 +
38 #Gera .obj da classe de teste 43 #Gera .obj da classe de teste
39 testLibras: $(FILES) $(INCLUDES) src\testLibras.cpp 44 testLibras: $(FILES) $(INCLUDES) src\testLibras.cpp
40 $(CC) -c -FotestLibras -EHsc Main.cpp $(FILES) $(CFLAGS) $(LFLAGS) 45 $(CC) -c -FotestLibras -EHsc Main.cpp $(FILES) $(CFLAGS) $(LFLAGS)
@@ -49,7 +54,7 @@ pyClip: src\pyClip.cpp src\pyClip.h @@ -49,7 +54,7 @@ pyClip: src\pyClip.cpp src\pyClip.h
49 54
50 #Limpa arquivos objetos e executáveis criados 55 #Limpa arquivos objetos e executáveis criados
51 clean: 56 clean:
52 - del -q *.exe *.obj 57 + del -q *.exe *.obj
53 58
54 #Limpa dll criada em arquitetura x-86 59 #Limpa dll criada em arquitetura x-86
55 clean-plugin-x86: 60 clean-plugin-x86:
@@ -62,6 +67,7 @@ clean-plugin-x64: @@ -62,6 +67,7 @@ clean-plugin-x64:
62 #Gera executável para testar a dll 67 #Gera executável para testar a dll
63 test-plugin: 68 test-plugin:
64 $(CC) plugin\testPlugin.cpp -EHsc 69 $(CC) plugin\testPlugin.cpp -EHsc
  70 + $(CLEAN_OBJ)
65 71
66 # Baixa e instala dependências 72 # Baixa e instala dependências
67 install: 73 install:
autohotkey/BKing.ahk 0 → 100644
@@ -0,0 +1,72 @@ @@ -0,0 +1,72 @@
  1 +
  2 +
  3 +#SingleInstance,Reload ; Mantem apenas uma versão executando
  4 +SetBatchLines,-1 ; Não permite o script entrar em modo sleep
  5 +CoordMode,Mouse
  6 +
  7 +SysGet,x,68
  8 +SysGet,y,69
  9 +
  10 +~^a::
  11 + Gosub,COPIAR
  12 +return
  13 +
  14 +~+LButton Up::
  15 + Gosub,COPIAR
  16 +Return
  17 +
  18 +~LButton::
  19 + MouseGetPos,coordx_old,coordy_old,winid_old
  20 +Return
  21 +
  22 +~LButton Up::
  23 + MouseGetPos,coordx,coordy,winid
  24 + VarSetCapacity(rect, 16)
  25 +
  26 + DllCall("GetClientRect", "uint", winid_old, "uint", &rect)
  27 + rect_left :=NumGet(rect,0, "int")
  28 + rect_top :=NumGet(rect,4, "int")
  29 + rect_right :=NumGet(rect,8, "int")
  30 + rect_bottom:=NumGet(rect,12,"int")
  31 + If (winid=winid_old And (coordx<coordx_old-x Or coordx>coordx_old+x Or coordy<coordy_old-y Or coordy>coordy_old+y))
  32 + If (coordx_old>=rect_left And coordx_old<=rect_right And coordy_old>=rect_top And coordy_old<=rect_bottom)
  33 + Gosub,COPIAR
  34 +
  35 + ticks = %A_TickCount%
  36 + difticks = %ticks%
  37 + EnvSub,difticks,%oldticks%
  38 +
  39 + If difticks<400
  40 + If (coordx_old>=rect_left And coordx_old<=rect_right And coordy_old>=rect_top And coordy_old<=rect_bottom)
  41 + Gosub,COPIAR
  42 + oldticks=%ticks%
  43 +Return
  44 +
  45 +COPIAR:
  46 + Sleep,400
  47 + clip=%Clipboardall%
  48 + Clipboard=
  49 + Send,^c
  50 + ClipWait,1
  51 + If Clipboard=
  52 + Clipboard=%clip%
  53 +Return
  54 +
  55 +EXIT:
  56 +ExitApp
  57 +
  58 +
  59 +
  60 +
  61 +
  62 +
  63 +
  64 +
  65 +
  66 +
  67 +
  68 +
  69 +
  70 +
  71 +
  72 +
include/pyClip.h
@@ -12,13 +12,16 @@ namespace Clipboard @@ -12,13 +12,16 @@ namespace Clipboard
12 PyObject * pModule; 12 PyObject * pModule;
13 PyObject * pDict; 13 PyObject * pDict;
14 PyObject * pFunc; 14 PyObject * pFunc;
  15 + PyObject * p_On;
  16 + PyObject * p_Off;
15 PyObject * pArgs; 17 PyObject * pArgs;
16 PyObject * pResult; 18 PyObject * pResult;
17 public: 19 public:
18 PyClip(); 20 PyClip();
19 ~PyClip(); 21 ~PyClip();
20 char* clip(); 22 char* clip();
21 - 23 + void bdragOn();
  24 + void bdragOff();
22 }; 25 };
23 } 26 }
24 27
instalador/install.bat
@@ -1,91 +0,0 @@ @@ -1,91 +0,0 @@
1 -::############################## Instalador VLibras ############################  
2 -::# #  
3 -::# Bruno Santos #  
4 -::# brunosantos@lavid.ufpb.br #  
5 -::# #  
6 -::##############################################################################  
7 -  
8 -::Define Título da janela do prompt  
9 -TITLE Instalador VLibras-Core Windows  
10 -  
11 -::Limpa a tela  
12 -CLS  
13 -  
14 -::Desabilita mensagens  
15 -@ECHO off  
16 -  
17 -ECHO ############### Instalando VLibras ###############  
18 -  
19 -::################# Variáveis de Ambiente #################  
20 -:VAR  
21 -ECHO Deseja Exportar as variaveis de ambiente: (S - N)  
22 -  
23 -::Solicita valor do usuário  
24 -SET /p valor=--^>  
25 -  
26 -IF /I %valor% == n GOTO NO_VAR  
27 -IF /I %valor% == s (ECHO OK!) ELSE (GOTO VAR)  
28 -  
29 -ECHO.  
30 -ECHO Exportando Variaveis de Ambiente:  
31 -ECHO.  
32 -  
33 -::Váriaveis Permanentes (Sistema)  
34 -ECHO AELIUS_DATA  
35 -SETX AELIUS_DATA %HOMEPATH%\vlibras-libs\aelius_data /M  
36 -  
37 -ECHO NLTK_DATA  
38 -SETX NLTK_DATA %HOMEPATH%\vlibras-libs\nltk_data /M  
39 -  
40 -ECHO HUNPOS_TAGGER  
41 -SETX HUNPOS_TAGGER %HOMEPATH%\vlibras-libs\bin\hunpos-tag.exe /M  
42 -  
43 -ECHO PYTHONPATH  
44 -SETX PYTHONPATH %HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEPATH%\vlibras-libs;%HOMEPATH%\vlibras-libs\tradutor;%HOMEPATH%\vlibras-core-win\Clipboard /M  
45 -  
46 -SETX "PATH" "%PATH%";%HOMEPATH%\vlibras-libs\bin;%HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEDRIVE%"\Program Files (x86)\7-Zip" /M  
47 -  
48 -::Código executa a partir desse ponto caso o usuário não precise configurar as variáveis de ambiente  
49 -:NO_VAR  
50 -  
51 -::################# Instalação do Python #################  
52 -:PYTHON  
53 -ECHO Deseja Instalar o Python-2.7.9: (S - N)  
54 -  
55 -SET /p valor=--^>  
56 -IF /I %valor% == n GOTO NO_PYTHON  
57 -IF /I %valor% == s (ECHO OK!) ELSE (GOTO PYTHON)  
58 -  
59 -msiexec /i python-2.7.9.msi /passive  
60 -  
61 -::Código executa a partir desse ponto caso o usuário não precise Instalar o Python  
62 -:NO_PYTHON  
63 -  
64 -::################# Instalação do Aelius #################  
65 -:TRADUTOR  
66 -ECHO Deseja Instalar o VLibras Tradutor (S - N)  
67 -  
68 -SET /p valor=--^>  
69 -IF /I %valor% == n GOTO END  
70 -IF /I %valor% == s (ECHO OK!) ELSE (GOTO TRADUTOR)  
71 -  
72 -pyyaml.exe  
73 -numpy.exe  
74 -matplotlib.exe  
75 -nltk.exe  
76 -  
77 -IF NOT EXIST C:"\Program Files (x86)\7-Zip" (msiexec /i 7zip.msi /passive)  
78 -  
79 -ECHO 7-Zip instalado com sucesso!  
80 -  
81 -COPY C:"\Program Files (x86)\7-Zip\7z.exe" %SYSTEMROOT%\System32  
82 -  
83 -::################# Instalação do VLibras #################  
84 -  
85 -ECHO Extraindo Arquivos...  
86 -7z x -o%HOMEPATH% vlibras-libs.zip vlibras-libs  
87 -  
88 -:END  
89 -ECHO VLibras Tradutor instalado com sucesso!  
90 -  
91 -cd %HOMEPATH%\vlibras-libs  
install/install.bat 0 → 100644
@@ -0,0 +1,89 @@ @@ -0,0 +1,89 @@
  1 +::############################## Instalador VLibras ############################
  2 +::# #
  3 +::# Bruno Santos #
  4 +::# brunosantos@lavid.ufpb.br #
  5 +::# #
  6 +::##############################################################################
  7 +
  8 +::Define Título da janela do prompt
  9 +TITLE Instalador VLibras-Core Windows
  10 +
  11 +::Limpa a tela
  12 +CLS
  13 +
  14 +::Desabilita mensagens
  15 +@ECHO off
  16 +
  17 +ECHO ############### Instalando VLibras ###############
  18 +
  19 +::################# Variáveis de Ambiente #################
  20 +:VAR
  21 +ECHO Deseja Exportar as variaveis de ambiente: (S - N)
  22 +
  23 +::Solicita valor do usuário
  24 +SET /p valor=--^>
  25 +
  26 +IF /I %valor% == n GOTO NO_VAR
  27 +IF /I %valor% == s (ECHO OK!) ELSE (GOTO VAR)
  28 +
  29 +ECHO.
  30 +ECHO Exportando Variaveis de Ambiente:
  31 +ECHO.
  32 +
  33 +::Váriaveis Permanentes (Sistema)
  34 +ECHO AELIUS_DATA
  35 +SETX AELIUS_DATA %HOMEPATH%\vlibras-libs\aelius_data /M
  36 +
  37 +ECHO NLTK_DATA
  38 +SETX NLTK_DATA %HOMEPATH%\vlibras-libs\nltk_data /M
  39 +
  40 +ECHO HUNPOS_TAGGER
  41 +SETX HUNPOS_TAGGER %HOMEPATH%\vlibras-libs\bin\hunpos-tag.exe /M
  42 +
  43 +ECHO PYTHONPATH
  44 +SETX PYTHONPATH %HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEPATH%\vlibras-libs;%HOMEPATH%\vlibras-libs\tradutor;%HOMEPATH%\vlibras-core-win\Clipboard /M
  45 +
  46 +SETX "PATH" "%PATH%";%HOMEPATH%\vlibras-libs\bin;%HOMEDRIVE%\Python27;%HOMEDRIVE%\Python27\Scripts;%HOMEDRIVE%\Python27\Lib\site-packages;%HOMEDRIVE%"\Program Files (x86)\7-Zip" /M
  47 +
  48 +::Código executa a partir desse ponto caso o usuário não precise configurar as variáveis de ambiente
  49 +:NO_VAR
  50 +
  51 +::################# Instalação do Python #################
  52 +:PYTHON
  53 +ECHO Deseja Instalar o Python-2.7.9: (S - N)
  54 +
  55 +SET /p valor=--^>
  56 +IF /I %valor% == n GOTO NO_PYTHON
  57 +IF /I %valor% == s (ECHO OK!) ELSE (GOTO PYTHON)
  58 +
  59 +msiexec /i python-2.7.9.msi /passive
  60 +
  61 +::Código executa a partir desse ponto caso o usuário não precise Instalar o Python
  62 +:NO_PYTHON
  63 +
  64 +::################# Instalação do Aelius #################
  65 +:TRADUTOR
  66 +ECHO Deseja Instalar o VLibras Tradutor (S - N)
  67 +
  68 +SET /p valor=--^>
  69 +IF /I %valor% == n GOTO END
  70 +IF /I %valor% == s (ECHO OK!) ELSE (GOTO TRADUTOR)
  71 +
  72 +pyyaml.exe
  73 +numpy.exe
  74 +matplotlib.exe
  75 +nltk.exe
  76 +
  77 +IF NOT EXIST C:"\Program Files (x86)\7-Zip" (msiexec /i 7zip.msi /passive)
  78 +
  79 +ECHO 7-Zip instalado com sucesso!
  80 +
  81 +COPY C:"\Program Files (x86)\7-Zip\7z.exe" %SYSTEMROOT%\System32
  82 +
  83 +::################# Instalação do VLibras #################
  84 +
  85 +ECHO Extraindo Arquivos...
  86 +7z x -o%HOMEPATH% vlibras-libs.zip vlibras-libs
  87 +
  88 +:END
  89 +ECHO VLibras Tradutor instalado com sucesso!
plugin/Plugin-x64/CorePlugin.dll
No preview for this file type
plugin/Plugin-x64/CorePlugin.lib
No preview for this file type
plugin/Plugin-x86/CorePlugin.dll
No preview for this file type
plugin/Plugin-x86/CorePlugin.lib
No preview for this file type
plugin/corePlugin.cpp
@@ -6,16 +6,18 @@ @@ -6,16 +6,18 @@
6 #endif 6 #endif
7 7
8 #include "corePlugin.h" 8 #include "corePlugin.h"
9 - 9 +
10 extern "C" 10 extern "C"
11 { 11 {
12 EXPORT_API int coreInitialize() 12 EXPORT_API int coreInitialize()
13 - { 13 + {
14 //Objeto usado para traduzir 14 //Objeto usado para traduzir
15 tradutor = new PyTradutor(); 15 tradutor = new PyTradutor();
16 16
17 //Objeto usado para copiar texto da área de transferência 17 //Objeto usado para copiar texto da área de transferência
18 clipboard = new PyClip(); 18 clipboard = new PyClip();
  19 + clipboard->bdragOn();
  20 +
19 return 1; 21 return 1;
20 } 22 }
21 23
@@ -23,15 +25,16 @@ @@ -23,15 +25,16 @@
23 { 25 {
24 //Copia área de transferência para input 26 //Copia área de transferência para input
25 char *input = clipboard->clip(); 27 char *input = clipboard->clip();
26 - 28 +
27 //Retorna a tradução do texto para glosa 29 //Retorna a tradução do texto para glosa
28 return tradutor->convertStringToGlosa(input); 30 return tradutor->convertStringToGlosa(input);
29 } 31 }
30 32
31 EXPORT_API int coreFinalize() 33 EXPORT_API int coreFinalize()
32 - { 34 + {
  35 + clipboard->bdragOff();
33 delete tradutor; 36 delete tradutor;
34 - return 1; 37 + return 1;
35 } 38 }
36 39
37 } 40 }
plugin/corePlugin.h
1 #ifndef _COREPLUGIN_H 1 #ifndef _COREPLUGIN_H
2 #define _COREPLUGIN_H 2 #define _COREPLUGIN_H
3 3
  4 +#include <process.h>
  5 +#include <windows.h>
4 #include "pyTradutor.h" 6 #include "pyTradutor.h"
5 -#include "pyClip.h" 7 +#include "pyClip.h"
6 8
7 using namespace Tradutor; 9 using namespace Tradutor;
8 using namespace Clipboard; 10 using namespace Clipboard;
plugin/testPlugin.cpp
@@ -29,7 +29,7 @@ int main(int argc, char *argv[]) @@ -29,7 +29,7 @@ int main(int argc, char *argv[])
29 finalize=(metodo3)GetProcAddress((HMODULE)hDLL, "coreFinalize"); 29 finalize=(metodo3)GetProcAddress((HMODULE)hDLL, "coreFinalize");
30 30
31 //Executa coreInitialize 31 //Executa coreInitialize
32 - int init = initialize(); 32 + int init = initialize();
33 cout <<"return initialize: " << init <<endl; 33 cout <<"return initialize: " << init <<endl;
34 34
35 //Executa coreExecute 35 //Executa coreExecute
src/pyClip.cpp
@@ -20,6 +20,8 @@ namespace Clipboard @@ -20,6 +20,8 @@ namespace Clipboard
20 assert(pDict!=NULL); 20 assert(pDict!=NULL);
21 // Return the object from dictionary pDict which has a key 'iniciar' 21 // Return the object from dictionary pDict which has a key 'iniciar'
22 pFunc = PyDict_GetItemString(pDict, "clip"); 22 pFunc = PyDict_GetItemString(pDict, "clip");
  23 + p_On = PyDict_GetItemString(pDict, "bdragOn");
  24 + p_Off = PyDict_GetItemString(pDict, "bdragOff");
23 //PyErr_Print(); 25 //PyErr_Print();
24 assert(pFunc!=NULL); 26 assert(pFunc!=NULL);
25 } 27 }
@@ -37,4 +39,18 @@ namespace Clipboard @@ -37,4 +39,18 @@ namespace Clipboard
37 39
38 return PyString_AsString(pResult); 40 return PyString_AsString(pResult);
39 } 41 }
  42 +
  43 + void PyClip::bdragOn()
  44 + {
  45 + // Call the callable object 'pFunc' with arguments given by the tuple 'pArgs'
  46 + PyObject_CallObject(p_On,pArgs);
  47 +
  48 + }
  49 +
  50 + void PyClip::bdragOff()
  51 + {
  52 + // Call the callable object 'pFunc' with arguments given by the tuple 'pArgs'
  53 + PyObject_CallObject(p_Off,pArgs);
  54 + }
  55 +
40 } 56 }
41 \ No newline at end of file 57 \ No newline at end of file