Найти - Пользователи
Полная версия: эмуляция
Начало » Mobile Python » эмуляция
1 2
python4ik
Конечно уже давно скачивал. Пробовал даже так: сначало установил Питон 1.4.5 в память телефона, а тот модуль keypress.sis как раз и устанавливается только в память телефона, так вот, установилось номально, находит Питон keypress. Но, как я уже помечал, не работает, выходит вообще из консоли. А потом пробовал также установить Питон 1.9.6 в память телефона. После установки keypress.sis Питон его не находит, потому что он в формате PYD, а ему надо формат pyc
igor.kaist
python4ik
После установки keypress.sis Питон его не находит, потому что он в формате PYD, а ему надо формат pyc
ну что за бред… pyd это расширения питона, написанные на С.
Для 1.9.6 нужна своя версия keypress, посмотри по ссылке, которую я привел. И не забывай все подписать, так как для перехвата нажатий нужны более расширенные капабилити.
python4ik
Вот он код keypress, откопал:
#include "Python.h"
#include "symbian_python_ext_util.h"
#include <e32keys.h>
#include <w32std.h>


extern "C" PyObject *
keypress_simulate_keymenu(PyObject* /*self*/)
{

RWsSession ws;
TKeyEvent key;
ws.Connect();

key.iCode = EKeyDevice1;
key.iScanCode = EStdKeyDevice1;
ws.SimulateKeyEvent(key);
ws.Close();
//Simulates key press on right menu key, for other keys see e32keys.h

return Py_BuildValue("i", 1);

}

/**
State of modifier keys and pointing device. Modifier keys are defined in TEventModifier.
TUint iModifiers;

Count of auto repeats generated.
0 means an event without repeats. 1 or more means "this many auto repeat events".
It is normal to ignore this value and treat it as a single event.
TInt iRepeats;
*/

extern "C" PyObject *
keypress_simulate_key(PyObject* /*self*/, PyObject *args)
{
TInt error;
int key_code;
int scan_code;

RWsSession ws;
TKeyEvent key;

if (!PyArg_ParseTuple(args, "ii", &key_code, &scan_code))
return NULL;

ws.Connect();

key.iCode = key_code;
key.iScanCode = scan_code;

Py_BEGIN_ALLOW_THREADS;
TRAP(error,ws.SimulateKeyEvent(key);ws.Close(););
Py_END_ALLOW_THREADS;
ws.Close();

if (error)
{
return SPyErr_SetFromSymbianOSErr(error);
}

return Py_BuildValue("i", 1);

}

extern "C" PyObject *
keypress_simulate_key3(PyObject* /*self*/, PyObject *args)
{
TInt error;
int key_code;
int scan_code;
int modifiers;

RWsSession ws;
TKeyEvent key;

if (!PyArg_ParseTuple(args, "iii", &key_code, &scan_code,&modifiers))
return NULL;

ws.Connect();

key.iCode = key_code;
key.iScanCode = scan_code;
key.iModifiers = modifiers;

Py_BEGIN_ALLOW_THREADS;
TRAP(error,ws.SimulateKeyEvent(key);ws.Close(););
Py_END_ALLOW_THREADS;

if (error)
{
return SPyErr_SetFromSymbianOSErr(error);
}

return Py_BuildValue("i", 1);

}

extern "C" {

static const PyMethodDef keypress_methods[] = {
{"simulate_keyMenu", (PyCFunction)keypress_simulate_keymenu, METH_NOARGS, NULL},
{"simulate_key", (PyCFunction)keypress_simulate_key, METH_VARARGS, NULL },
{"simulate_key_mod", (PyCFunction)keypress_simulate_key3, METH_VARARGS, NULL },

{NULL, NULL} /* sentinel */
};

DL_EXPORT(void) initkeypress(void)
{
PyObject *m;

m = Py_InitModule("keypress", (PyMethodDef*)keypress_methods);
}
} /* extern "C" */

GLDEF_C TInt E32Dll(TDllReason)
{
return KErrNone;
}
Подскажите, а есть прога? чтобы переделать этот код на язык Питона :) Как мне на его глянуть из Питона?
python4ik
Ништяк.
Для 1.9.6 нужна своя версия keypress
Работает на 1.9.6, но Питон 1.4.5 всё равно ругается, тоесть после ввода кода например keypress.simulate_key(49,49) просто пишет что Питон закр. выходит вообще из консоли, но уже не важно это. На 1.9.6 пашет.
И ещё вопрос. Почему на эмуляторе смартфона СДК не устанавливается ни один сис. Тоесть Питон поставлен в нём, методом разброса попапкам файлов, Питон работает. После начала установки любого сис пишет сразу - File corrupted, хотя сис нормальный!
И всётаки интересует исходник keypress сишный. Как его на Питон переделать?
igor.kaist
python4ik
Подскажите, а есть прога? чтобы переделать этот код на язык Питона :) Как мне на его глянуть из Питона?
facepalm.jpg
python4ik
что за facepalm.jpg ? Похоже на ссылку какую-то неработающую
python4ik
Реально? ли вообще разобраться самостоятельно в сишном коде. Вижу тот исходник немного похож с Питоном! Допустим может какая-то прога есть как-бы инструкция к Сишному коду. Что-то похожее на IDA есть? А то с меня и Ассемблера хватает, чтобы ещё учить С!
igor.kaist
python4ik
Реально? ли вообще разобраться самостоятельно в сишном коде. Вижу тот исходник немного похож с Питоном!
ну что тут скажешь….
http://ru.wikipedia.org/wiki/Си_(язык_программирования)
python4ik
Не понял! А что, Ассемблер не язык программирования ,Э?
Или понял, что ничего не понял :)
Раз уж зашла тема, а как можно Ассемблер использовать с Питоном вместе? Кроме corepy.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB