Cita de: "JuanK" Bien mi idea es poder asignar a las teclas especiales las vocales con tilde y la letra ñ. Las aplicaciones que vienen con el teclado no permiten hacer ese mapeo de caracteres pero se me ocurre que la única forma de hacerlo es creando mi propio driver para el teclado o bien reemplazando alguno de los componentes que hacen parte del driver del teclado, pero nunca he hecho eso y no se muy bien por donde comenzar ni tampoco se si esa es la manera correcta de hacerlo. Tambien se me ha ocurrido hacer un driver en modo usuario o un servicio que este 'escuchando' las teclas o que se yo...si quieren abro el post nuevo y lo trabajamos alli. Aunque me parece bien seguir una conversacion por cualquier lado en este caso me parece que lo mejor seria abrir otro tema (asi otros se podrian beneficiar del mismo, aca puede que pase totalmente inadvertido para muchos). En VC++ no le veo mucho sentido pero no veo tampoco un foro adecuado.Lo que podes hacer es un driver de tipo filtro que se situe por encima de la clase del teclado y modifique los datos que le llegan a la misma.Si realmente lo queres hacer esto te servira de muchisima ayuda:http://www.sysinternals.com/Utilities/Ctrl2Cap.htmlWARNING: No es recomendable empezar a meter codigo en modo Kernel sin primero tener muy claro como funciona el S.O., lo mas "suave" que pasara es que veamos una pantallita azul.
Bien mi idea es poder asignar a las teclas especiales las vocales con tilde y la letra ñ. Las aplicaciones que vienen con el teclado no permiten hacer ese mapeo de caracteres pero se me ocurre que la única forma de hacerlo es creando mi propio driver para el teclado o bien reemplazando alguno de los componentes que hacen parte del driver del teclado, pero nunca he hecho eso y no se muy bien por donde comenzar ni tampoco se si esa es la manera correcta de hacerlo. Tambien se me ha ocurrido hacer un driver en modo usuario o un servicio que este 'escuchando' las teclas o que se yo...si quieren abro el post nuevo y lo trabajamos alli.
Cita de: "X.Cyclop" Cita de: "Eternal Idol" ¿Te parece que ahi dice eso? Se siguen haciendo drivers en C puro, muchisimos, pero C++ es mucho mas potente que C ... Es que como no mencionaste C, me asusté.CitarSe puden hacer drivers en C++ perfectamente, asi como en assembly. Pero se deben poder hacer drivers hasta en pascal o en algunos otros no? no necesariamente C /C++.
Cita de: "Eternal Idol" ¿Te parece que ahi dice eso? Se siguen haciendo drivers en C puro, muchisimos, pero C++ es mucho mas potente que C ... Es que como no mencionaste C, me asusté.CitarSe puden hacer drivers en C++ perfectamente, asi como en assembly.
¿Te parece que ahi dice eso? Se siguen haciendo drivers en C puro, muchisimos, pero C++ es mucho mas potente que C ...
Se puden hacer drivers en C++ perfectamente, asi como en assembly.
Digan si estoy mal, pero en cualquier lenguaje que tenga API al kernel es pocible o que pueda hacer modulos en C/C++ para usar como API directo o indirecto de lenguaje tal como se puede en Python, Ruby, Perl, Java...
En Windows NT un modulo de modo Kernel no puede tener dependencias mas que con otros modulos de modo Kernel y el propio Kernel por lo tanto lenguajes interpretados quedan excluidos absolutamente. No solo deben ser capaces de llamar al Kernel sino tambien de estar cargados en memoria y para eso no solo hay que carecer de las dependencias de las que hice mencion sino tambien hay que generar un ejecutable PE con subsystem 1:NATIVE (no 2: GUI, ni 3:CONSOLE).En la vida real solo se usa el DDK practicamente, pero tambien se puede hacer con assembly, Pascal y otros (SIEMPRE QUE GENEREN UN PE VALIDO) y enlazando el ejecutable para que dependa solo del Kernel (u otros modulos de modo Kernel) y sea de tipo NATIVE.
por eso le decia krnel64 que era probable que vb 6.0 no permitiera hacer uso de la API nativa, porque hasta donde se , VB 6.0 depende de un runtime para los activeX. no es así?
Cita de: "X.Cyclop"Uli, entonces estoy muerto. ¿Ya no se hacen drivers en C puro? ¿Te parece que ahi dice eso? Se siguen haciendo drivers en C puro, muchisimos, pero C++ es mucho mas potente que C ...Cita de: "su-"Lo que mas les debe dar gracia es la forma en que evolucionan los temasEso es algo con lo que jamas estuve de acuerdo, esto es un foro de discucion y como tal me parece que un tema puede derivar en cualquier otro sin problema, no es una escuela donde tenes que hablar sobre la materia en cuestion, esto mas bien es como una conversacion cotidiana donde cualquiera puede meterse y cambiar el rumbo, por lo menos asi lo veo yo.
Uli, entonces estoy muerto. ¿Ya no se hacen drivers en C puro?
Lo que mas les debe dar gracia es la forma en que evolucionan los temas
Y si haces un "modulo" que corra en modo de usuario, tal como lo hace un demonio, seria valido?Seria pocible?Si el modulo corre en un VM o es un ejecutable creado con un archive toolkit?
ahora quveo, anoche saque unos minutos para revsiar y segun entendi:El modo kernel esta separado de modo usuario y la primera 'interfaz' que enlaza estos dos modos esta en NTDLL.dll, que segun se puede ver es como la primera 'capa' de la WINAPI sobre la cual se montan las subsecuentes librerias de la API de Windows.
Cita de: "su -" Y si haces un "modulo" que corra en modo de usuario, tal como lo hace un demonio, seria valido?Seria pocible?Si el modulo corre en un VM o es un ejecutable creado con un archive toolkit? Un demonio es en la jerga de Windows un servicio y no es mas que un proceso de modo Usuario. VM != Kernel Mode. ¿Archive toolkit? Ni se que es eso pero tiene que ser un binario valido ...
Entonces de que se supone que hablamos ?????????