[Résolu] Clavier sans fil
[Résolu] Clavier sans fil
Bonjour et bonsoir à tous, comme écrit dans le titre, je possède un clavier sans fil, ce qui veut dire qu'il ne possède pas de led pour indiquer si les majuscules ou le pavé numérique sont verrouillés et je souhaiterais créer un petit logiciel qui fonctionnerait dans le systray pour afficher les touches verrouillées, mais je vois pas comment je pourrais m'y prendre tellement je suis un éternel débutant !
S'il y a des volontaires, je les remercie énormément par anticipation.
S'il y a des volontaires, je les remercie énormément par anticipation.
Dernière modification par Micoute le mar. 28/janv./2014 8:59, modifié 1 fois.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Clavier sans fil
Salut,
Surement plusieurs façons de faire, j'opte pour la facilité avec l'API GetKeyState_
ce code change le titre de la fenêtre...
A toi de faire un affichage visible (tes leds)..
Perso j'opterai pour changer une icone dans le systray(), ce serait plus propre et n'encombrerai pas le bureau. (et ça demande que 2 icones (une verte une grise par exemple) que tu peux créer avant même en PB (2 cercles !).
Surement plusieurs façons de faire, j'opte pour la facilité avec l'API GetKeyState_
ce code change le titre de la fenêtre...
A toi de faire un affichage visible (tes leds)..
Perso j'opterai pour changer une icone dans le systray(), ce serait plus propre et n'encombrerai pas le bureau. (et ça demande que 2 icones (une verte une grise par exemple) que tu peux créer avant même en PB (2 cercles !).
Code : Tout sélectionner
;Ar-S - PB 5.21 LTS x86
Enumeration
#Win
#Tim
EndEnumeration
Global.b Quite
Quite = 0
Global State
Procedure.s isMAJ()
If GetKeyState_(#VK_CAPITAL) = 0
State$ = "Verr Majuscule OFF!"
Else
State$ = "Verr Majuscule ON!"
EndIf
SetWindowTitle(#Win, State$)
ProcedureReturn State$
EndProcedure
OpenWindow(0,#PB_Ignore, #PB_Ignore,350,0,"Verr Maj "+ State$,#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
AddWindowTimer(#Win, #Tim, 500)
Repeat
Event = WaitWindowEvent()
EvT = EventTimer()
Select Evt
Case #Tim
Debug IsMaj()
EndSelect
Select Event
Case #PB_Event_CloseWindow
Select EventWindow()
Case #Win
Quite = 1
Break
EndSelect
EndSelect
Until Quite = 1 Or WaitWindowEvent() = #PB_Event_CloseWindow
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Clavier sans fil
Voici la version en Systray icone 
Merci a Ar-s j'ai toujours eu besoin de ça, mais j'avais la bulle de le faire
j'ai donc ajouté 2 icones en Systray
l'un avec la lettre [8] ... pour le Num-lock (que j'ai ajouté ) Rouge désactivée /// Vert Activé
l'autre avec la lettre [C] ... pour le Capslock Rouge désactivée /// Vert Activé

Merci a Ar-s j'ai toujours eu besoin de ça, mais j'avais la bulle de le faire

j'ai donc ajouté 2 icones en Systray
l'un avec la lettre [8] ... pour le Num-lock (que j'ai ajouté ) Rouge désactivée /// Vert Activé
l'autre avec la lettre [C] ... pour le Capslock Rouge désactivée /// Vert Activé
Code : Tout sélectionner
;Ar-S - PB 5.21 LTS x86
; Version modifié par dobro
;-enumeration
Enumeration
#Win
#Tim
EndEnumeration
Enumeration
#im_capslock_on
#im_capslock_off
#im_num_on
#im_num_off
Endenumeration
Enumeration
#SysTrayIcone_capslock
#SysTrayIcone_numlock
EndEnumeration
#Fonte=1
;----------------------------------------------------------------------------------------------
;-init
LoadFont(#fonte,"Arial",20,#PB_Font_Bold)
Global.b Quite
Quite = 0
Global State$,State2$
;----------------------------------------------------------------------------------------------
;-declaration
Declare Boucle()
Declare Create_icone()
Declare Openwin()
Declare test_key()
;----------------------------------------------------------------------------------------------
;- Prg
openwin()
Boucle()
End
;----------------------------------------------------------------------------------------------
;-boucle
Procedure Boucle()
Repeat
Event = WaitWindowEvent(2)
EvT = EventTimer()
Select Evt
Case #Tim
test_key()
EndSelect
Select Event
Case #WM_KEYDOWN
test_key()
Case #Win
test_key()
Case #PB_Event_CloseWindow
Select EventWindow()
Case #Win
Quite = 1
Break
EndSelect
EndSelect
Until Quite = 1 Or WaitWindowEvent() = #PB_Event_CloseWindow
ProcedureReturn dummy
Endprocedure
;----------------------------------------------------------------------------------------------
;- create_icone
Procedure Create_icone()
CreateImage(#im_capslock_on,32,32)
StartDrawing(ImageOutput(#im_capslock_on))
DrawingMode(#PB_2DDrawing_Transparent)
Box(0,0,32,32,RGB(0,255,0))
DrawingFont(FontID(#fonte))
DrawText(10,4,"C",$0)
DrawText(8,2,"C",$FFFFFF)
StopDrawing()
CreateImage(#im_capslock_off,32,32)
StartDrawing(ImageOutput(#im_capslock_off))
DrawingMode(#PB_2DDrawing_Transparent)
Box(0,0,32,32,RGB(255,0,0))
DrawingFont(FontID(#fonte))
DrawText(10,2,"c",$0)
DrawText(8,0,"c",$FFFFFF)
StopDrawing()
CreateImage(#im_num_on,32,32)
StartDrawing(ImageOutput(#im_num_on))
DrawingMode(#PB_2DDrawing_Transparent)
Box(0,0,32,32,RGB(0,255,0))
DrawingFont(FontID(#fonte))
DrawText(10,4,"8",$0)
DrawText(8,2,"8",$FFFFFF)
StopDrawing()
CreateImage(#im_num_off,32,32)
StartDrawing(ImageOutput(#im_num_off))
DrawingMode(#PB_2DDrawing_Transparent)
Box(0,0,32,32,RGB(255,0,0))
DrawingFont(FontID(#fonte))
DrawText(10,4,"8",$0)
DrawText(8,2,"8",$FFFFFF)
StopDrawing()
EndProcedure
;----------------------------------------------------------------------------------------------
;-openwin
Procedure Openwin()
if OpenWindow(#win,#PB_Ignore, #PB_Ignore,350,0,"Verr Maj "+ State$,#PB_Window_Invisible)
AddWindowTimer(#Win, #Tim, 500)
AddSysTrayIcon(#SysTrayIcone_capslock, windowID(#win), ImageID(#im_capslock_off))
AddSysTrayIcon(#SysTrayIcone_numlock, windowID(#win), ImageID(#im_num_off))
Endif
EndProcedure
;----------------------------------------------------------------------------------------------
;-test_key
Procedure test_key()
If GetKeyState_(#VK_CAPITAL) = 0
ChangeSysTrayIcon(#SysTrayIcone_capslock, ImageID(#im_capslock_off))
Else
ChangeSysTrayIcon(#SysTrayIcone_capslock,ImageID(#im_capslock_on))
EndIf
If GetKeyState_(#VK_NUMLOCK) = 0
ChangeSysTrayIcon(#SysTrayIcone_numlock, ImageID(#im_num_off))
Else
ChangeSysTrayIcon(#SysTrayIcone_numlock, ImageID(#im_num_on))
EndIf
Endprocedure
;----------------------------------------------------------------------------------------------
; EPB
Dernière modification par Backup le mer. 29/janv./2014 15:12, modifié 2 fois.
Re: Clavier sans fil
Ce sont les icones que j'avais la flemme de faire mais comme tu as mâché le travail ^^
Voilà une petite retouche des icones :
Voilà une petite retouche des icones :
Code : Tout sélectionner
CreateImage(#im_capslock_on,32,32)
StartDrawing(ImageOutput(#im_capslock_on))
DrawingMode(#PB_2DDrawing_Transparent)
Box(0,0,32,32,RGB(0,255,0))
DrawingFont(FontID(#fonte))
DrawText(10,4,"C",$0)
DrawText(8,2,"C",$FFFFFF)
StopDrawing()
CreateImage(#im_capslock_off,32,32)
StartDrawing(ImageOutput(#im_capslock_off))
DrawingMode(#PB_2DDrawing_Transparent)
Box(0,0,32,32,RGB(255,0,0))
DrawingFont(FontID(#fonte))
DrawText(10,2,"c",$0)
DrawText(8,0,"c",$FFFFFF)
StopDrawing()
CreateImage(#im_num_on,32,32)
StartDrawing(ImageOutput(#im_num_on))
DrawingMode(#PB_2DDrawing_Transparent)
Box(0,0,32,32,RGB(0,255,0))
DrawingFont(FontID(#fonte))
DrawText(10,4,"8",$0)
DrawText(8,2,"8",$FFFFFF)
StopDrawing()
CreateImage(#im_num_off,32,32)
StartDrawing(ImageOutput(#im_num_off))
DrawingMode(#PB_2DDrawing_Transparent)
Box(0,0,32,32,RGB(255,0,0))
DrawingFont(FontID(#fonte))
DrawText(10,4,"8",$0)
DrawText(8,2,"8",$FFFFFF)
StopDrawing()
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: [Résolu] Clavier sans fil
Merci énormément à vous deux et c'est bien mérité, car c'est du bon travail et ça fonctionne extraordinairement bien, c'est surtout très utile, j'ai donc fait un petit mélange de votre travail respectif, la partie systray de Dobro et la partie icônes de Ar-s.
J'adore tous les membres de ce forum et je voudrais en profiter pour le dire pour que chacun le sache.
Je vous remercie encore et encore avec sincérité pour ce partage gracieux.
J'adore tous les membres de ce forum et je voudrais en profiter pour le dire pour que chacun le sache.
Je vous remercie encore et encore avec sincérité pour ce partage gracieux.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: [Résolu] Clavier sans fil
Ar-s et moi, on a l'habitude de faire des prg ensemble , notre collaboration a souvent donné des petit prg
bien cool .. hein Ar-s ?
ps: j'ai inclue tes icones dans mon listing ...
bien cool .. hein Ar-s ?

ps: j'ai inclue tes icones dans mon listing ...
Re: [Résolu] Clavier sans fil
Oui coté code on a souvent les neurones compatibles
et coté syntaxe, j'ai tout de même appris à coder en PB grâces aux gens et codes de ce forum, et comme Dobro en a proposé une chier, forcement ça m'a orienté.

~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: [Résolu] Clavier sans fil
Nous avons donc le même mentor car j'ai appris à programmer en PureBasic grâce aux codes que Dobro étalait généreusement sur le forum et je sais que je lui doit beaucoup ainsi qu'à bien d'autres qui sont hélas partis et d'autres qui sont restés et je remercie la collégialité de ce forum, même si de temps en temps il y a des petites divergences d'opinion et c'est normal, car on est tous différents, mais c'est surtout l'entraide et l’intérêt commun qui domine sur ce forum.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !