{"id":27011973,"url":"https://github.com/zrafa/fatfingershell","last_synced_at":"2025-04-04T11:39:01.378Z","repository":{"id":2831096,"uuid":"3833735","full_name":"zrafa/fatfingershell","owner":"zrafa","description":"FatFingerShell is a terminal emulator for Openmoko, and other Linux phones/tablets. It provides a complete fullscreen keyboard on screen, and sound/screen/vibrator feedback. ","archived":false,"fork":false,"pushed_at":"2021-11-04T17:44:48.000Z","size":1119,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-23T02:05:36.535Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://fz.hobby-site.org/om/fatfingershell/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zrafa.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-03-26T14:44:21.000Z","updated_at":"2021-11-04T17:44:50.000Z","dependencies_parsed_at":"2022-08-26T06:21:35.491Z","dependency_job_id":null,"html_url":"https://github.com/zrafa/fatfingershell","commit_stats":null,"previous_names":[],"tags_count":2,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrafa%2Ffatfingershell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrafa%2Ffatfingershell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrafa%2Ffatfingershell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zrafa%2Ffatfingershell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zrafa","download_url":"https://codeload.github.com/zrafa/fatfingershell/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247173838,"owners_count":20896070,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-04T11:39:00.679Z","updated_at":"2025-04-04T11:39:01.367Z","avatar_url":"https://github.com/zrafa.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"FatFingerShell virtual terminal\n===============================\n\nFatFingerShell is a terminal emulator for tablets, phones and\nother Linux devices with just touchscreen.\n\n2009-2012 - Rafael Ignacio Zurita \u003crafaelignacio.zurita at gmail.com\u003e\n\n  FatFingerShell is free software; you can redistribute it and/or modify\n  it under the terms of the GNU General Public License as published by\n  the Free Software Foundation; either version 2 of the License, or\n  (at your option) any later version.\n\nCheck how it looks at : \n\n[![Alt text](https://img.youtube.com/vi/9qR4FETGzkA/0.jpg)](https://www.youtube.com/watch?v=9qR4FETGzkA)\n\n\nFeatures\n--------\n\nFeatures include :\n\n  - full on screen keyboard\n  - big keys\n  - sound, screen and vibration feedback\n  - color settings for layers\n  - configuration files for keyboard layouts\n  - scroll\n  - most used shell/vi keys are on the first layout\n\nIt is possible to set colors and transparency, set new keyboard layouts\n(hard yet) and replace the sounds.\n\nThe fullscreen keyboard aims to be useful for bash, vi and common console\ntools, like top, mocp, mplayer, mc, GNU tools, etc. The idea is to be\ncomfortable for fat fingers on devices without a real keyboard.\n\nAlso, having easy-to-use scripts for calling or sms, would do fatfingershell\nuseful for all the phone functions device provides.\n\n\n\nHow to install and test\n=======================\n\t\t\t\nBuilding from sources\n---------------------\n\ncd src/\nmake\n\n\nInstall on PC\n-------------\n\ncopy fatfingershell binary to /usr/bin/ or your prefered bin directory.\ncopy fonts/* share/\ncopy share/ directory whereever you want\n\nRun fatfingershell with :\nfatfingershell -d share/ -e /bin/bash\n\n\nInstall on Openmoko Freerunner\n------------------------------\n\nopkg install http://fz.hobby-site.org/om/fatfingershell/fatfingershell_0.2_armv4t.ipk\n\nJust tap in the fatfingershell icon. Or run /usr/bin/fatfingershell.sh\n\nFor exit, just exit the shell (whit the shell command \"exit\" or CTRL+D for example).\nFn key changes the keyboard layout.\nCTRL+, and CTRL+. to do scroll up/down.\n\n\nRunning on console of Freerunner\n--------------------------------\n\ncd /var/gamerunner/usr/share/fatfingershell\n\nexport SDL_VIDEODRIVER=fbcon\nexport SDL_VIDEO_FBCON_ROTATION=CCW\n\n/var/gamerunner/usr/bin/fatfingershell -e /bin/bash\n\nRunning on X\n------------\n\n\nSound and Vibration\n-------------------\n\nTo disable vibration, modify /usr/bin/fatfingershell.sh and remove the -v argument.\n\nIf you want sound, modify /usr/bin/fatfingershell.sh and add the -s argument.\n\nIf you have problems with sound, try to kill other applications\nusing the sound device (check with lsof -n | egrep \"dsp|snd\"). \nMaybe you need to load the oss emulation module as well. You can do that with:\nmodprobe snd_pcm_oss ; modprobe snd_mixer_oss\n\n\nSome Tips, or if there are problems\n-----------------------------------\n\nIn some distributions, ncurses apps do not look well (top, mc, mocp)\nwith fatfingershell. You need to set TERM=vt100. From fatfingershell you can\nrun :\nexport TERM=vt100\nor add \"export TERM=vt100\" into ~/.bashrc, or in your specific shell rc file.\n\nYou also would like to set utf8 as locale (if you see ugly frames,\nor weird locations for labels in ncurses apps). Check LC_ALL. Maybe you need\nto run :\nexport LC_ALL=utf-8\n\nIf you are a really good geek, you would like install bash as well, and then,\nset -o vi :-)\n\nIf you want to test other configured colors :\n- replace colors.cfg with colors.cfg.example2 \n- edit fatfingershell.sh : replace the \"./fatfingershell -e bash\" with\n  ./fatfingershell -d -e bash\nor just edit colors.cfg and set your prefered colors.\n\n\nConfiguration\n=============\n\nThis fat finger shell has several configuration files.\n\nkeyboard.cfg and keyboard2.cfg \n------------------------------\n\nThese files are very similar, and both of them set\nthe location on screen of every key.\n\nThe format is:\n\nx1 y1 x2 y2 key capital-key sound-number\n\nThe idea is this:\nx1, y1, x2 and y2 are the two coordinates of the key, so if you want\nto modify the layout you can use gimp to modify the bitmap and then\nyou need to modify these keyboard.cfg and keyboard1.cfg configuration\nfiles.\n\nkey and capital-key are the symbols for the pressed key. These symbols are\nsent to shell. For example \"e E\". capital-key is the SHIF+key or CAPS-LOCK+key.\n\nsound-number is a sound for the key pressed/released. There are four\nsounds. If you check the original configuration files the sounds are\ndifferents for neighbor keys. so you can recognize if you press the proper\nkey or not. Of course, you need to listen for a while the different sounds\nfor every key.\n\n\ncolors.cfg\n----------\n\nThis configuration file set the colors for the middle layer and uppermost\nlayer (font).\n\nThe file has two lines. Each line has four values (integer 0-255). Format:\n\nred-value green-value blue-value tranparency\nred-value green-value blue-value tranparency\n\n\nThe first line is for the middle layer. The second line is for the uppermost\nlayer (font).\n\nExamples:\n\n0 0 0 100\n26 160 26 255\n(green font, dark gray middle layer. Nice contrast with default background \nkeyboard layout.)\n\n228 223 145 200\n0 0 0 255\n(black font, beige middle layer. Nice contrast with black\u0026white background\nkeyboard layout.)\n\n\nKeyboard layout\n---------------\n\nThere are two background keyboard layouts to choose. The layouts are identical\nbut the default uses gray\u0026black colors and the second one black\u0026white.\n\nIf you want to use black\u0026white use the \"-d\" command line argument for the binary.\n\n\nTODO (and bugs to fix)\n======================\n\n- Arrow keys\n- Avoid \"export TERM=vt100\"\n- Add an option to choose the terminal size (80x24, 90x30, etc)\n- Write tiny and cool scripts to do, from shell, calls/sms, etc.\n\n\nSource Code\n===========\n\nhttps://github.com/zrafa/fatfingershell\n\n\nNotes\n=====\n\nThis software uses the source code of :\n- xvt\n- SDL_terminal\n\nAnd the next libraries : \n- SDL\n- SDL_Mixer\n- SDL_ttf\n- SDL_image\n- util\n\nThe original libSDL_terminal was modified. Commented the \"ttfwasinit()\" call\nbecause it gives an exception float when running.\n\n\n\n\nModificado\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzrafa%2Ffatfingershell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzrafa%2Ffatfingershell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzrafa%2Ffatfingershell/lists"}