Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
lionel_om
Messages : 1500 Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :
Message
par lionel_om » lun. 29/mai/2006 12:26
Bonjour à tous.
J'avais réussi à repérer sur un ancien clavier les codes des touches multimédia (suivant, précédent, stop, etc.).
Mais là avec les nouveaux claviers, l'accès à ces fonctions ne semble plus se faire par le biais de touches : j'ai testé les keycode jusqu'à 500 et aucune ne correspond aux touches de lecture. J'ai essayé aussi en repérer un évènement par un callBack, mais sans succès : l'appui d'une touche multimédia ne déclenche pas une nouvel évènement (WaitWindowEvent() reste blocant et pas d'accès dans la fonction de CallBack).
Donc si vous avez une piste ou un code qui propose de gérer ces touches, je suis très très preneur !!!
Merci d'avance
Lio
Webmestre de
Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos
codes !
Flype
Messages : 2431 Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes
Message
par Flype » lun. 29/mai/2006 18:32
çà devrait pouvoir t'aider,
en tout cas les 9 touches multimédia de mon clavier usb sont bien reconnues.
Code : Tout sélectionner
If OpenWindow(0,100,100,200,200,"",#PB_Window_SystemMenu)
Repeat
Select WaitWindowEvent()
Case #WM_CLOSE
Break
Case #WM_KEYUP
Case #WM_KEYDOWN
wParam.l = EventwParam() ; virtual-key code
lParam.l = EventlParam() ; flags
If lParam & $1000000
Debug "Extended-key"
Else
Debug "Standard-key"
EndIf
Debug "Code: " + Str(wParam)
Debug "Flags: " + RSet(Bin(lParam), 32, "0")
EndSelect
ForEver
EndIf
Flype
Messages : 2431 Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes
Message
par Flype » lun. 29/mai/2006 18:46
et pour être encore plus précis:
Code : Tout sélectionner
Enumeration #VK_RMENU + 1 ; #VK pour Windows 2000/XP
#VK_BROWSER_BACK
#VK_BROWSER_FORWARD
#VK_BROWSER_REFRESH
#VK_BROWSER_STOP
#VK_BROWSER_SEARCH
#VK_BROWSER_FAVORITES
#VK_BROWSER_HOME
#VK_VOLUME_MUTE
#VK_VOLUME_DOWN
#VK_VOLUME_UP
#VK_MEDIA_NEXT_TRACK
#VK_MEDIA_PREV_TRACK
#VK_MEDIA_STOP
#VK_MEDIA_PLAY_PAUSE
#VK_LAUNCH_MAIL
#VK_LAUNCH_MEDIA_SELECT
#VK_LAUNCH_APP1
#VK_LAUNCH_APP2
EndEnumeration
If OpenWindow(0, 100, 100, 300, 200, "Touches Multimedia", #PB_Window_SystemMenu)
Repeat
Select WaitWindowEvent()
Case #WM_CLOSE
Break
Case #WM_KEYDOWN
If EventlParam() & $1000000
Debug "Extended-key"
Select EventwParam()
Case #VK_BROWSER_BACK: Debug "#VK_BROWSER_BACK"
Case #VK_BROWSER_FORWARD: Debug "#VK_BROWSER_FORWARD"
Case #VK_BROWSER_REFRESH: Debug "#VK_BROWSER_REFRESH"
Case #VK_BROWSER_STOP: Debug "#VK_BROWSER_STOP"
Case #VK_BROWSER_SEARCH: Debug "#VK_BROWSER_SEARCH"
Case #VK_BROWSER_FAVORITES: Debug "#VK_BROWSER_FAVORITES"
Case #VK_BROWSER_HOME: Debug "#VK_BROWSER_HOME"
Case #VK_VOLUME_MUTE: Debug "#VK_VOLUME_MUTE"
Case #VK_VOLUME_DOWN: Debug "#VK_VOLUME_DOWN"
Case #VK_VOLUME_UP: Debug "#VK_VOLUME_UP"
Case #VK_MEDIA_NEXT_TRACK: Debug "#VK_MEDIA_NEXT_TRACK"
Case #VK_MEDIA_PREV_TRACK: Debug "#VK_MEDIA_PREV_TRACK"
Case #VK_MEDIA_STOP: Debug "#VK_MEDIA_STOP"
Case #VK_MEDIA_PLAY_PAUSE: Debug "#VK_MEDIA_PLAY_PAUSE"
Case #VK_LAUNCH_MAIL: Debug "#VK_LAUNCH_MAIL"
Case #VK_LAUNCH_MEDIA_SELECT: Debug "#VK_LAUNCH_MEDIA_SELECT"
Case #VK_LAUNCH_APP1: Debug "#VK_LAUNCH_APP1"
Case #VK_LAUNCH_APP2: Debug "#VK_LAUNCH_APP2"
EndSelect
Else
Debug "Standard-key"
EndIf
EndSelect
ForEver
EndIf
lionel_om
Messages : 1500 Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :
Message
par lionel_om » lun. 29/mai/2006 20:37
Merci Flype.
Arf, j'ai pas ma clé USB sur moi, je récupère le code demain.
Mais j'ai l'impressin que c'est ce que j'avais fait pour pour lecteur MP3 (ALP). Ca marchait niquel sur mon ancien clavier, mais plus sur le nouveau. En tout cas je récupère ça demain qd même.
Merci
Webmestre de
Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos
codes !
Backup
Messages : 14526 Inscription : lun. 26/avr./2004 0:40
Message
par Backup » lun. 29/mai/2006 22:19
chez moi ça marche niquel sur mon clavier logitech noir !!
Merci pour le code !
Good07
Messages : 308 Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque
Message
par Good07 » mar. 30/mai/2006 8:02
Chez moi ça ne marche pas
Il n'y a que les touches standards qui fonctionnent et les touches page up et page down.
Clavier Microsoft "Wireless mutimédia keyboard".
Flype
Messages : 2431 Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes
Message
par Flype » mar. 30/mai/2006 8:27
il faut winXP ou win2000, as-tu essayé sur cet OS ?
lionel_om
Messages : 1500 Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :
Message
par lionel_om » mer. 31/mai/2006 9:07
Non je confirme, chez moi ca ne marche pas sur mon nouveau clavier (Logitech Cordless Desktop S510 Media Remote). Mon ancien gérait très bien les touches multimédia avec ce code, mais pour le nouveau aucun signal ni touche ne sont détectés...
J'v aller regarder sur le forum anglais...
Webmestre de
Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos
codes !
Good07
Messages : 308 Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque
Message
par Good07 » mer. 31/mai/2006 17:17
Bonjour flype.
Désolé pour cette réponse tardive, mais j'utilise window XP version SP2 et ça ne marche pas.
Flype
Messages : 2431 Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes
Message
par Flype » mer. 31/mai/2006 23:39
bah alors là je vois pas.
sinon question bête mais avez vous déjà un soft (livré avec le clavier ou pas) qui controle déjà ces touches, qui tourne en tache de fond ?
j'ai testé chez moi et au boulot, 2 claviers USB (1 Laptec, 1 Logitech ).
ca marche nickel. pour mes 2 claviers, dans le gestionnaire de périphériques, j'ai "Claviers -> Périphérique clavier PIH". Et vous ?
sachant que je n'ai justement pas installé de driver et/ou soft.
lionel_om
Messages : 1500 Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :
Message
par lionel_om » jeu. 01/juin/2006 9:20
Oué y'a un soft qui tourne.
Moi aussi j'ai WinXp SP2.
Par contre ces touches multimédia marchent sous leurs logiciels, mais aussi Windows Media Player et sans doute d'autres...
Mais ni code touche, ni événement n'est envoyé, donc c'est bizarre
Ya pas d'autres moyens pour avoir des E/S ???
Webmestre de
Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos
codes !
Good07
Messages : 308 Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque
Message
par Good07 » jeu. 01/juin/2006 15:38
Moi dans le gestionnaire de périphérique j'ai "Clavier standard 101/102 touches ou clavier microsoft natural keyboard ps/2.
Mais j'ai aussi un soft qui tourne et effectivement mon clavier est bien géré par lui. Chaque fois que j'appuie sur une touche elle est bien reconnue, par contre sous Pure nada...Aucun évènements interceptés.
Comment font ils ?
I don't Know...
Flype
Messages : 2431 Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes
Message
par Flype » mar. 10/oct./2006 16:48
voici un code de Karlkox qui pourrait faire l'affaire.
voir ici:
http://www.purebasic.fr/english/viewtopic.php?t=24059
@good007 et lionel_om
cela marche-t-il chez vous ?
Code : Tout sélectionner
Enumeration
#APPCOMMAND_BROWSER_BACKWARD = 1
#APPCOMMAND_BROWSER_FORWARD
#APPCOMMAND_BROWSER_REFRESH
#APPCOMMAND_BROWSER_STOP
#APPCOMMAND_BROWSER_SEARCH
#APPCOMMAND_BROWSER_FAVORITES
#APPCOMMAND_BROWSER_HOME
#APPCOMMAND_VOLUME_MUTE
#APPCOMMAND_VOLUME_DOWN
#APPCOMMAND_VOLUME_UP
#APPCOMMAND_MEDIA_NEXTTRACK
#APPCOMMAND_MEDIA_PREVIOUSTRACK
#APPCOMMAND_MEDIA_STOP
#APPCOMMAND_MEDIA_PLAY_PAUSE
#APPCOMMAND_LAUNCH_MAIL
#APPCOMMAND_LAUNCH_MEDIA_SELECT
#APPCOMMAND_LAUNCH_APP1
#APPCOMMAND_LAUNCH_APP2
#APPCOMMAND_BASS_DOWN
#APPCOMMAND_BASS_BOOST
#APPCOMMAND_BASS_UP
#APPCOMMAND_TREBLE_DOWN
#APPCOMMAND_TREBLE_UP
;#if(_WIN32_WINNT >= 0x0501)
#APPCOMMAND_MICROPHONE_VOLUME_MUTE
#APPCOMMAND_MICROPHONE_VOLUME_DOWN
#APPCOMMAND_MICROPHONE_VOLUME_UP
#APPCOMMAND_HELP
#APPCOMMAND_FIND
#APPCOMMAND_NEW
#APPCOMMAND_OPEN
#APPCOMMAND_CLOSE
#APPCOMMAND_SAVE
#APPCOMMAND_PRINT
#APPCOMMAND_UNDO
#APPCOMMAND_REDO
#APPCOMMAND_COPY
#APPCOMMAND_CUT
#APPCOMMAND_PASTE
#APPCOMMAND_REPLY_TO_MAIL
#APPCOMMAND_FORWARD_MAIL
#APPCOMMAND_SEND_MAIL
#APPCOMMAND_SPELL_CHECK
#APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE
#APPCOMMAND_MIC_ON_OFF_TOGGLE
#APPCOMMAND_CORRECTION_LIST
#APPCOMMAND_MEDIA_PLAY
#APPCOMMAND_MEDIA_PAUSE
#APPCOMMAND_MEDIA_RECORD
#APPCOMMAND_MEDIA_FAST_FORWARD
#APPCOMMAND_MEDIA_REWIND
#APPCOMMAND_MEDIA_CHANNEL_UP
#APPCOMMAND_MEDIA_CHANNEL_DOWN
EndEnumeration
Macro LOWORD(Value)
Value & $FFFF
EndMacro
Macro HIWORD(Value)
(Value >> 16) & $FFFF
EndMacro
#FAPPCOMMAND_MASK = $F000
Macro GET_APPCOMMAND_LPARAM(lParam)
HIWORD(lParam) & ~#FAPPCOMMAND_MASK
EndMacro
Procedure WndProc(WindowID, message, wParam, lParam)
Protected result.l, cmd.l
result = #PB_ProcessPureBasicEvents
If message = #WM_APPCOMMAND
cmd = GET_APPCOMMAND_LPARAM(lParam)
Debug "cmd = " + Str(cmd)
EndIf
ProcedureReturn Result
EndProcedure
If OpenWindow(0,0,0,320,240,"Multimedia Keyboard Extension")
SetWindowCallback(@WndProc())
Repeat : event = WaitWindowEvent() : Until event = #PB_Event_CloseWindow
EndIf
lionel_om
Messages : 1500 Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :
Message
par lionel_om » mer. 11/oct./2006 7:39
Merci Flype pour ce code.
Avec un ancien clavier multimédia ca marche nickel, par contre n'étant pas chez moi (mais au boulot) j'v tester ça ce soir en rentrant.
Si ca marche tu seras mon héros !
Webmestre de
Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos
codes !
Flype
Messages : 2431 Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes
Message
par Flype » mer. 11/oct./2006 8:53
pas moi - karlkox oui - moi j'ai juste pensé à toi