Commit 4a1ffc513580c83691e84a347eaa0c48744692c1

Authored by bruno
1 parent b7623085
Exists in master

Adicionando autohotkey

Clipboard/Clipboard.py
1 1 # -- coding: utf-8 --
2   -import ctypes
  2 +import ctypes, subprocess
  3 +
  4 +global process
3 5  
4 6 def clip():
5 7  
... ... @@ -17,4 +19,11 @@ def clip():
17 19 if isinstance(text, unicode):
18 20 return text.encode("utf-8")
19 21 else:
20   - return "Selecione um texto"
21 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 31 \ No newline at end of file
... ...
Clipboard/Clipboard.pyc
No preview for this file type
Makefile
... ... @@ -23,18 +23,23 @@ FILES = src\pyTradutor.cpp src\pyClip.cpp
23 23 #Headers
24 24 INCLUDES = include\pyTradutor.h include\pyClip.h
25 25  
  26 +CLEAN_OBJ = del -q *.obj
  27 +
26 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 33 #Gera dll na arquitetura x86
31 34 plugin-x86: $(FILES) $(INCLUDES)
32 35 $(CC) -Feplugin\Plugin-x86\CorePlugin -EHsc -LD plugin\corePlugin.cpp $(FILES) -I plugin\corePlugin.h $(CFLAGS) $(LFLAGS)
  36 + $(CLEAN_OBJ)
33 37  
34 38 #Gera dll na arquitetura x64
35 39 plugin-x64: $(FILES) $(INCLUDES)
36 40 $(CC) -Feplugin\Plugin-x64\CorePlugin -EHsc -LD plugin\corePlugin.cpp $(FILES) -I plugin\corePlugin.h $(CFLAGS) $(LFLAGS)
37   -
  41 + $(CLEAN_OBJ)
  42 +
38 43 #Gera .obj da classe de teste
39 44 testLibras: $(FILES) $(INCLUDES) src\testLibras.cpp
40 45 $(CC) -c -FotestLibras -EHsc Main.cpp $(FILES) $(CFLAGS) $(LFLAGS)
... ... @@ -49,7 +54,7 @@ pyClip: src\pyClip.cpp src\pyClip.h
49 54  
50 55 #Limpa arquivos objetos e executáveis criados
51 56 clean:
52   - del -q *.exe *.obj
  57 + del -q *.exe *.obj
53 58  
54 59 #Limpa dll criada em arquitetura x-86
55 60 clean-plugin-x86:
... ... @@ -62,6 +67,7 @@ clean-plugin-x64:
62 67 #Gera executável para testar a dll
63 68 test-plugin:
64 69 $(CC) plugin\testPlugin.cpp -EHsc
  70 + $(CLEAN_OBJ)
65 71  
66 72 # Baixa e instala dependências
67 73 install:
... ...
autohotkey/BKing.ahk 0 → 100644
... ... @@ -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 12 PyObject * pModule;
13 13 PyObject * pDict;
14 14 PyObject * pFunc;
  15 + PyObject * p_On;
  16 + PyObject * p_Off;
15 17 PyObject * pArgs;
16 18 PyObject * pResult;
17 19 public:
18 20 PyClip();
19 21 ~PyClip();
20 22 char* clip();
21   -
  23 + void bdragOn();
  24 + void bdragOff();
22 25 };
23 26 }
24 27  
... ...
instalador/install.bat
... ... @@ -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 @@
  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 6 #endif
7 7  
8 8 #include "corePlugin.h"
9   -
  9 +
10 10 extern "C"
11 11 {
12 12 EXPORT_API int coreInitialize()
13   - {
  13 + {
14 14 //Objeto usado para traduzir
15 15 tradutor = new PyTradutor();
16 16  
17 17 //Objeto usado para copiar texto da área de transferência
18 18 clipboard = new PyClip();
  19 + clipboard->bdragOn();
  20 +
19 21 return 1;
20 22 }
21 23  
... ... @@ -23,15 +25,16 @@
23 25 {
24 26 //Copia área de transferência para input
25 27 char *input = clipboard->clip();
26   -
  28 +
27 29 //Retorna a tradução do texto para glosa
28 30 return tradutor->convertStringToGlosa(input);
29 31 }
30 32  
31 33 EXPORT_API int coreFinalize()
32   - {
  34 + {
  35 + clipboard->bdragOff();
33 36 delete tradutor;
34   - return 1;
  37 + return 1;
35 38 }
36 39  
37 40 }
... ...
plugin/corePlugin.h
1 1 #ifndef _COREPLUGIN_H
2 2 #define _COREPLUGIN_H
3 3  
  4 +#include <process.h>
  5 +#include <windows.h>
4 6 #include "pyTradutor.h"
5   -#include "pyClip.h"
  7 +#include "pyClip.h"
6 8  
7 9 using namespace Tradutor;
8 10 using namespace Clipboard;
... ...
plugin/testPlugin.cpp
... ... @@ -29,7 +29,7 @@ int main(int argc, char *argv[])
29 29 finalize=(metodo3)GetProcAddress((HMODULE)hDLL, "coreFinalize");
30 30  
31 31 //Executa coreInitialize
32   - int init = initialize();
  32 + int init = initialize();
33 33 cout <<"return initialize: " << init <<endl;
34 34  
35 35 //Executa coreExecute
... ...
src/pyClip.cpp
... ... @@ -20,6 +20,8 @@ namespace Clipboard
20 20 assert(pDict!=NULL);
21 21 // Return the object from dictionary pDict which has a key 'iniciar'
22 22 pFunc = PyDict_GetItemString(pDict, "clip");
  23 + p_On = PyDict_GetItemString(pDict, "bdragOn");
  24 + p_Off = PyDict_GetItemString(pDict, "bdragOff");
23 25 //PyErr_Print();
24 26 assert(pFunc!=NULL);
25 27 }
... ... @@ -37,4 +39,18 @@ namespace Clipboard
37 39  
38 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 57 \ No newline at end of file
... ...