Hi Frédéric, On 03/17/2011 01:55 PM, Frédéric Dalleau wrote: > --- > src/emulator.c | 30 ++++++++++++++++++++++++++++++ > 1 files changed, 30 insertions(+), 0 deletions(-) > > diff --git a/src/emulator.c b/src/emulator.c > index ce3fabd..1d4fbc6 100644 > --- a/src/emulator.c > +++ b/src/emulator.c > @@ -387,6 +387,34 @@ fail: > } > } > > +static void ckpd_cb(GAtServer *server, GAtServerRequestType type, > + GAtResult *result, gpointer user_data) > +{ > + switch (type) { > + case G_AT_SERVER_REQUEST_TYPE_SET: > + { > + GAtResultIter iter; > + int key; > + g_at_result_iter_init(&iter, result); > + g_at_result_iter_next(&iter, ""); > + > + if (g_at_result_iter_next_number(&iter, &key) == FALSE) > + goto fail; > + > + if (key != 200) > + goto fail; > + > + g_at_server_send_final(server, G_AT_SERVER_RESULT_OK); > + break; > + } > + > + default: > +fail: > + g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR); > + break; > + } > +} Do you have a plan on what to do with these key presses? > + > static void emulator_add_indicator(struct ofono_emulator *em, const char* name, > int min, int max, int dflt) > { > @@ -462,6 +490,8 @@ void ofono_emulator_register(struct ofono_emulator *em, int fd) > g_at_server_register(em->server, "+BRSF", brsf_cb, em, NULL); > g_at_server_register(em->server, "+CIND", cind_cb, em, NULL); > g_at_server_register(em->server, "+CMER", cmer_cb, em, NULL); > + } else if (em->type == OFONO_EMULATOR_TYPE_HSP) { > + g_at_server_register(em->server, "+CKPD", ckpd_cb, em, NULL); > } > > __ofono_atom_register(em->atom, emulator_unregister); Regards, -Denis