Git Product home page Git Product logo

hackerskeyboard's People

Contributors

bjbeare avatar dmitriplotnikov avatar dsandler avatar jham avatar jmtrivi avatar klausw avatar kristianmonsen avatar kruton avatar leonscroggins avatar roubert avatar satok16 avatar tgtakaoka avatar wangying1015 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

hackerskeyboard's Issues

Option to ignore physical keyboard

I have a droid pro, and would love to use this keyboard.  However, when in 
landscape mode it doesn't even come up, probably because it detects the 
physical keyboard is open (permanently).  Can you add a setting to ignore the 
status of the physical keyboard when in landscape mode?

Original issue reported on code.google.com by [email protected] on 14 Jun 2011 at 8:32

Make launcher icon removeable

Once the keyboard installation is finished, it's not really necessary to have a 
persistent launcher icon.

Look into adding a button to give users the option of removing it. Cf. 
http://stackoverflow.com/questions/5659118/allow-a-user-to-remove-app-icon-from-
launcher

Original issue reported on code.google.com by [email protected] on 25 May 2011 at 5:08

Autocomplete upcases words for shifted punctuation

What steps will reproduce the problem?
1. Turn on auto-complete (on space or punctuation)
2. Type "A test?"

What is the expected output? What do you see instead?
This should produce "A test?". The actual result is "A Test?" with "test" 
uppercased.

Looks like this is a side effect of the apparent feature that typing 
"test<Shift>space" will produce "Test", and this is getting triggered 
inappropriately when typing punctuation such as "?" on the shifted keymap. It 
works correctly for ".".

Original issue reported on code.google.com by [email protected] on 28 May 2011 at 8:18

Alter shift-lock behavior at beginning of sentence

What steps will reproduce the problem?
1. Shift once altera keys, twice is lock.
2. Keyboard auto-shifts afer punctuation, for implicit new sentence
3. Shift to-unshift when entering acronyms or other mixed-punctuation and text 
takes many more shifts than expected/desired due to lock-mode.

What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?
Android 3.0.1

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 29 Jun 2011 at 10:49

  • Merged into: #83

No switch to Russian language on space swipe

What steps will reproduce the problem?
1. Enable hacker's keyboard in settings
2. in "Input languages" check "English(United States)" and "Russian"
3. Open app with text input field(e.g. browser)
4. Long press to select hacker's keyboard
5. Observe that 'space' offers swiping to change language
6. Swipe it, text on virtual space key changes to "Русский"(aka Russian)
7. Rest of the keyboard and input stays in english

What is the expected output? What do you see instead?
Keyboard should change to russian keys input. All letters input stays english, 
though virtual space key says "Russian".

What version of the product are you using? On what operating system?
version is 1.11, htc desire hd(ace), running cm7 nightly #80.

Please provide any additional information below.
Great keyboard, thanks for working on it!

Original issue reported on code.google.com by [email protected] on 21 May 2011 at 7:50

Touch-to-correct inserts instead of replacing

(reported in a Market review)

What steps will reproduce the problem?
1. Turn on "Touch to correct" in options
2. Type "Th is a tes"
3. Touch the misspelled words to correct them to "This" and "test"

What is the expected output? What do you see instead?
On some systems, the correction is inserted instead of replacing the typed word.

Appears to work correctly on Xoom (Honeycomb) and Nexus S (Gingerbread), 
possibly an issue on Froyo systems only?

Original issue reported on code.google.com by [email protected] on 28 May 2011 at 8:13

Source for v1.20?

There doesn't seem to be source for version v1.20 in the repo - it stops at 
v1.19.

Original issue reported on code.google.com by [email protected] on 1 Jul 2011 at 8:01

Add Dvorak Support

The latest version doesn't have support for the Dvorak keyboard layout, and I 
don't see plans mentioned.
Apologies if this is the wrong place for this, but I don't see a right one.
Attached is a donottranslate-keymap.xml for Dvorak, which uses the same 
alternates xml as QWERTY.

Original issue reported on code.google.com by Mallegonian on 10 Jun 2011 at 5:18

Attachments:

Unable to install o Xoom Wifi (Country restrictions)

I have installed it on my Nexus One and I have no problem with the country 
restrictions (I live on Venezuela), but on my new Xoom, Market says it can not 
be installed because of the country. I am not sure how Market do country 
validation on a Wifi only device, IP address maybe, but should not be the 
keyboard available for all regions? or it is published not region locked and I 
need to report this problem as a Market bug?

Original issue reported on code.google.com by [email protected] on 30 Jun 2011 at 2:38

Add Slavic characters

The only thing missing on this otherwise awesome product are Slavic characters 
(čšžđ). Please consider adding those, they should be available by 
long-pressing cszd.

Original issue reported on code.google.com by [email protected] on 22 May 2011 at 7:18

Turkish uppercase "i" and lowercase "I"?

From Market review: 

I have found the turkish layout everything works perfectly but turkish 
uppercase "i" and lowercase "I" chars are missing. Please fix. Thanks.

Original issue reported on code.google.com by [email protected] on 11 Jun 2011 at 6:47

"Standard" keyboard rendered too small in portrait mode

What steps will reproduce the problem?
1. Open keyboard in portrait mode on phone with resolution of 800 x 480
2.
3.

What is the expected output? What do you see instead? Expected output is the 
keyboard displayed like the regular Gingerbread keyboard  Instead you see a 
compressed keyboard (screenshots from LG Optimus 2X running Android 2.2)


What version of the product are you using? On what operating system?
1.11 - tried on LG Optimus 2X on Android 2.2. Also tried on ZTE Blade running 
Android 2.3 (Cyanogenmod 7).

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 24 May 2011 at 3:09

Attachments:

Shift applied to next digit (producing a symbol) after a single capital letter

What steps will reproduce the problem?
1. Press Shift once
2. Type any letter
3. Then, type any number.

What is the expected output? What do you see instead?
You should get the number you pressed, but instead you'll get the symbol that 
shares the key.

What version of the product are you using? On what operating system?
1.13 from the Market, on 2.2.2 (Froyo) on Motorola Droid X2

Please provide any additional information below.
This issue makes typing passwords that contain both digits and symbols 
extremely frustrating.

Original issue reported on code.google.com by [email protected] on 3 Jun 2011 at 4:33

  • Merged into: #24

Shift causes next number to be entered as shift+number

What steps will reproduce the problem?
1. Enter text in a text-entry field, such as in the (Google) "Search" app, the 
location bar of the browser, or ConnectBot's public key passphrase entry field.

2. Try typing a mixed-case word, such as "Pa55word". Use one finger. Press: 
[shift] p a 5 5 w o r d

3. The shift turns off after the "p" is entered as "P", and "a" is lowercase as 
expected. However, the first "5" becomes "%".


What is the expected output? What do you see instead?

Expected: Pa55word
Resulting: Pa%5word


What version of the product are you using? On what operating system?

Hacker's Keyboard v.1.13, on CyanogenMod 7.0.3, on Nook Color.


Please provide any additional information below.

Not all text entry fields do this. For instance, Jota Text Editor doesn't, nor 
do some text entry fields in web forms. Nearly all password entry fields do, 
however.

Original issue reported on code.google.com by [email protected] on 2 Jun 2011 at 11:00

Incorrect layout for sv_SE

What steps will reproduce the problem?
1. Add Svenska (Swedish) [sv_SE] and Soumi (Finnish) [fi_FI] as input languages.
2. Toggle between the two layouts.

What is the expected output? What do you see instead?
Finnish and Swedish keyboard layouts basically look the same. On Hacker's 
Keyboard the Swedish layout instead seems to be default English layout.


What version of the product are you using? On what operating system?
Hacker's keyboard v1.20 on Android 3.1


Please provide any additional information below.
Could easily be solved by copying the Finnish layout to the Swedish profile.

Original issue reported on code.google.com by [email protected] on 30 Jun 2011 at 1:16

French canada using wrong keyboard layout

What steps will reproduce the problem?
1. Activate French (Canada) localisation
2. Switch layout

French (Canada) should be using the QWERTY and not AZERTY.

I'm using version 1.15 (latest from Market) on HTC Desire (Android 2.2)

French Canada have 2 possible layout: Canadian French or Canadian Multilingual 
Standard. I was happy before the localisation happened (in version 1.13 I 
think). I was using it to disable the auto-complete.

AZERTY is used in France and Belgium but not in Canada.

Original issue reported on code.google.com by [email protected] on 11 Jun 2011 at 11:59

  • Merged into: #28

Enable Russian (and other languages) on Xoom?

The Xoom only shows English and Spanish in the system languages, but does 
appear to have Unicode fonts including Russian available.

Investigate if it's possible to activate keyboards for other languages even 
though they aren't officially supported system languages.

Original issue reported on code.google.com by [email protected] on 28 May 2011 at 6:29

azerty not working in landscape

What steps will reproduce the problem?
1.
2.
3.

What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?


Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 6 Jun 2011 at 7:01

Row of special characters spaced too closely

What steps will reproduce the problem?
1. Use Hacker's keyboard on a Nook Color with CyanogenMod 7.

What is the expected output? What do you see instead?

In portrait mode, the Android keyboard displays a row of special characters in 
orange: ! ? , " ' : and so on. This row is spaced out to be as wide as portrait 
mode (or that's a coincidence, but it is useful).

Hacker's keyboard spaces these characters more closely together. This is 
probably related to issue 26, and the 169 DPI of this device.

What version of the product are you using? On what operating system?

Hacker's Keyboard v1.18 on CyanogenMod 7, on Nook Color.

Please provide any additional information below.

The new scaling option has no effect, but I don't think it should change the 
font size. See the attached, showing Android Keyboard and Hacker's Keyboard in 
two different scales.

Original issue reported on code.google.com by [email protected] on 14 Jun 2011 at 8:11

Attachments:

Plugin dictionaries not recognized after restart

What steps will reproduce the problem?
1. Install a dictionary package and activate the language
2. Reboot the phone
3. Type text

What is the expected output? What do you see instead?
According to the reporter, the dictionary isn't active.

I think I know what's going on here, I'll look into a code fix. In the 
meantime, try either of these workarounds:

- launch the "Hacker's Keyboard" main activity (the one with the input method 
configuration buttons and help text) from the Launcher
- if that doesn't work, install or deinstall any package (doesn't need to be 
keyboard related) to trigger a rescan for available dictionaries.

Original issue reported on code.google.com by [email protected] on 9 Jun 2011 at 5:48

Azerty only in Portrait mode (not landscape)

What steps will reproduce the problem?
1. Just choose French Azerty keyboard
2.
3.

What is the expected output? What do you see instead?

Qwerty in landscape mode not Azerty

What version of the product are you using? On what operating system?

1.12 and 1.13

Please provide any additional information below.
My mail : [email protected]
Thank you !


Original issue reported on code.google.com by [email protected] on 31 May 2011 at 6:19

Typing suggestions much worse than android default keyboard.

What steps will reproduce the problem?
1. Regular typing on landscape or portrait with typing suggestions on.
2.
3.

What is the expected output? What do you see instead?
-> Since the description says (and the keyboard looks like) it borrows a lot 
from the default android keyboard source, I was expecting the prediction / 
typing suggestions to be the same (or perhaps better) than the default.  This 
is not so.  Also, on the default keyboard, typing two spaces in a row inserts a 
period and a space -a very handy feature- while this keyboard does not do that.

What version of the product are you using? On what operating system?
-> Hacker's Keyboard v1.11 (latest version in market as of 2011/may/24.  
Android 2.3.4 on a Nexus S.

Please provide any additional information below.
-> Hmm. I am relatively new to android and jumped in at 2.3 .. Maybe the 
original keyboard source for Hacker's Keyboard came from a 2.2 and that is why 
I notice these differences? 

Anyway, good effort for sure.  Just trying to pitch in my 2c in return for your 
hard work.

Original issue reported on code.google.com by [email protected] on 24 May 2011 at 8:29

Vibrate on keypress doesn't work on some phones

Reported for:

Vibrant with Teamwhiskey BionixV
Samsung Captivate

(This is assuming that the "vibrate on keypress" option is switched on in the 
keyboard's settings. This is off by default.)

It may be caused by a too-short vibrate time interval. Does it never vibrate, 
or is it inconsistent?

Original issue reported on code.google.com by [email protected] on 26 May 2011 at 2:08

Softkeys on Archos 101 overlap keyboard

The Archos 101 has soft keys shown on the right part of the display. The 
keyboard assumes having the full display width available, so it's partially 
covered by the softkeys.

Original issue reported on code.google.com by [email protected] on 25 May 2011 at 7:38

Any chance for Japanese support?

What steps will reproduce the problem?
1. Switch language to Japanese
2.
3.

What is the expected output? What do you see instead?
Japanese keyboard layout and word prediction, Kanji support

What version of the product are you using? On what operating system?
None yet, Android 2.2. 2.3, 3.0, 3.0.1

Please provide any additional information below.
Would be great if the keyboard would support Japanese layout, Kanji input, word 
prediction like the smartkeyboard. Would pay for this, as the 5 rows with 
number keys is great!

Original issue reported on code.google.com by [email protected] on 22 Jun 2011 at 6:21

[PATCH] Compose key support

This adds support for a compose key via a long press of the dpad centre button 
(✓). The compose strings are adapted from X.org, with dead-key and non-Latin 
combinations removed (for testing reasons, as much as anything); but still 
there are ‘quite a few’ combinations.

It may make sense to put the compose sequences in a separate file; this is 
essentially a proof-of-concept patch.

Original issue reported on code.google.com by [email protected] on 18 Jun 2011 at 12:13

Attachments:

Change keys based on input field types?

Currently, the full keyboard uses a static keymap. It would be useful to change 
the layout based on the current input field type, for example showing 
.com/smiley/microphone instead of Ctrl/Esc/Alt for web/IM input fields.

This needs testing to ensure that programs such as terminal emulators and 
VNC/remote desktop clients set the input types appropriately.

Original issue reported on code.google.com by [email protected] on 31 May 2011 at 10:38

Support customizable key layouts?

It would be useful if users could customize the key layout, for example 
switching keys around or modifying the contents of the popup mini keyboards.

This is a bit tricky since the current XML-based keyboard definitions aren't 
really designed to be modified at runtime, they are compiled into static 
resources and saved in the APK at build time, and they have some 
interdependencies including indirections pointing to separate string resources. 
See for example: 
http://code.google.com/p/hackerskeyboard/source/browse/java/res/xml/kbd_full.xml

Also, there needs to be a way to save or load modified layouts, but I don't 
want to add Internet access permission for the keyboard, and would prefer not 
to have to use SD card access permission. I'm thinking about some other 
alternatives to handle this.

Original issue reported on code.google.com by [email protected] on 26 May 2011 at 1:58

Font size of keys too small

What steps will reproduce the problem?
1. Use Hacker's keyboard on an HD tablet.

What is the expected output? What do you see instead?

All characters on keys are much smaller than the true gingerbread keyboard. 
Main characters printed on the keys are 25 of the size of the key. Special 
characters like the "1" above Q (in Gingerbread mode) or the "@" above 2, are 
5% the size of the key. Main keys are readable but small. The special 
characters are practically unreadable.

What version of the product are you using? On what operating system?

v.1.14rc4 (shift key fix), on Nook Color with Cyanogenmod 7.0.3.

Please provide any additional information below.

This is probably just an issue moving to tablet/HD screen sizes. The true 
gingerbread keyboard is nicely sized. I would be happy with a "key font size" 
or "key font size percent" configuration option.

Original issue reported on code.google.com by [email protected] on 6 Jun 2011 at 5:30

Default Language / Always reverting to Arabic language

I currently have an ASUS Transformer running Honeycomb 3.1. The issue only 
started since the recent update v1.15. 

I have it setup to use Arabic and English (US) as the input language. Now, 
every time I launch an app that requires entry, it reverts to Arabic as the 
main language and I would have to switch to English to type. It would stay with 
English as the language within the same app. When I launch another app, it 
reverts back to Arabic. Take a scenario, I open Browser and start to type an 
URL, it will show up first in Arabic. I switched it to English. It will stay 
English until I go open Google Talk. The keyboard will again revert back to 
Arabic. 

What I view as normal is to remember my last entry/choice for language 
regardless of App.

I have not tried it with other languages but this is the case with Arabic. 

Thank you!

Original issue reported on code.google.com by [email protected] on 18 Jun 2011 at 5:42

Canadian french keyboard is wrong layout

What steps will reproduce the problem?
1. Selecting the Canadian French keyboard 

What is the expected output? What do you see instead?
Keyboard layout should be qwerty but shows azerty

What version of the product are you using? On what operating system?
Using version 1.2 (june 8 2011)
Moto Xoom using stock android 3.0.1

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 9 Jun 2011 at 12:44

Strange Behavior with AndChat

What steps will reproduce the problem?
1. install AndChat, IRC client for Android
2. connect to an IRC server (any will do)
3. Use the Hacker's Keyboard while in AndChat and 

What is the expected output? What do you see instead?
After sending a few messages, each of which causes the keyboard to open, and 
then close once sent, periodically, the input line will not display text as you 
type, yet the text will be processed by AndChat and can be sent.  Switching 
orientation of the device will keep the current input but will reset the box's 
functionality.  This issue appears to be isolated to the hacker's keyboard and 
not AndChat but I can contact the developer of that app as well.

What version of the product are you using? On what operating system?
Latest (1.17 I think) on Android 2.2.2

Please provide any additional information below.
The behavior does consistently happen but it is not an immediate issue.  
Several lines of text or commands must be submitted and the keyboard opened and 
closed.  After all that, it will suddenly stop displaying the text, almost as 
though the text buffer and the display of that buffer are disconnected.

Original issue reported on code.google.com by [email protected] on 20 Jun 2011 at 7:20

Missing autocompletion french dictionnary

What steps will reproduce the problem?
1. Choose French keyboard
2. No auto-completion
3.

What is the expected output? What do you see instead?

Auto-completion in internal/external dictionary 

What version of the product are you using? On what operating system?

1.12 and 1.13

Please provide any additional information below.
my mail : [email protected]
Thank you !


Original issue reported on code.google.com by [email protected] on 31 May 2011 at 6:21

Make a minimal-permissions version?

Currently, the "Hacker's Keyboard" application requests the permissions needed 
by the underlying Gingerbread keyboard, which uses the contacts information for 
completion of names and email addresses, and audio recording for the voice 
input feature.

If you're interested in using Hacker's Keyboard, but don't want to install it 
due to the permissions it asks for, please star this bug. If there's sufficient 
interest, I'll look into making an alternate build with the code needing these 
permissions disabled. It should be doable but is a fair amount of work, and 
makes it more difficult to publish new releases due to the duplication involved.

Original issue reported on code.google.com by [email protected] on 20 May 2011 at 10:20

Source code

Will the source code of this very nice looking keyboard be available?


Original issue reported on code.google.com by [email protected] on 24 May 2011 at 1:01

Support ConnectBot workarounds for other ssh/VNC style applications?

The keyboard has special handling as a workaround for ConnectBot's inability to 
recognize the key events for special keys, it sends escape sequences for keys 
such as PageUp/PageDown and F1-F12.

This workaround is currently only active specifically for the "org.connectbot" 
package: https://market.android.com/details?id=org.connectbot, as reported by 
the EditorInfo data: 
http://developer.android.com/reference/android/view/inputmethod/EditorInfo.html

Arguably, the correct fix would be for the ssh application to send the right 
sequences when it gets the corresponding key events such as KEYCODE_F1, since 
that would also make the application work correctly for hardware keyboard 
input. Also, sending the escape sequences isn't likely to work right for VNC / 
remote desktop style applications since those generally expect to handle true 
key events as distinct units.

Open issues:

- is there a compatible way to tell that the input view should be treated as a 
shell window? As far as I can tell this isn't possible without cooperation from 
the application, since the standard edit view types don't include a type for 
that.

- we could define an EditorInfo.privateImeOptions string that applications 
could set to request shell window handling, but that would require a change to 
the ssh application(s), and if they are getting changed anyway they should add 
code to handle the extra keys directly.

- add a method for the user to tell the keyboard that it should activate this 
workaround for specific applications? For example the Irssi version of 
ConnnectBot. This would be nice in combination with a more general app-specific 
configuration override system.

Original issue reported on code.google.com by [email protected] on 15 Jun 2011 at 8:19

French layout, shift state: incorrect characters

What steps will reproduce the problem?
1.Press right shift. Last row is WXCVBN?./§. This is correct.
2.But on normal (unshiftted) state, you have wxcvbn (,?) (; x) (: /) (! §)
displayed. This is bad. Should have wxcvbn (, ?) (; .) (: /) (! §)
3. So if I long press on the (; .) key, it should at least present me with the 
dot (.) instead of currently the (x). Also currently after the x there is a 
kind of dot (.) but this is not a right dot to end a phrase, but a dot with 
upper height.

What version of the product are you using? On what operating system? version 
1.20 under Cyanogenmod 7.03.





Original issue reported on code.google.com by [email protected] on 2 Jul 2011 at 2:45

Keyboard layout rendering glitches at small sizes

What steps will reproduce the problem?
1. Set "height in landscape" to 35 or 40 percent on a phone.
2. Use the keyboard.

What is the expected output? What do you see instead?

The keys are drawn with a horizontal line through the bottom, and some symbols 
such as Tab and the vertical arrows are too big and extend beyond the key area.

The keyboard still works normally, so this is just a rendering glitch, but it 
looks odd. Of course it's arguable if such small sizes are still useful on a 
phone, but if it works for nimble-fingered users it would be nice if it looked 
as expected.

Original issue reported on code.google.com by [email protected] on 21 May 2011 at 11:02

Option to disable ^A

What steps will reproduce the problem?
1. Type text, occassionally hit old-fashioned position Ctrl & A together, and 
clobber partial word.
2. Become annoyed.

What is the expected output? What do you see instead?
Just an "a"

What version of the product are you using? On what operating system?
Android 3.0.1

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 29 Jun 2011 at 10:45

rename the IME

please rename the IME to let it life along with the standard 'android keyboard'

Original issue reported on code.google.com by [email protected] on 20 May 2011 at 6:09

esc key not working in terminal emulation via logmein

What steps will reproduce the problem?
1. connect to a pc using logmein ignition
2. telnet from the pc to a linux box
3. hit the esc key and it doesn't work as expected

What is the expected output? What do you see instead?

I'm in bash with '-o vi' enabled.
I should be able to use esc to see my command history - 'esc -' takes me to the 
previous entry for example. Also when editing a command esc should take me out 
of input mode.


What version of the product are you using? On what operating system?

Not at all obvious how to find out what version I'm running - I just spent a 
few minutes looking for this info and got nowhere. Anyway, I downloaded it from 
android market today (1st July 2011), so presumably it's the latest. Running on 
Android 2.3.3 on HTC Desire S S510e

Please provide any additional information below.

Luckily I can use the esc key in logmein's own 'function key' keyboard, so I 
can get somewhere, but this is not ideal (fiddly).
I you could fix this issue hackerskeyboard would be the ideal solution for me. 
The standard google keyboard is absolutely useless for this, so you're already 
a huge improvement!


Original issue reported on code.google.com by [email protected] on 1 Jul 2011 at 8:45

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.