Herramientas de usuario

Herramientas del sitio


fw:dx:dinput

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
fw:dx:dinput [2008/04/26 17:11]
127.0.0.1 editor externo
fw:dx:dinput [2020/05/09 09:25] (actual)
Línea 33: Línea 33:
  MSGBOX("​Error al crear el objeto DInput"​);​  MSGBOX("​Error al crear el objeto DInput"​);​
 </​code>​ </​code>​
 +
 +
  
  
Línea 63: Línea 65:
     * Y si el dispositivo es un keyboard también podemos indicar que se desactive la tecla de windows pasándole otra flag: //​DISCL_NOWINKEY//​ (en combinación con //​DISCL_NONEXCLUSIVE//​). \\      * Y si el dispositivo es un keyboard también podemos indicar que se desactive la tecla de windows pasándole otra flag: //​DISCL_NOWINKEY//​ (en combinación con //​DISCL_NONEXCLUSIVE//​). \\ 
 Básicamente con esto indicas si se seguirá el dispositivo cuando deje de estar en primer plano (foreground) o no; y si será exclusivo (que bloqueará el dispositivo para si mismo) o no. Podemos utilizar la siguiente combinación:​ Básicamente con esto indicas si se seguirá el dispositivo cuando deje de estar en primer plano (foreground) o no; y si será exclusivo (que bloqueará el dispositivo para si mismo) o no. Podemos utilizar la siguiente combinación:​
-  * Para el teclado\ratón:​ //​DISCL_FOREGROUND | DISCL_NONEXCLUSIVE//​ +  * Para el teclado\ratón:​ //​DISCL_FOREGROUND | DISCL_NONEXCLUSIVE//​. Esta modalidad tiene el problema que cuando se puerde el foco de la ventana tendrás que volver a adquirir el dispositivo,​ en [[id=fw:​dx:​dinput#​notas|notas]] tienes un ejemplo de como podría hacerse. 
-  * Para el ratón si queremos manejar nosotros el cursor de windows (que desaparecerá):​ //​DISCL_EXCLUSIVE | DISCL_FOREGROUND//​+  * Para el ratónsi queremos manejar nosotros el cursor de windows (que desaparecerá):​ //​DISCL_EXCLUSIVE | DISCL_FOREGROUND//​
  
 === Adquirir el dispositivo === === Adquirir el dispositivo ===
Línea 151: Línea 153:
   ...   ...
 </​code>​ </​code>​
 +
  
 ===== Notas ===== ===== Notas =====
Línea 158: Línea 161:
  MSGBOX("​Error al crear el objeto DInput"​);​  MSGBOX("​Error al crear el objeto DInput"​);​
 </​code>​ </​code>​
 +  * Para volver a adquirir el dispositivo si se pierde el foco...  
 +<code cpp> 
 +byte buffer[256];​ 
 +HRESULT hr = this->​keyb->​GetDeviceState(sizeof(buffer),​ (LPVOID)&​buffer);​ 
 +if (hr == DI_OK)  
 +  return KEYDOWN(buffer,​ key); 
 +this->​keyb->​Acquire();​ 
 +</​code>​
  
fw/dx/dinput.1209229886.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)