Gambas France BETA


Pas de compte ? Incription

Joystick sur carte son

Ce sujet est résolu.

123
AuteurMessages
PapyBasic#31 Posté le 14/11/2010 à 11:36:00
"Parfois l'obstination est une voie !"Bonjour
en regardant de plus prêt l'exemple de Pierre Lapenduledargent, je trouve une ligne dans l'aide qui indique que
pour être "root" avec Gambas2, il faut taper :
1
gksudo gambas2

:cheers:
Donc dans le terminal je tape cette ligne de commande après avoir tapé mon mot de passe administrateur.
Et hop, roulements de tambours, buccins et hautbois, Gambas 2 s'ouvre en "root",
Et là un sentiment étrange m’envahis il ma fallait juste comprendre ce petit bout de code. :geek:

Milles Tonnerres de bachibouzouks, pas moyen d’accéder à mes essais ! :x
Mes essais sont dans un portefeuille qui se trouve sur le bureau.
Alors maintenant que le gars a compris comment être "root", il fait comment le vieux barbu avec ces
rennes et son traineau pour arriver à ouvrir son dossier dans le bureau quand il est root comme dans
l'exemple de Pierre Lapenduledargent ? :rendeer: :rendeer: :rendeer: :santa:

Bon si j'arrive à ouvrir mes lignes de code en étant root, alors je vais pouvoir construire tranquille.
De plus pour "sortir" du mode "root" il faut je suppose taper une autre commande dans le terminal ?
Merci à tous pour vos commentaires, je tarde de signaler ce poste en completement résolu !
Bon dimanche à tous, cordialement Papy :santa:
PapyBasic#32 Posté le 14/11/2010 à 11:49:00
"Parfois l'obstination est une voie !"Bonjour re le même juste un peu têtu !

Quand je ferme Gambas 2 alors que je suis en mode root comme dans mon précédent courrier, et que j'ouvre à
nouveau Gambas2 en haut à gauche sous UBUNTU, enfin comme je le faisais avant, je ne suis plus en mode root !

Ce-là s’appelle la pédagogie par l'échec !
Donc je suppose qu'un spécialiste de Linux me le confirmera, quand on ouvre en root Gambas2 et que l'on ferme ,
lé réouverture se fait en mode classique quand nous passons par l'onglet "application" sur le bureau d'UBUNTU ( ou autre je suppose).
Mais pour ré-ouvrir en mode root, il faut apparemment ouvrir à nouveau le terminal et re taper :
1
gksudo gambas2


Et beh oui ! Quand on le sait , on le sait !
Bon quand même je cherche toujours à ouvrir un dossier sur le bureau pour ouvrir mes essais.

D'avance merci, Bon Dimanche.
Papy :santa:
Pablodetaix#33 Posté le 14/11/2010 à 12:21:00
si ton "nom" habituel de connexion est "PapyBasic" ( login de démarrage) tu es sous Ubuntu, je crois)

alors ton bureau de "PapyBasic" est dans le chemin ABSOLU /home/PapyBasic/Bureau (attention si version + ou - anglaise => /home..../Desktop

ton bureau de "root" est en chemin absolu /home/root/Bureau

perso qd je me ballade dans la console en root su - ou sudo .....
j'ai installé le navigateur de fichier "mc" par apt-get install mc (cet install faite en étant root bien sur !)

qui m'a permis au tout début d'avoir une idée de l'arborescence exacte des répertoires
et qui montre tout ! (je veux dire les fichiers du systeme) et assez pratique
Mais attention des Rename/Suppression et autres blgues peuvent t'ennerver trés vite .... donc prudence de mise....


Pablo

PapyBasic#34 Posté le 1/12/2010 à 21:15:00
"Parfois l'obstination est une voie !"Bonsoir à toutes et à tous,
à cette adresse forum, il y a une conversation plus qu’intéressante !

http://old.nabble.com/Gambas-class-to-read-a-joystick-td15794466.html#a15797006

et voici le code :

1
PUBLIC pad_device AS Process ' Device to accept gamepad input.PUBLIC pad_time AS Integer ' Current time input occurred.PUBLIC pad_data AS Short ' Current input data (stick data, 0=press, 1=release).PUBLIC pad_type AS Byte ' Current input type (1 = button, 2 = stick).' Current button or axis number.' (0 - 11 = buttons, 0 = left horizontal, 1 = left verticle, 2 = right horizontal, 3 = right verticle, 4 = d-pad horizontal, 5 = d-pad verticle).PUBLIC pad_number AS BytePUBLIC button AS Integer[12, 2] ' Button number, old button status (true = pressed, false = released) and time stamp.PUBLIC taptime AS Integer = 375 ' Number of milliseconds to elapse after holding a button for it to become a hold command.PUBLIC SUB Initialize() ' Perform player input initialization. ' Set up the gamepad. pad_device = EXEC ["cat", "/dev/input/js0"] FOR READ AS "Gamepad" WAIT 1ENDPUBLIC SUB Gamepad_READ() ' General declarations. DIM counter AS Byte ' Read new gamepad data. READ #pad_device, pad_time, 4 READ #pad_device, pad_data, 2 READ #pad_device, pad_type, 1 READ #pad_device, pad_number, 1 ' Deal with button mashing. IF pad_type = 1 THEN ' Button mashing has occurred. IF pad_data = 1 THEN ' Button was pressed. button[pad_number, 0] = TRUE button[pad_number, 1] = pad_time ELSE ' Button was released. FOR counter = 0 TO 11 ' Determine if button was tapped or held. IF pad_number = counter THEN IF Abs(pad_time - button[counter, 1]) < taptime THEN PRINT "tapped", Abs(pad_time - button[counter, 1]) ELSE PRINT "held", Abs(pad_time - button[counter, 1]) ENDIF ENDIF NEXT ' Preserve command history. button[pad_number, 0] = FALSE button[pad_number, 1] = pad_time ENDIF ENDIF ' Deal with stick flailing. IF pad_type = 2 THEN ' Stick flailing has occurred. SELECT CASE pad_number CASE 0 ' Left analog, horizontal. IF pad_data < 0 THEN PRINT "Left analog: Move left" IF pad_data > 0 THEN PRINT "Left analog: Move right" CASE 1 ' Left analog, vertical. IF pad_data < 0 THEN PRINT "Left analog: Move up" IF pad_data > 0 THEN PRINT "Left analog: Move down" CASE 2 ' Right analog, horizontal. IF pad_data < 0 THEN PRINT "Right analog: Move left" IF pad_data > 0 THEN PRINT "Right analog: Move right" CASE 3 ' Right analog, vertical. IF pad_data < 0 THEN PRINT "Right analog: Move up" IF pad_data > 0 THEN PRINT "Right analog: Move down" CASE 4 ' D-pad, horizontal. IF pad_data < 0 THEN PRINT "D-pad: Move left" IF pad_data > 0 THEN PRINT "D-pad: Move right" CASE 5 ' D-pad, vertical. IF pad_data < 0 THEN PRINT "D-pad: Move up" IF pad_data > 0 THEN PRINT "D-pad: Move down" END SELECT ENDIF ' Debug info. PRINT "pad_time: " & Str$(pad_time), "pad_data: " & Str$(pad_data), "pad_type: " & Str$(pad_type), "pad_number: " & Str$(pad_number)END

:D
entre dans la conversation un certain Benoît Minisini !
Sauf erreur de ma part, il me semble qu'il est le (un des?) pilier fondateur de Gambas2.
Je voudrais demander à une âme charitable si il est bien question d'un "descr&#105;pteur" de position d'une manette de jeu analogique ( par potentiomètres sous game port de carte son)?
Et de plus, si une ou plusieurs "âmes"charitables pouvez m'indiquer si le même programme fonctionne sur une autre machine , sous UBUNTU et Gambas2 en fonctionnement classique ( hors root) celà ne fonctionne pas chez moi, et donc si vous avez des résultats ?


:drunken:


D'avance merci Papy :santa:
spheris#35 Posté le 2/12/2010 à 07:44:00
PapyBasic,
Je crains que cela ne soit pas ce que tu cherches...(potentiomètre analogique).
Par contre il est un très bon début pour comprendre le fonctionnement de récupération des états des boutons de ta manette.

La ligne importante qui te renvoi l'info sur ta manette :

1
pad_device = EXEC ["cat", "/dev/input/js0"] FOR READ AS "Gamepad"


ensuite,
pad_device est le périphérique pris en charge par GB
pad_time est le temps de l'évènement qui est déclenché par ton joystick
pad_data est l'état de ton évènement (bouton pressé, relaché, maintenu
pad_type est le type de bouton : impulsion ou poussoir.

Mais tu peux fortement t'inspirer de ce code. chez moi cela marche en USB.
;) ;)
PapyBasic#36 Posté le 27/6/2011 à 17:00:00
"Parfois l'obstination est une voie !"Vous n'allez pas le croire, il n'est pas complétement mort le Pépère, et de plus il persiste dans ces recherches farfelues !
Bonjour à toutes et à tous.

Ma question est toujours en rapport avec le joystick analogique, j'ai trouvé des lignes de codes en C.

Comment fait un béotien pour inclure une routine en C. dans un programme en Gambas 2 ?

A plus, cordialement, bonnes vacances à ceux qui en prennent ! Papy!
spheris#37 Posté le 27/6/2011 à 17:24:00
PApyBasic,
T'es t il possible de résumer ton précédent message par un schéma électronique?
cela me semblera plus parlant... :P :P
A+
;) ;)
PapyBasic#38 Posté le 27/6/2011 à 19:11:00
"Parfois l'obstination est une voie !"Salut Sphéris, après mes longs mois de silence, je constate que tu es toujours sur la brèche, merci pour tes conseils.
Ma page de site; (je maitrise en VB2 et VB5.)

http://fusee.pagesperso-orange.fr/port%20de%20jeu%20game%20port%20joystick%20mesure%20pc.htm

Je ne comprend pas la manipulation qui permet d'incorporer une image, j'ai fais un essais, j’espère que cela fonctionne.
Quand bien même, sur la carte son il y a une prise genre DB15 points. Sur la broche (1) il y a du 5 Volts.
Cette tension est appliquée aux quatre potentiomètres de 100 kilo ohms.
Les sorties attaquent respectivement les entrées (3),(6),(11) & (13).
Il est facile d'utiliser ce port comme interface analogique.
Ce n'est pas la précision qui est recherchée. Que nenni ! Non par ce biais je cherche à mettre au point un sismographe amateur à 3 composantes ( Nord/Sud) , (Est/Ouest) et verticale.
En utilisant le port jeu, il doit être possible de diminuer le coût de réalisation.
Mon but étant de permettre un accès facile et à faible coût , à une science qui parait bien obscure !
Bref je butte sur l’accès au port de jeu.
Il existe une petite routine en C.
Je ne connais pas l'astuce , si cela est possible, pour incorporer ce genre de routine, ni même les risque que courre la machine, mais bon, qui ne tente rien n'a rien.

Voilà, le débutant que je suis te remercie pour ta patience.
Cordialement Papy
PapyBasic#39 Posté le 27/6/2011 à 19:32:00
"Parfois l'obstination est une voie !"Bon, re le même, le message passe, mais pas l'image !
Je re tente le coup!
http://i45.servimg.com/u/f45/15/85/05/61/db15_g12.gif

Bon, je poste et vérifie !
Salut ! :santa:
PapyBasic#40 Posté le 22/6/2013 à 08:43:43
"Parfois l'obstination est une voie !"Bonjour à toutes et à tous,
Et bien le vieux barbu n'est pas mort ! Pire encore il s'accroche l'animal !
Alors, pour lire l'entrée analogique sur le port 15 points ( ocre jaune) il faut :
GAMBAS 2 et probablement une version plus évoluée !
Un joystick analogique ( pas celui avec la prise USB, l'autre, le vieux qui a une prise avec 15 picots qui dépassent!).
Un pingouin dans l'ordinateur, le mien porte le nom de "ubuntu 10.04 LTS Lynx Lucid"
Avoir télécharger les paquet JTEST : http://doc.ubuntu-fr.org/joystick
Et un bon cpain qui connais bien le monde de Linux, un grand merci à Laurent "Le Tigre".
Branchez le Joystick, mettre sous tension votre ordinateur en mode pingouin. ( Pas la grande fenetre obscure ! ....)
Lancez JTEST via Gambas 2
déclarer deux ou quatres variables avec DIM
DIM aaa AS Integer
DIM bbb AS Integer
Pour l'instant j'arrive à récupérer les valeurs des deux axes
aaa = Abs((i AND 1) > 0) + pos
bbb = Abs((i AND 1) > 2) + pos
A parir de ces lignes je rentre dans les suppositions car les essais ne sont pas faits !
pour les deux autres axe, je suppose qu'il faut modifier : primo les variables de récupérations exemple ccc & dddd et les déclarer si non le bigniou va planter!
Et ensuite modifier à (toujours une supposition )
ccc = Abs((i AND 3) > 0) + pos
ddd = Abs((i AND 4) > 0) + pos
Mais voilà, c'est un bon début et la chose évolue !
J'ai pas tout compris, mais pour que le programme fonctionne il faut absolument avoir une carte audio reconnue avec son port 15 points et le js0:
/dev/input/js0

Pour finir, il est donc possible de récupérer la position du joystick analogique !
Merci à Sphéris et de mémoire, le penduledargent , à Pablo et tous les autres !!!! Un GRAND GRAND MERCI !
123