Bonsoir/bonjour à toutes et à tous.

Voila ma question. Etant sur un tablet PC, et en ayant un peu marre de CellWriter (sous Gnome, vous l'aurez deviné), je voudrai me lancer dans un "projet ambitieux" (pour moi c'est ambitieux) de développer un clavier du genre clavier de téléphone (ex: 2 : abc, 3 def, etc...) pour remplacer cellwriter.

En effet, lorsque je n'utilise pas le stylet, c'est très dur de taper les bonnes touches sur le clavier visuel de CellWriter avec les doigts (ayant des doigts de bassiste, j'ai tendance à tapper sur 3 touches en même temps, comme sur une guitare folk ! :hammer: )

Donc voila, je voudrai avoir vos conseils pour choisir le langage de programmation qui permettrai de faire ce genre d'appli (touches + comportement similaire au clavier téléphone + etc...).

Merci d'avance pour vos tuyaux !

PS: Si vous connaissez une appli existante similaire à ce que je compte faire, se serai cool de me la(les) faire connaitre :-P

PS2: Je ne savais pas où poster ce sujet (qui ne rentre dans aucunes des catégories du forum) pour avoir les conseils de la communauté Fedora-fr, qui s'y connais plus que bien en la matière (enfin en majorité :-D )
N'importe quel language en est capable.
Il faudrait que tu pose un cahier des charges afin de voir quel language sort du lot
En fait il faudrait en premier savoir quel type de bureau tu utilises. Si par exemple tu es sous gnome gdk+ serait plus adapté par exemple.

Après as tu regardé les différents claviers visuels dispos suivant que tu utilises gnome, KDE ou autres.
Quelques précisions quant même un clavier visuel de type gok ou clavicom te conviendrait il ou faudrait il un truc plus orientés comme sur les téléphones ?
C'est vrai que je n'ai pas été des plus clair sur ma demande...

En fait, je suis sous Gnome et je compte bien y rester. Je viens de regarder les quelques claviers visuels (virtuels, selon l'appellation) et ceux ci ne me conviennent pas.

En fait j'ai pensé à un clavier type téléphone de part le nombre peu élevé de touches. Qui dit moins de touches, dit touches plus grandes, donc moins de risque de "toucher" 3 touches en même temps (avec mes gros doigts :lol: ).

Je ne suis pas encore bien sur du comportement qu'aurai ce clavier, sois du genre dockable avec une fonction de réduction (je crois avoir vu ça sous Seven...) sois façon popup lorsqu'un champ de texte prend le focus (peu importe l'application).

En précisant que j'utilise le TabletPC en mode portrait, ce qui fait que je me retrouve en 800x1280 (800 px de largeur c'est pas ce qu'il y a de plus pratique pour faire rentrer les 21 touches + séparateur du clavier CellWriter), d'où mon envie de faire un clavier compacte.

Ce clavier aurai, bien entendu les 10 touches numérotées (avec les lettres) + d'autres très utiles, comme "Enter" "Backspace" un Ctrl+C et un Ctrl+V et j'en oublie (ce qui manque cruellement sur CellWriter). Donc en gros une 20aines de touches au bas mot, ce qui ferait en gros 7 touches de large sur 3 de haut.

Vous l'aurez deviné, l'accessibilité des touches est mon critère principal :-P
Je pense que le langage le plus adapté serai sans doute du C/C++ (ce sera le plus rapide), le problème est que si tu n'as jamais programmé avant c'est un peu hard de commencer par ça.

Après il faut voir que les discussions sur les langages de prog sont des nids à troll ^^
pingou wrote:Je pense que le langage le plus adapté serai sans doute du C/C++ (ce sera le plus rapide), le problème est que si tu n'as jamais programmé avant c'est un peu hard de commencer par ça.
Après il faut voir que les discussions sur les langages de prog sont des nids à troll ^^
Avant de parler rapidité, je regarde surtout le côté pratique.
En GTK+ il peux récupérer le focus de n'importe quel fenêtre gnome sans problème.
Après réaliser un simple clavier visuel ne pose pas trop de problème, tu as de nombreux exemple dans des tutos. et mieux encore les principaux claviers existants te permettent en plus de regarder leurs sources. Perso. ça fait une excellente initiation pour un débutant.
pingou wrote:Je pense que le langage le plus adapté serai sans doute du C/C++ (ce sera le plus rapide), le problème est que si tu n'as jamais programmé avant c'est un peu hard de commencer par ça.

Après il faut voir que les discussions sur les langages de prog sont des nids à troll ^^
Pour le nid de troll, un coup de napalm et ce sera réglé 😉

Je suis un programmeur du Dimanche, qui code avec ses peids :hammer:

Je connais pas mal le PHP, VBA. Par contre le C/C++ j'ai du mal à trouver des tutos pertinents (qui font faire autre chose que des "hello world" ou des 1 + 1 = 2). Il faut, bien entendu, que je creuse ce langage et aussi les intégrations des lib utiles (gtk, xorg). Enfin je dit peut être des co##eries, mais je sais que j'ai énormément de pains sur la planche.

Je vais jeter un oeil sur les sources des claviers visuel cités précédement pour m'en inspirer, mais dans un premier temps les comprendre :-P
Refuznik wrote:En GTK+ il peux récupérer le focus de n'importe quel fenêtre gnome sans problème.
Si je ne me trompe pas (ce qui est loin d'être garanti) GTK n'est qu'une librairie graphique qu'il faut bien rattaché à ton programme soit en C++ soit en python soit en php etc.. non ?
pingou wrote:
Refuznik wrote:En GTK+ il peux récupérer le focus de n'importe quel fenêtre gnome sans problème.
Si je ne me trompe pas (ce qui est loin d'être garanti) GTK n'est qu'une librairie graphique qu'il faut bien rattaché à ton programme soit en C++ soit en python soit en php etc.. non ?
A priori je devrai l'intégrer pour au moins créer le clavier en lui même (les controles).

Par contre, c'est sur que je ne refuserai pas des coups de mains de la part de personnes connaissant le C/C++, parce que le je pars de zéro... (D'ailleur je vais aller voir sur le SdZ les cours en C et C++ histoire d'apprendre au moin la syntaxe de base des fonctions...
Je suis en train de tester ClavicomNG, et pour le moment ça à l'aire d'être vraiment bien (ou peux le configurer à souhait). Le souci, j'ai pas mon tabletPC sous la main, donc je test ça sur le PC du taf.

Si il est vraiment convaincant, je pense revoir ma décision d'attaquer un dev from scratch (pourquoi réinventer la roue ?) Je vous tiens au jus.

[Edit] Bon du coup,pour ClavicomNG, le clavier ne fonctionne pas du tout (aucuns caractères ne sont envoyés à la fenêtre sélectionnée, cette dernière perd le focus, du coup l'envoi se fait dans le vide....) Domage, ça correspondait super bien à ce que j'attendais... :roll:
pingou wrote:
Refuznik wrote:En GTK+ il peux récupérer le focus de n'importe quel fenêtre gnome sans problème.
Si je ne me trompe pas (ce qui est loin d'être garanti) GTK n'est qu'une librairie graphique qu'il faut bien rattaché à ton programme soit en C++ soit en python soit en php etc.. non ?
Oula je ne suis pas réveillé moi ce matin, quant j'écrivais ça peut-re à cause de l'interface téléphone. Tu as parfaitement raison.
En fait je pensais à du python (dont on a déja parlé comme langage de prog. pour débuter + GTK) plutôt que de commencer directement avec du C.
Pour en revenir à ce dev, je commence à tripatouiller Python avec Glade3 pour voir ce que je peux faire (appuyé par le SdZ, normal j'en suis un :-P ).
Oulalaaaaaaaa, c'est grave docteur ? Je regarde cette page depuis 1/4 d'heure et j'y ai toujours rien compris.... J'ai déja mal au crane :-?
Si je vous fait une ébauche en VBA, se serai dur d'y adapter en python ?
Lol c'est simplement l'explication d'une action comme un clic de souris tout simplement (lis un peu ton script hello world).
Et passe au chapitre suivant 🙂
Ouai, je crois que j'ai énormément de mal cette aprèm pour comprendre quoique se soit... Cette journée s'annonce longue...
Bon faut dire aussi que l'auteur n'est pas très didactique.
Refuznik wrote:Bon faut dire aussi que l'auteur n'est pas très didactique.
Ah ça me rassure, mais bon en pratiquant c'est plus facile à comprendre. Surtout que la POO je l'ai creusée y a très peu de temps, donc c'est pas toujours très clair dans ma tête :pint:
Bon aller, j'm'y remet !

[edit] Par contre, quand je veux trouver des fonctions basiques sur les strings (par exemple Left(string, nbcar) je galère à mort)

[edit 2] Ah bah si, string[nbcar]... Je me démotive pas (même si y a de quoi :-D )
Et un exemple de python objet très simple
#!/usr/bin/env python
# -*- coding: UTF-8 -*-

class Personne(object):
## Le constructeur
# @param self reference sur l'objet
# @param nom prametre1
# @param prenom paramettre2
def __init__(self, nom, prenom, age, x, y):
self.nom = nom
self.prenom = prenom
self.age = age
self.x = x
self.y = y

## Affiche les information relative la personne
# @param self reference sur l'objet
def se_presenter(self):
if ( self.age > 1):
print u'Bonjour, je me nomme ' + self.nom + u' ' + self.prenom + u' j\'ai ' + unicode(self.age) + u'ans'
else:
print u'Bonjour, je me nomme ' + self.nom + u' ' + self.prenom + u' j\'ai ' + unicode(self.age) + u'an'

## Affiche les information relative a position
# @param self reference sur l'objet
def position(self):
print u'Je suis actuellement en x:' + unicode(self.x) + u' y:' + unicode(self.y)

## Avance la personne
# @param self reference sur l'objet
# @param n valeur optionnel si pas renseigne prend 1 par defaut
def avancer(self, n=1):
print u'J\'avance de ' + unicode(n)
self.x += n

## Recule la personne
# @param self reference sur l'objet
# @param n valeur optionnel si pas renseigne prend 1 par defaut
def reculer(self, n=1):
print u'Je reculer de ' + unicode(n)
self.x -= n

## Monte la personne
# @param self reference sur l'objet
# @param n valeur optionnel si pas renseigne prend 1 par defaut
def monter(self, n=1):
print u'Je monte de ' + unicode(n)
self.y += n

## Descend la personne
# @param self reference sur l'objet
# @param n valeur optionnel si pas renseigne prend 1 par defaut
def descendre(self, n=1):
print u'Je descend de ' + unicode(n)
self.y -= n

# Le main
if __name__ == "__main__":
personne1 = Personne('Dupont', 'Robert', 21, 6, 7) # Construction d'un objet de type Personne

personne1.se_presenter()
personne1.position()

personne1.avancer()
personne1.position()

personne1.reculer(5)
personne1.position()